| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > XCache vs APC vs eAccelerator |
| Автор: WIPS 30.12.2008, 01:45 |
| Стал вопрос в выборе opcode/var кешера. Что от него нужно: собно кеширование opcode (понимается прекомпиленный и желательно оптимизированный byte код) в память, возможность кеширования в память переменных. Поиск сузился до сабжа. XCache. Плюсы: Поддержка наиболее свежих версий PHP; Незначительное (около 3%) превосходство над APC (по собственным тестам на Win32); Продвинутый admin интерфейс; Есть интерфейс для работы в составе Zend_Framework; Стабильность (если верить автору); XCache. Минусы: // пусто APC. Плюсы: Продвинутый, но не так как в XCache, admin интерфейс; Входит в состав PECL; APC. Минусы: Чуть медленнее XCache; Он http://www.joomlaperformance.com/articles/performance/why_apc_sucks_and_should_be_pulled_from_pecl_53_14.html; eAccelerator. Плюсы: По сторонним тестам самый шустрый (ссылку потерял); eAccelerator. Минусы: На продакшн-сервере после n едниц времени работы загонял процесс в lock; Ваши мнения.... Обрывки информации по теме: http://itblog.su/xcache-vs-eaccelerator.html http://forum.shelek.ru/index.php/topic,15751.0.html http://www.directadmin.com/forum/showthread.php?p=133058 http://itst.net/654-php-on-fire-three-opcode-caches-compared |
| Автор: WIPS 6.1.2009, 11:19 |
| Слабо верится, что никто на форуме не пользовался этими технологиями. Модеры, может эту тему перенести в более "продвинутый" раздел? |
| Автор: skyboy 6.1.2009, 14:02 | ||
WIPS, может, и правда - мало кто работал хотя бы с двумя, чтоб можно было бы сравнивать? |
| Автор: Nordom 6.1.2009, 16:56 |
| А пес его знает - как мне некогда, "в детстве", один знакомый админ посоветовал XCache - так я его на все сервера, с которыми когда-либо имел дело - ставлю, пока никаких нареканий... |
| Автор: WIPS 7.1.2009, 14:59 |
| Nordom, а как давно было "детство", т.е. сколько уже исп-ся XCache? Какая нагрузка на серверах? Используется ли XCacher для кеширования переменных? Если да, то какие объемы кешируемой инф-ции? skyboy, даже если работали хотябы с одним, было бы интересно услышать отзывы. |
| Автор: WIPS 12.1.2009, 11:37 |
| 3-й день на серверах стоит XСache. Пока используется только в качастве opcode-cacher. Полет нормальный! |
| Автор: WIPS 3.2.2009, 19:59 |
| Уже неделя использования как var-кешера. Полет отличный |
| Автор: efferson 21.2.2009, 11:09 |
| У меня в компании одно время использовался eAccelerator. Всё было хорошо, до тех пор пока не появился Bitrix |
| Автор: gcc 28.6.2009, 03:34 |
| если используется eAccelerator, нужно ли вместе с ним использоть кэш контекнта в ngix или в apache? (так как в этих друх кэш занимает прилично до 2Гб занимал, если он не нужен то навреное его лучше не использовать, так как обработать этот кэш тоже нужны ресурсы навреное) |
| Автор: MoLeX 29.6.2009, 07:50 | ||
| Настройка http://www.denwer.ru/ AND http://eaccelerator.net/ 1. Качаем версию eAccelerator'а (http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds или http://eaccelerator.net/) для своей версии PHP 2. Кладем *.dll в S:\usr\local\php5\ext (будем считать что денвер установлен в корень диска S:) 3. Качаем http://bart.eaccelerator.net/source/ необходимую версию контроль панели 4. Извлекаем и кладем файлы (у меня получилось вот так S:\home\test\www\eaccelerator) 5. Создаем папку кэша (S:\temp\eaccelerator) 6. Редактируем php.ini (добавляем в конец следующие строчки)
7. рестарт/запуск сервера 8. Контроль панель доступна по адресу http://test/eaccelerator/control.php |
| Автор: WIPS 31.7.2009, 12:01 |
| MoLeX, Вы это к чему? |
| Автор: Severyanin 4.8.2009, 13:22 |
| Использую eAccelerator, проекты на cakephp, сейчас начинаю работать с симфонией. Пока к нему никаких нареканий |
| Автор: nerezus 4.8.2009, 19:16 |
| А это нормально, что джумлу на 20-25% только XCache ускорил? |
| Автор: WIPS 5.8.2009, 10:17 |
| nerezus, Вы считаете, что мало? По моему оч. хороший прирост. |
| Автор: nerezus 8.8.2009, 21:27 |
| WIPS, я ожидал, что как минимум раза в 2 будет прирост. |
| Автор: LeoK 22.1.2010, 20:34 |
| memcache+eaccel - для пула серверов и безболезненного гориз масштабирования вар-кешера... eaccel - для мелких посещаемых проектов |
| Автор: awers 6.2.2010, 11:32 |
| По результатам моих тестов, для Magento из выше перечисленных eAccelerator самый лучший. Его можно использовать не только в качестве opcode кешера, но и в качестве backend кешера. |
| Автор: nerezus 6.2.2010, 11:43 | ||
P.S. Это его в мейнстрим пихают или где? |
| Автор: awers 6.2.2010, 13:36 |
Это я добавил плюсик в копилку eAccelerator. Тут с несчастным php-fpm никак не родят |
| Автор: lumega 10.2.2010, 19:12 |
| конечно в выборе есть разница еще и с учетом того как загружается процесс php (mod_php, cgi, fastcgi). т.к. не все кешеры одинакого хранят (только память и память+диск) и обрабатывают свой кеш... вообще этих кешерей тучи, а не только из перечисленных. есть еще http://http://www.nusphere.ru/catalog/server/nusphere_phpexpress/ в целом для большнства проектов подходит eAccelerator, как наиболее универсальный и предсказуемый. работает и под винду (специальный билд) |
| Автор: LeoK 22.2.2010, 14:02 |
| Натолкнулся на такой вот http://2bits.com/articles/benchmarking-drupal-with-php-op-code-caches-apc-eaccelerator-and-xcache-compared.html - собственно предсказуемо |
| Автор: awers 23.2.2010, 12:00 |
| IgorIV, про бэкэнд читал http://www.magentocommerce.com/download/release_notes, там по тексту искать eaccelerator и eaaccelerator (описались). Только вот странно, сейчас исходники поковырял - немогу понять де там они что добавили. http://www.2shared.com/file/11604037/d7553b75/High_Performance_eCommerce.html тесты. Будет мало - скажи. Добавлено через 12 минут и 5 секунд А вот и оно http://bart.eaccelerator.net/doc/phpdoc/ |
| Автор: IgorIV 23.2.2010, 12:58 |
| awers, которое "оно" я и так знаю. Вообще-то, я ожидал твои тесты, сам писал - По результатам моих тестов. Но всё равно, спасибо, влом регистрироваться, только для того чтобы почитать какие-то тесты. Бэкенд нашёл - http://www.internet-technologies.ru/articles/article_1428.html |
| Автор: awers 23.2.2010, 16:26 |
| Мои тесты - это siege / ab в руки и по 10 пятимитунтых тестов с кол-вом пользователей от 10 до 300, включенным keep alive. Ну как бы результаты такие же как и в том доке. Я не то что бы потерял результаты своих тестов, я их даже не сохранял. Откуда столько лени? У меня кстати оттуда качается без регистрации. |
| Автор: IgorIV 23.2.2010, 16:58 |
| awers, извини, неправильно объяснил, регистироватся на сайте программы. Ты сказал - Magento - я поискал, почитал что это. Увидел этот документ, но он доступен только после регистрации. А мне - см. выше. Мне siege больше понравился. Жаль под Windows его нет. |
| Автор: awers 23.2.2010, 17:06 |
| IgorIV, Siege по какой то странной причине нагружет на 30% сильнее чем ab при одинаковых настройках. Это смущает. А зачем под винду? Под веб девелопить, хостится и тестить лучше всё на линухах. Если нет возможности тестить на физическом сервере на линухе, то всегда можно запустить виртуалку ( virtual box советую не пользовать, он что то вообще никакой ) |
| Автор: sTa1kEr 24.2.2010, 09:55 |
| eAccelerator имеет один очень большой недостаток- он не работает в CLI. Кроме того по стабильности он отстает от APC и в отличии от последнего в отсутствует в PECL. Что же касается backend кешера, то таковым может выступать любой opcacher, впрочем так же для этих целей можно напрямую использовать shared memory без всяких opcacher'ов. Причем последнее будет работать быстрее всего. |
| Автор: awers 24.2.2010, 11:30 |
| sTa1kEr, если не секрет, зачем eAccelerator в CLI ? По стабильности за год нареканий никаких нет. Да и в пекле он мне ни к чему. |
| Автор: sTa1kEr 24.2.2010, 12:16 |
Затем же, зачем он и в php_cgi и mod_php - кешировать opcode. А у нас были, в основном конечно по мелочи, самая критичная проблема - это вероятность попадания в кеш только части скрипта и как результат полная неработоспособность сайта. В то же время в параллельно работающем проекте с APC те же самые проблемы отсутствовали. И все же это плюс в сторону APC |
| Автор: awers 24.2.2010, 12:59 |
Так понятно, просто никогда даже не сталкивался с такой необходимостью. Надо значит надо |
| Автор: nerezus 28.2.2010, 11:30 | ||
| Поставил xcache: у него есть офигенное преимущество: sudo apt-get install php5-xcache А по факту ускорил двиг в дофига раз: с полсекунды до 70мс на младшей вдс. Добавлено через 1 минуту и 4 секунды
|
| Автор: sTa1kEr 4.3.2010, 15:39 | ||
Их могут быть сотни, некоторые запускаются раз в минуту, некоторые реже, но так или иначе их средняя частота запуска достаточно высокая. Однако производительность - это не единственная проблема, так же проблемой является то, что не работает API. Т.е. к примеру, нельзя очистить кеш, не работают функции eaccelerator_clean() и eaccelerator_clear(). И не работают вышеупомянутые eaccelerator_get() и eaccelerator_set(). Конечно-же все эти ограничения можно обойти, но зачем плодить костыли, когда есть более удобное решение без всяких костылей? Причем разница в производительности ничтожно мала. |
| Автор: Muerto 18.7.2010, 00:55 |
| А что лучше всего с Plesk Дружит? |
| Автор: Muerto 18.7.2010, 16:39 |
| Установил, пришлось установить 6.0 версию ибо 6.1 не хотела устанавливатся!!! результат Мой самый продвинутый(последний скрипт/движок) Сгенерировано за: 0.0043 сек. А было 0.008 сек. - 0.01 сек И так вообще по всем сайтам на процентов так 30 быстрей генерация идет |
| Автор: Muerto 28.8.2010, 19:09 | ||||
| Установил APC Вроде установка прошла успешно в php.d есть apc.ini который делает
Пытался даже это на прямую в php.ini писать Но толку 0, когда пытаюсь использовать функции apc К примеру
Выкидывает Fatal error: Call to undefined function apc_store() Пока ещё не понял в чем проблема , надеюсь кто поможет... Инсталировал просто - Загрузил все расширения через yum install что нужно Затем pecl install apc Затем создал apc.ini рестарт апача, затем и сервера... толку 0 Пытался ещё вторым методом через простой wget... Тоже нифига! make test не проходит |
| Автор: phpsc 6.1.2011, 14:17 |
| подскажите кеширование которое можно установить на debian+lighttpd apt-get'ом |
| Автор: skyboy 6.1.2011, 15:34 |
| а в чем проблема? что мешает установить php5-xcache или php-apc? |
| Автор: phpsc 7.1.2011, 09:43 | ||
название пакета не мог найти. спасибо) |
| Автор: skyboy 7.1.2011, 22:17 | ||
ну, я их отнюдь не учу наизусть:
|
| Автор: Muerto 26.2.2011, 12:13 |
| Ставил eAccelerator, apc, memcache/d В общем сайт летает лучше всего с eAccelerator memcached у меня cpu в 99% убивал... APC хороший Как кстати удалить memcached ? |
| Автор: LeoK 26.2.2011, 23:00 | ||
memcached.so? пробуйте memcache.so он менее функционален но быстрее |
| Автор: MoLeX 28.2.2011, 06:36 | ||
не мешало бы сначало понять что для чего служит |
| Автор: Muerto 28.2.2011, 20:03 |
| MoLeX, Ну оно вроде понятно в общем. Эксялятор чисто ускоряет, но не дает возможность кешировать переменные ей пи си медленней примерно в полтора раза чем экселятор но дает кешировать переменные мемкашед чисто переменные, сессии и тп |
| Автор: MoLeX 1.3.2011, 06:16 |
| eAccelerator, APC - программа, ускоряющая исполнение сценариев PHP интерпретатором путём кэширования их байткода. memcached — компьютерная программа, реализующая сервис кэширования данных в оперативной памяти на основе парадигмы хеш-таблицы. То есть это разные по своей сути программы и сравнивать их вместе ошибочно. Лучший прирост наблюдал в связке eAccelerator + memcached |
| Автор: Muerto 1.3.2011, 08:42 |
| MoLeX, Я как раз сейчас так и делаю Memcache+ eAccelerator... Ток на мое удивление memcache не так крут как ожидал http://forum.vingrad.ru/forum/topic-323707.html |
| Автор: KLeonid 1.4.2011, 17:50 | ||||
Ой! А где же она хранит этот самый кешированный байткод? Т.е. хранить что-то кроме опкода им религия не позволяет?
Разные, но тот же APC, например, можно использовать для кеширования переменных, объектов, ответов мускула и т.д... Он точно так же сохраняет все эти данные в ОП в виде хеша. Есть еще Redis - это что-то вроде простой БД в памяти. |
| Автор: dimarick 17.7.2011, 12:34 |
| Сейчас сравнивал xcache vs eaccelerator Результаты впечатляют. Генерация страницы в среднем "без никто" 1500-1800 мс (за вычетом запросов sql) xcache - 1000-1200 мс eaccelerator - 500-700 мс Xcache на потребление памяти не влияет. eaccelerator - снижает в ~10(!) раз Глюков не замечено. CMS Drupal Apache2, mod_php Хз. может xcache криво настроен |
| Автор: Muerto 26.7.2011, 00:26 | ||||||
Кстати хорошо описано http://abrdev.com/?p=1071 Заставило проверить Redis |
| Автор: Muerto 13.9.2011, 18:19 |
| А кто что может сказать о Zend Data Cache? Мне подарили Zend Server, и я вот устновил... по моим тестам на блоге на базе yii , он фактически на ровне с APC Пока не очень знаю чем он лучше или хуже... |