Скорость загрузки страницы влияет на настроение посетителя — банальный факт. Никто не любит ждать, наблюдая как страница сайта лениво появляется на экране. Кроме того, Google затеял движение по ускорению веба, даже при ранжировании учитывает «отзывчивость» сайта. В общем, затеял я ускорение PHP на своем сервере, поскольку на нем написаны большинство используемых мной и клиентами CMS, в частности, установленный на этом сайте Drupal.
Безболезненный и простой способ увеличить производительность PHP — установка библиотеки, кеширующей исходный код. Я последовательно поставил две из них — eAccelerator 0.9.5.3 и APC 3.0.19. Установка свелась к паре команд, заняло все минут 5.
yum install php-eaccelerator для установки eaccelerator и требуемых для него обновлений
yum install php-devel & pecl install apc для установки APC
Никакими тонкими настройками не занимался пока, это надо читать документацию, разбираться, пробовать. Даже без этого, с настройками по-умолчанию оба «ускорителя» уменьшают время генерации страниц примерно в 3 раза — достойный результат за 5 минут суеты.
В итоге я убрал eAccelerator и оставил APC. По всем отзывам eAccelerator быстрее, но он также часто вызывает падение Apache и вообще менее стабилен. APC не столь проворен, проигрывает 5-10%, но у него репутация более надежного решения. Кроме того, сайт eAccelerator производит не лучшее впечатление, а APC отдельного сайта не имеет вовсе, это разработка «официальной» команды писателей PHP.
Все это проделано на CentOS release 5.2 (Final), для других линуксов процедура может быть иная, но результат тот же — заметное невооруженным глазом ускорение работы PHP.
- Войдите на сайт для отправки комментариев
APC
Я тоже долго выбирал и остановился на APC. Но что-то раз в неделю-три апач стал падать с segfault ни с того ни с сего... Грешу только на APC, либо на обновления самой системы. Пока убрал его - вроде бы перестало падать.
У меня пока полет нормальный.
У меня пока полет нормальный. Аптайм месяца 3 уже, апач перегружал только сам. Сложно такие неочевидные вещи увязывать в причинно-следственные связи. Проблему, которая всплывает раз в неделю-три диагностировать почти нереально. APC штука полезная, но у меня в итоге очень быстрый PHP стал усиленно грузить MySQL, в котором сейчас самое узкое место :)
Насчет eAccelerator
Насчет eAccelerator совершенно не согласен.. если остаться на зhp 5.2.x - то это лучшее решение!
в феврале 2010 года можно было и перейти с apache на nginx.. но даже при apache (при грамотной настройке) - eAccelerator не вызывает проблем не на *BSD, ни на Ebuntu, CentOS & etc.
eaccelerator
Использую на сайте http://x-news.ru/ eAccelerator, работает вполне стабильно.
Имеет ли смысл ставить оба акселератора?
На счет выбора
Тоже долго ерничал, что выбрать. В итоге остановился на APC + Apache2 + Nginx, но изредка падает апач, при высокой посещухе на сервере в целом.
http://www.x-mobiles.net/ - вот дэмка сайта.
О ускорении
А не проще ли и логичее поставить apache + nginx ? Работать будет шустрее + кэширование, а сессии спрятать в мемкэшед. Сайт вот работает по данной схеме вроде бы podsos.net, но могу ошибаться. Сам он не из малоприятных.
А в самом АПК самое главное кэш правильно расчитать, есть спеицальный скрипт для уточнения доли файлов в кэше акселератора.