Не получить улучшенную производительность от Memcached

У меня есть веб-сайт электронной коммерции на базе prestashop (GoDaddy Linux Centos VPS). Я пытаюсь сократить то, что pingdom называет «время ожидания», время, необходимое моему серверу для генерации html через php и mysql.

Я считаю, что memcached установлен правильно, но я не получаю улучшенной производительности, когда он включен.

Что тут происходит?

STAT pid 3403
STAT uptime 3210
STAT time 1343508734
STAT version 1.4.4
STAT pointer_size 64
STAT rusage_user 0.045993
STAT rusage_system 0.162975
STAT curr_connections 10
STAT total_connections 31
STAT connection_structures 12
STAT cmd_get 4507
STAT cmd_set 1260
STAT cmd_flush 2
STAT get_hits 4491
STAT get_misses 16
STAT delete_misses 2
STAT delete_hits 2
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 6144475
STAT bytes_written 21262077
STAT limit_maxbytes 536870912
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT bytes 147189
STAT curr_items 340
STAT total_items 1260
STAT evictions 0

Вот недавний тест pingdom: http://tools.pingdom.com/fpt/#!/zdViZURr3/http://www.kikbo.com/buy


person Michael Hart    schedule 28.07.2012    source источник
comment
Вы сказали Prestashop использовать memcache?   -  person Pekka    schedule 29.07.2012
comment
Тогда может быть и не так, что бд - ваше узкое место! Я рекомендую профилировать ваш код с помощью xdebug, чтобы увидеть, что на самом деле занимает время.   -  person Michael Berkowski    schedule 29.07.2012
comment
Вы имеете в виду, что просто установили memcached и ожидаете увидеть что-то, ничего не настраивая в приложении?   -  person rid    schedule 29.07.2012
comment
Пекка, @Radu: да. Однако... может Prestashop использует локальную установку Memcache без дополнительной настройки? (не знаю, просто предположил).   -  person halfer    schedule 29.07.2012
comment
@halfer, очевидно, нет.   -  person rid    schedule 29.07.2012
comment
Пекка, я сказал Prestashop использовать memcache и, насколько я могу судить, правильно его настроил. Майкл, спасибо за ваше предложение, я рассмотрю это сегодня и свяжусь со всеми. Раду, я сказал Prestashop, что memcached устанавливается через графический интерфейс бэк-офиса. Я не говорил Prestashop использовать кэш памяти, редактируя PHP-код или делая что-то в PuTTY. Насколько я могу судить, мне не нужно делать последнее, просто проверьте ящик бэк-офиса...   -  person Michael Hart    schedule 30.07.2012


Ответы (1)


Вы должны настроить prestashop для использования memcache в бэк-офисе. Поэтому просто перейдите на вкладку «Настройки» -> «Производительность» и прокрутите вниз. Настройте prestashop на использование кеша и выберите memcache в качестве опции кеширования.

Затем вам нужно указать серверы memcache, которые должны использоваться prestashop. Вы должны увидеть немедленное увеличение производительности!

К сожалению, у prestashop есть некоторые проблемы с memcache (информация не обновляется,...). Я написал об этом статью в блоге с некоторым кодом, чтобы исправить это: http://www.supnig.com/blog/caching-mysql-results-with-memcached

person csupnig    schedule 31.07.2012
comment
Спасибо за ответ и хороший сайт. В бэк-офисе у меня выбран memcached со следующими настройками сервера: [мой ip](ip) 11211(порт) 1(вес) разницы не вижу, когда проверяю включение и выключение memcached в БО - person Michael Hart; 13.08.2012
comment
P.S. Кроме того, у вас на сайте есть несколько очень симпатичных азиатских моделей, из-за чего я подумал, что ваш сайт базируется в Казахстане, но у вас домен .ru, поэтому я очень запутался. applerel.ru если кто хочет посмотреть ‹3 - person Michael Hart; 13.08.2012
comment
Спасибо :) Это русский магазин и базируется он в России. О вашей проблеме: вы видите, что количество запросов, отправляемых на ваш сервер mysql, падает, если вы включаете кеш? - person csupnig; 30.08.2012