Как настроить 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.

Другие вопросы по тегам