Автор Тема: Убрать все лишнее,уменьшить количество запросов и обьем потребляемой памяти  (Прочитано 1091 раз)

09 Января 2014, 10:01:56
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Задача сделать просто каталог
Что сделано: режим каталога включен-но цены вытащил и показал и в сравнениии то же, крючки отцепил, оставил только 15 модулей-остальные удалил через админку. /настройки кеширования ,параллелизации не вопрос оставим это/Но чего то не вижу я особенного уменьшения объема памяти.Вопрос где что лопатить по конкретнее хотя бы на одном чем то. Вопрос возврата функционала не актуален.
09 Января 2014, 13:18:41
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22213
  • Репутация: +17111/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Удалять систему hooks не нужно. Можно просто не использовать.

Чтобы уменьшить количество запросов и увеличить скорость нужно.
1. Использовать кеширование.
2. Удалить все лишние из файлов темы: комментарии, css, js.
3. Оптимизировать графику
4. Использовать сжатие
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
09 Января 2014, 13:52:18
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33028
  • Репутация: +26761/-0
    • Просмотр профиля
Для того чтобы оптимизировать prestashop, нужно знать конкретные условия. Одни и те-же функции могут работать по разному.
Так например, prestashop советует включать ККК (Комбинирование, Компрессия и Кэширование). И все начинают активировать эту функцию. Но это не дает прироста скорости, наоборот может замедлить работу сайта.
У меня есть проект где отключение ККК дало прирост скорости в 30%, а время загрузки уменьшилось на 20%.
Прежде чем что-то делать, нужно знать как это работает. Theoretical css grouping on site web.

Dispatcher::getInstance()->dispatch();76ms
require_once(dirname(__FILE__).'/smarty.config.inc.php'); 13ms
Context::getContext()->shop = Shop::initialize();11ms
Shop::setContext(Shop::CONTEXT_SHOP, Context::getContext()->shop->id);3ms
Configuration::loadConfiguration();3ms
Остальные5ms

К тому что посоветывали, добавить можно:
1. Отключить внутреннюю статистику.
2. Регулярно чистить бд. Хранить данные на своем пк, а не на сайте.
09 Января 2014, 15:43:19
Ответ #3
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Наверно я неправильно формулирую вопрос , извините попробую еще раз
Давайте оставим всю оптимизацию кеширования, объединять не объединять в покое. Все сделано на дефолтном шаблоне,вся графика я имею виду свою в svg  и анимация за счет  подключения одной библиотеке, все img что в меню, в сладерах и так далее ну еще кое где- fontawesom, + всякая там анимация на CSS, то есть я за это не переживаю  , все что можно со стороны админики отключено удалено языки страны модули, фото оставил  4 размера. Но как уменьшить память оно как торчало на 23мв так и стоит
09 Января 2014, 16:34:08
Ответ #4
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86326
  • Репутация: +25417/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Минимальные требования для prestashop 64Mb.
Данные по использованию памяти (тестирование с дефолтными установками, минимум модулей):
Hook processing: 3.95s / 12.81 Mb
    displayHeader: 2.398s / 4.51 Mb
    displayTop: 794ms / 4.75 Mb
    displayHome: 259ms / 1.03 Mb
    moduleRoutes: 201ms / 1.02 Mb
    displayFooter: 191ms / 0.22 Mb
    displayRightColumn: 105ms / 1.28 Mb
    displayLeftColumn: 3ms / 0.01 Mb
    DisplayOverrideTemplate: 0ms / 0 Mb
    displayMyAccountBlock: 0ms / 0 Mb
    actionDispatcher: 0ms / 0 Mb
    actionFrontControllerSetMedia: 0ms / 0 Mb

Memory peak usage: 26.89 Mb
    config: 9.14 Mb
    constructor: 0 Mb
    init: 4.76 Mb
    checkAccess: 0 Mb
    setMedia: 0 Mb
    postProcess: 0 Mb
    initHeader: 0.01 Mb
    initContent: 11.6 Mb
    initFooter: 0.24 Mb
    display: 0.44 Mb

Total cache size (in Cache class): 0.46 Mb
Минимум памяти, без кеширования примерно 40Mb.

Уменьшить можно за счет:
- отключения в displayHeader авто определения и загрузки css, js файлов.
- в шаблоне displayTop заменить кодом, не подключать модули этим хуком
- отключить чпу
можно снизить до 20Mb.

Чтобы еще уменьшить нужно переделать методы config, initContent, init.
Только это будет уже не prestashop. В этом случае лучше использовать framework для написания своего движка.

09 Января 2014, 16:51:04
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33028
  • Репутация: +26761/-0
    • Просмотр профиля
Проверял на своем сервере
Prestashop 1.5.4
Товаров 1500
Категорий 40
Модуль blocklayered отключен. Много жрет.
memcached (с этим осторожно, так как на другом сайте отключении дало прирост скорости в 5 раз!!!)
Все лишинии модули удалены, шаблоны темы оптимизированы, css и js тоже.
Hook processing: 2.5s / 8.7 Mb
Memory peak usage: 13.2 Mb
09 Января 2014, 17:31:02
Ответ #6
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля

Минимум памяти, без кеширования примерно 40Mb.
Наверное так оно и есть я провярять стал уже после отключения, то есть минимума стандартными средствами уже достигнуто.Спасибо.Не хочется мусолить одно и то же я смотрю отвечали модераторы так что закроете тему/ и все таки при отстройки кеширования , подбора и настройки сервака 50000 товаров ну и где нибудь при 1000 посещаемости это реальность или утопия
09 Января 2014, 17:44:07
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 13629
  • Репутация: +14563/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Теоритически уменьшить можно и до 16мб, но работать будет медлено.
Минимум 64мб расчитан по скорость/потребление.
Уменьшение памяти скажется на скорости сайта.
Для 50000 / 1000 не реально будет сделать.