Насколько эффективнее php_apc, чем memcached? - PullRequest
1 голос
/ 19 февраля 2010

Существуют различные проблемы при использовании php_apc с Symfony,

Если повышение не столь существенно, я собираюсь заменить apc на memcached.

Ответы [ 2 ]

8 голосов
/ 19 февраля 2010

APC и memcached - это не одно и то же:


Во-первых, APC выполняет две роли:

  • Это кэш кода операции (что означает, что каждая страница PHP обычно требует меньше ресурсов ЦП, поскольку она удаляет часть «компиляции»; когда мы впервые включили APC в качестве кэша кода операции, загрузка ЦП на наших веб-серверах была чем-то от 80% до 40-50%)
  • Это также нераспределенный кеш данных
    • , что означает, что, если у вас есть несколько серверов, каждый из ваших серверов имеет локальную копию кэша
    • , что также означает, что существует довольно низкий предел количества данных, которые вы можете хранить в кэше


А для memcached:

  • Это только кеш данных
  • Распространено
    • т.е. нет ограничений на количество серверов в кластере memcached
    • т.е. нет ограничений на объем кеша, который вы можете иметь


Вы можете использовать APC или memcached, или оба, в качестве кеша данных (это то, что мы делаем в проекте, над которым я сейчас работаю: некоторые данные кэшируются в APC, а некоторые другие используют memcached) .

Но, если вам нужен какой-то кэш кода операции, вам придется использовать APC (или eAccelerator; но не уверен, что он в хорошем состоянии) .

4 голосов
/ 19 февраля 2010

См. Пожалуйста:)

Memcached - это распределенное кеширование система, тогда как APC не распределен - и в основном кэш кода операции.

Если (и только если) у вас есть сеть приложение, которое должно жить разные веб-серверы (балансировка нагрузки), вы должны использовать memcache для распределенное кеширование. Если нет, просто придерживаться APC и его кеша.

Вы всегда должны использовать кэш кода операции, какой APC (также APC получит интегрирован в php6 iirc, так почему бы и нет начните использовать его сейчас).

Вы можете / должны использовать оба для разных цели.

...