apc против eaccelerator против xcache

105

Я изучаю, какой из них использовать, и я не могу найти ни одного, который выделялся бы. Eaccelerator быстрее, чем APC , но APC лучше обслуживается. Xcache быстрее, но у других более простой синтаксис.

У кого-нибудь есть рекомендации, что использовать и почему?

Гален
источник
1
Не похоже, что eAccelerator выпускался больше года назад. VC xcache, безусловно, активен, но я также не мог сосредоточиться на выпусках и фокусе. Все сводится к части программного обеспечения, которое поддерживается, и APC безоговорочно выигрывает.
до
11
Это третий квартал 2011 года. Что-то изменилось с 2009 года?
Джон
Также stackoverflow.com/q/28716/632951
Pacerier

Ответы:

110

APC будет включен в PHP 6, и я думаю, он был выбран не зря :)

Его довольно легко установить и, безусловно, ускоряет работу.

Дэвид Снабел-Коунт
источник
Я взвесил эти три и решил начать тестирование с APC по этой причине. У двух других тоже есть проблемы со стабильностью.
Стив Кларидж,
46
Я столкнулся только с тремя проблемами с APC, и все они находились под моим контролем. 1) Не позволяйте APC заполняться. Убедитесь, что выделено достаточно памяти. 2) Не используйте apc_clear_cache () на активном сервере. 3) APC не очень хорошо справляется с сильным конфликтом блокировок - не пытайтесь записывать на один ключ из нескольких процессов одновременно.
Фрэнк Фармер
10
На самом деле PHP6 в настоящее время не существует.
Evert
20
Поскольку этот поток является одним из лучших результатов в Google, его, вероятно, следует обновить, чтобы указать, что Zend Optimizer объединен с PHP 5.5, выпущенным в этом месяце. Вы можете выключить его и использовать вместо него APC, хотя я не уверен, зачем вам это нужно.
Forest
2
Хранилище данных пользователя @Benjamin можно восстановить с помощью APCu ( github.com/krakjoe/apcu ), которое можно установить и использовать вместе с ZO.
Swader
23

Ознакомьтесь с тестами и сравнениями:

здесь и здесь и там

Борис Гери
источник
15
Жаль, что они такие старые. 2006? Фууу.
analytik 03
3
Полагаю, мы можем подождать пару лет, и предыдущий комментарий будет старым?
Benmarks
5
Успех. Сейчас ему 3 года. Фуууу.
Swader
3
Чувак, уже 2016 год. Может ли кто-нибудь повторить тесты десятилетней давности?
Pacerier
13

APC определенно. Он написан ребятами из PHP, поэтому, даже если он не имеет самых высоких скоростей, вы можете сделать ставку на то, что это высшее качество.

Кроме того, вы получаете некоторые другие отличные функции, которые я использую постоянно ( http://www.php.net/apc ).

Эверт
источник
3
Facebook также активно использует APC - они используют гигабайты, если не террабайты кэша APC. Многие из внесенных ими улучшений были возвращены и интегрированы в основную версию APC.
Фрэнк Фармер
13
Вы думаете о memcached.
Evert
3
@ Каждый FB пытается попасть в локальный кеш APC перед установкой TCP / IP-соединения с memcached scribd.com/doc/4069180/…
Энди,
1
Возможно ... но когда он говорит об улучшениях, которые были выпущены ранее, и т.д ... это, вероятно, Memcache. Если они не сделали то же самое с apc.
Evert
@ Энди, Facebook ничего из этого не использует. Он использует собственную виртуальную машину HipHop.
Pacerier
11

В конце концов, я выбрал eAccelerator - увеличение скорости, меньший объем памяти и тот факт, что его очень легко установить, потрясли меня. Он также имеет приятный веб-интерфейс для очистки кеша и предоставления некоторой статистики.

Тот факт, что он больше не поддерживается, для меня не проблема - он работает, и это все, что меня волнует. В будущем, если он сломает PHP6 (или что-то еще), я пересмотрю свое решение и, вероятно, выберу APC просто потому, что он был принят разработчиками PHP (поэтому его будет еще проще установить).

gbjbaanb
источник
4
"если он сломает PHP6" ... разве вы не имеете в виду "когда?" :)
Брайан Лейси
2
Это забавно, потому что спустя 5,5 лет «PHP 6» все еще не существует.
Эрик Л.
@Eirik, PHP 6 такой вчера. Сейчас 7 .
Pacerier
11

Может быть важно указать текущие стабильные, нестабильные и разработанные версии каждого (включая дату):

APC

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

Xcache

http://xcache.lighttpd.net/

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

eAccelerator

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
Райан Шумахер
источник
1
Обновленные последние версии - Xcache, похоже, наиболее активен как в новых функциях, так и в исправлении предыдущих версий
Райан Шумахер,
9

Во всех тестах, которые я видел, eAccelerator работает быстрее, чем любой другой кеш, и для этого использует меньше памяти. Он поставляется с изящным скриптом для просмотра использования кеша и очистки кеша и т. Д. EAccelerator совместим с xdebug и Zend Optimizer.

APC включается в PHP, потому что он поддерживается разработчиками PHP. Он работает очень хорошо, но не так хорошо, как eAccelerator. И у него есть проблемы с совместимостью с Zend Optimizer.

Xcache был создан разработчиками lighttpd, тесты показывают, что он работает так же, как eAccelerator, и быстрее, чем APC.

Итак, что лучше?

APC = Отлично, если вам нужен простой кеш, который всегда будет работать с PHP, без суеты. eAccelerator = Если у вас есть время поддерживать его, обновляйте его и понимайте, как он работает, он будет работать быстрее. Долгосрочная поддержка не так надежна, как APC, потому что APC выполняется разработчиками PHP.

Prom3th3an
источник
7

Я тестировал eAccelerator и XCache с Apache, Lighttp и Nginx с сайтом Wordpress. eAccelerator выигрывает каждый раз. Плохо только отсутствие пакетов для Debian и Ubuntu. Часто после обновления PHP сервер перестает работать, если модули eAccelerator не перекомпилированы.

Последний RC eAccelerator от 15.07.2009 (0.9.6 rc1) с поддержкой PHP 5.3

Деварни
источник
6

Я всегда использовал APC с php 5.1 и 5.2, но у меня было много (случайных) ошибок при использовании APC с php 5.3: странные пустые страницы, случайные ошибки нехватки памяти. Все они исчезли, когда я отключил APC. Но это был не вариант, поскольку у него большой объем веб-сайта.

Итак, я попробовал eaccelerator. Пока что он был твердым, и прирост скорости даже больше, чем у APC. Ребятам из APC действительно нужно потратить время на исправление ошибок.

Miele
источник
1
У меня были такие же проблемы с APC и php 5.3. Спасибо за комментарий. PHP без кеширования в моей настройке намного быстрее и надежнее, чем с APC. Пустые страницы и ошибки нехватки памяти сводили меня с ума, пока я не удалил APC.
Пол Д. Иден
так и не выяснил причину, по которой ядро ​​убивает php-fpm из-за apc
vimdude
4

Я думаю, что APC - это правильный путь, если вы не используете Zend Optimizer на сайте. APC несовместим с Zend Optimizer, поэтому в этом случае вам нужно будет использовать что-то вроде eAccelerator.

rg88
источник
Если вы используете Zend Optimizer, вам больше ничего не нужно, потому что он также выполняет кэширование оптического кода и предоставляет интерфейс, совместимый с APC.
txyoji
3

Даже eacceleator и xcache довольно хорошо работают при умеренных нагрузках, APC сохраняет стабильность при серьезной интенсивности запросов. Если мы говорим здесь о нескольких сотнях запросов в секунду, вы не почувствуете разницы. Но если вы пытаетесь ответить больше, определенно придерживайтесь APC. Особенно, если ваше приложение имеет чрезмерно динамические характеристики, которые могут вызвать проблемы с блокировкой при таких нагрузках. http://www.ipsure.com/blog/2011/eaccelerator-as-zend-extension-high-load-averages-issue/ может помочь.

Мэтт Драйден
источник
2

APC не работает весь день и всю ночь, у него нет опыта работы с eAccelerator, но XCache очень надежен, с множеством опций и постоянным развитием.

ManreeRist
источник