Как настроить memcache на nginx+fastcgi
На сервере Ubuntu у меня есть сайт drupal, который использует nginx+fastcgi в качестве веб-сервера и использует xcache. Я вполне доволен конфигурацией, но пытаюсь настроить memcache, надеясь повысить скорость работы сайта, но я не уверен, как это сделать.
После установки memcached я добавил расширение =memcache.so в /etc/php5/cgi/php.ini и вижу, что процесс memcache запущен.
Однако через несколько часов вместо лучшей производительности я просто вижу более высокую нагрузку на сервер (в среднем 5 вместо обычных 2). Поэтому я ценю ваш совет по настройке memcache. (Я знаю, что мог бы использовать nginx в качестве обратного прокси для apache и определить memcache для apache, но я особенно стремлюсь избежать использования apache любыми средствами).
2 ответа
Довольно поздно для игры здесь, но если вы находитесь только на одном сервере, memcached просто замедлит вас. Посмотрите на локальное кэширование с помощью APC (или, в вашем случае, локальное кэширование xcache). Я уверен, что у Drupal будут плагины для них. Я предполагаю, что вы используете xcache для кэша кода операции, но не используете его возможности кэша памяти.
Любой тип кеширования не является серебряной пулей. Как упоминалось в CyberDem0n, ваше приложение должно быть достаточно умным, чтобы использовать его: "кэшируйте это, не кэшируйте это, извлекайте это из кэша и т. Д. И т. Д."
Memcached хорош, только если вы работаете с несколькими серверами и вам нужен общий кеш. Если у вас один сервер, вы тратите время на сетевые вызовы, когда вы можете просто извлечь объект из памяти (или даже из файловой системы, которая в большинстве случаев быстрее, чем сеть).
Memcache - это просто хранилище значений ключей. Бесполезно, если ваше приложение не знает, как его использовать.
Добавив extension=memcache.so в php.ini, вы можете включить только memcache api в php.
После этого вы должны научить drupal использовать memcache для хранения в нем некоторых данных. Я действительно не знаю, как настроить Drupal для использования memcache, но я думаю, что это очень возможно, и может быть легко изменить. Просто посмотрите на некоторые файлы конфигурации drupal.