Странно работает кэш

Автор RussinBDA, 16 ноября 2013, 01:01:33

« назад - далее »

RussinBDA

Здравствуйте

PrestaShop 1.5.4

при вкл. кэша memcached сайт дольше работает, ПОЧЕМУ? у меня большая база товара около 30000 и будет больше, т.е. много запросов которых нужно клишировать, посоветуйте какой и как использовать кэш, что бы было не ускорение не байткода а именно с работай БД, ну или оба сразу.

Adik

#1
Зависит от настройки сервера.
Цитироватьmemcached - высокопроизводительная система кэширования объектов в оперативной памяти.
схема работы memcached проста:
- memcached работает в виде демона и умеет хранить в выделенном для него объеме оперативной памяти некий массив данных в виде набора пар "ключ - объект";
- клиентская часть, например, скрипт на веб-сервере обращается за данными к memcached и при их наличии начинает с ними работать, не выполняя более ресурсоемких запросов (например, к базе данных);
- при отсутствии данных в кэше, делается основной запрос, например, к базе;
- полученные данные обрабатываются клиентской частью и заносятся в кэш memcached для последующей работы с ними. 
По моему, применять кэширование стоит только на высоконагруженных ресурсах. Нужно учитывать, что подключение к серверу Memcached, это дополнительное время. Также не стоит забывать о расходовании памяти. Чем больше данных для кеширования, тем больше должно быть оперативки.
Есть еще недостаток. Например, у сайта сотни запросов в секунду. Если во время генерации кэшируемого объекта поступает ещё один запрос, то мы этот объект генерим два раза.
Выход только один, нужно проверять на практике работу сайта.

coder

Данные теста до и после какие?

RussinBDA

Цитата: coder от 17 ноября 2013, 13:41:39
Данные теста до и после какие?

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

без кеша 72/100

с кешом 62/100

для ПК

PrestaMan

Тестировать нужно работу кэширования. Для этого использовать простой таск, который будет в цикле выполнять однотипные запросы, но со случайными параметрами. Сделать проверку на мемкешед перед кешированием. Протестировать несколько запусков, сравнить скорость выполнения теста с первого запуска с последним и состояние memcached.

А так вы измеряете общую работу сайта. Замедлять работу могу ошибки, которые увеличиваются с каждым новым запуском страницы, накапливаться в кеше, на обработку этих ошибок и будет расходоваться дополнительное время.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

RussinBDA

Цитата: PrestaMan от 18 ноября 2013, 12:07:07
Замедлять работу могу ошибки, которые увеличиваются с каждым новым запуском страницы, накапливаться в кеше, на обработку этих ошибок и будет расходоваться дополнительное время.

именно!