Ответ 1
APC будет включен в PHP 6, и я бы предположил, что он был выбран по уважительной причине:)
Он довольно прост в установке и, конечно, ускоряет работу.
Я занимаюсь исследованиями, на которых один из них можно использовать, и я не могу найти то, что выделяется. Eaccelerator быстрее, чем APC, но APC лучше поддерживать. Xcache быстрее, но другие имеют более простой синтаксис.
У кого-нибудь есть рекомендации по использованию и почему?
APC будет включен в PHP 6, и я бы предположил, что он был выбран по уважительной причине:)
Он довольно прост в установке и, конечно, ускоряет работу.
Ознакомьтесь с эталонами и сравнениями:
APC определенно. Это написано ребятами из PHP, поэтому, несмотря на то, что он может не разделять самые высокие скорости, вы можете поставить на то, что это самое высокое качество.
Кроме того, вы получаете некоторые другие полезные функции, которые я использую все время (http://www.php.net/apc).
В конце я пошел с eAccelerator - ускорение скорости, меньший объем памяти и тот факт, что было очень легко установить, качало меня. Он также имеет приятный веб-интерфейс, чтобы очистить кеш и предоставить некоторую статистику.
Тот факт, что его больше не поддерживает, не является проблемой для меня - он работает, и все, о чем я забочусь. В будущем, если он сломает PHP6 (или что-то еще), тогда я буду переоценивать свое решение и, вероятно, перейду с APC просто потому, что он был принят разработчиками PHP (поэтому его еще проще установить)
Возможно, важно указать текущие стабильные, нестабильные и dev-версии каждого (включая дату):
http://pecl.php.net/package/apc
dev dev 2013-09-12
3.1.14 beta 2013-01-02
3.1.9 stable 2011-05-14
dev/3.2 dev 2013-12-13
dev/3.1 dev 2013-11-05
3.1.0 stable 2013-10-10
3.0.4 stable 2013-10-10
https://github.com/eaccelerator/eaccelerator
dev dev 2012-08-16
0.9.6-rc1 unstable 2010-01-26
0.9.5.1 stable 2007-05-16
Во всех тестах, которые я видел, eAccelerator выполняет быстрее, чем любой другой кеш, и использует меньше memeory для этого. Он поставляется с отличным script для просмотра использования кеша и очистки кеша и т.д. EAccelerator совместим с xdebug и Zend Optimizer.
APC включен в PHP, потому что он поддерживается разработчиками PHP. Он работает очень хорошо, но не так хорош, как eAccelerator. И у него есть проблемы совместимости с Zend Optimizer.
Xcache был сделан разработчиками lighttpd, тесты показывают, что он работает аналогично eAccelerator и быстрее, чем APC.
Итак, что лучше?
APC = Отлично, если вам нужен простой кеш, который всегда будет работать с PHP, без суеты. eAccelerator = Если у вас есть время для его поддержания, держите его в курсе и понимаете, как он работает, он будет работать быстрее. Долгосрочная поддержка не так точно, как APC, поскольку APC выполняется разработчиками PHP.
Я тестировал eAccelerator и XCache с Apache, Lighttp и Nginx с сайтом Wordpress. eAccelerator выигрывает каждый раз. Плохая вещь - это только недостающие пакеты для Debian и Ubuntu. После обновления PHP часто сервер больше не работает, если модули eAccelerator не перекомпилируются.
eAccelerator последний RC с 2009/07/15 (0.9.6 rc1) с поддержкой PHP 5.3
Я всегда использовал APC с php 5.1 и 5.2, но у меня было много (случайных) ошибок с использованием APC с php 5.3: Странные пустые страницы, случайные ошибки вне памяти. Все они исчезли, когда я отключил APC. Но это был не вариант, поскольку он работает на большом объеме веб-сайта.
Итак, я попробовал eaccelerator. До сих пор он был твердым, и увеличение скорости даже больше, чем с APC. Ребятам из APC действительно нужно потратить некоторое время на исправление ошибок.
Я думаю, что APC - это путь, если вы не используете Zend Optimizer на сайте. APC несовместим с Zend Optimizer, поэтому в этом случае вам нужно будет что-то вроде eAccelerator.
Даже несмотря на умеренные нагрузки, оба eacceleator и xcache достаточно хорошо работают, APC сохраняет свою стабильность под серьезной интенсивностью запроса. Если мы говорим о нескольких сотнях запросов/сек здесь, вы не почувствуете разницы. Но если вы пытаетесь ответить больше, определенно придерживайтесь APC. Особенно, если ваше приложение имеет слишком динамические характеристики, что, вероятно, вызовет проблемы блокировки при таких нагрузках. http://www.ipsure.com/blog/2011/eaccelerator-as-zend-extension-high-load-averages-issue/ может помочь.
Если вы хотите только кэширование файлов PHP, вы можете напрямую использовать eAccelerator. Очень прост в установке и настройке и дает отличные результаты.
Но слишком плохо, они удалили eaccelerator_put и eaccelerator_put из последней версии 0.9.6.
APC segfaults весь день и всю ночь не получил опыта работы с eAccelerator, но XCache очень надежен с множеством опций и постоянным развитием.