Автор Тема: Странно работает кэш  (Прочитано 1066 раз)

16 Ноябрь 2013, 01:01:33
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте

PrestaShop 1.5.4

при вкл. кэша memcached сайт дольше работает, ПОЧЕМУ? у меня большая база товара около 30000 и будет больше, т.е. много запросов которых нужно клишировать, посоветуйте какой и как использовать кэш, что бы было не ускорение не байткода а именно с работай БД, ну или оба сразу.
16 Ноябрь 2013, 14:36:11
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Зависит от настройки сервера.
Цитировать
memcached - высокопроизводительная система кэширования объектов в оперативной памяти.
схема работы memcached проста:
- memcached работает в виде демона и умеет хранить в выделенном для него объеме оперативной памяти некий массив данных в виде набора пар "ключ - объект";
- клиентская часть, например, скрипт на веб-сервере обращается за данными к memcached и при их наличии начинает с ними работать, не выполняя более ресурсоемких запросов (например, к базе данных);
- при отсутствии данных в кэше, делается основной запрос, например, к базе;
- полученные данные обрабатываются клиентской частью и заносятся в кэш memcached для последующей работы с ними. 
По моему, применять кэширование стоит только на высоконагруженных ресурсах. Нужно учитывать, что подключение к серверу Memcached, это дополнительное время. Также не стоит забывать о расходовании памяти. Чем больше данных для кеширования, тем больше должно быть оперативки.
Есть еще недостаток. Например, у сайта сотни запросов в секунду. Если во время генерации кэшируемого объекта поступает ещё один запрос, то мы этот объект генерим два раза.
Выход только один, нужно проверять на практике работу сайта.
17 Ноябрь 2013, 13:41:39
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Данные теста до и после какие?
17 Ноябрь 2013, 21:07:56
Ответ #3
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Данные теста до и после какие?

если сравнивать с http://developers.google.com/speed

без кеша 72/100

с кешом 62/100

для ПК
18 Ноябрь 2013, 12:07:07
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Тестировать нужно работу кэширования. Для этого использовать простой таск, который будет в цикле выполнять однотипные запросы, но со случайными параметрами. Сделать проверку на мемкешед перед кешированием. Протестировать несколько запусков, сравнить скорость выполнения теста с первого запуска с последним и состояние memcached.

А так вы измеряете общую работу сайта. Замедлять работу могу ошибки, которые увеличиваются с каждым новым запуском страницы, накапливаться в кеше, на обработку этих ошибок и будет расходоваться дополнительное время.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
19 Ноябрь 2013, 13:36:40
Ответ #5
  • Новичок
  • *
  • Сообщений: 15
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Замедлять работу могу ошибки, которые увеличиваются с каждым новым запуском страницы, накапливаться в кеше, на обработку этих ошибок и будет расходоваться дополнительное время.

именно!