Не так давно, для ускорения работы веб-сервера при увеличении посещаемости сайта, я установил на сервер eAccelerator.
eAccelerator это свободно-распространяемый PHP ускоритель, оптимайзер и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате происходит увеличение скорости их выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода на величину от 1 до 10 раз.
В моем случае он действительно ощутимо ускорил работу сервера в несколько раз. Особенно это стало заметно при загрузке страниц блога. Но установку eAccelerator’а я постараюсь изложить в следущих публикациях, при освещении настройки web сервера и сопутствующего ПО для организации хостинга. Здесь речь о другом.
Для того, чтобы подключить eAccelerator к web серверу Apache, который уже использует PHP, нужно добавить поддержку соответсвующей библиотеки в файл конфигурации /usr/local/etc/php.ini. Это выглядит так:
; ZEND Extention - PHP-EACCELERATOR zend_extension=”/usr/local/lib/php/20060613/eaccelerator.so”
К счастью, благодаря своей старой привычке каждый день вручную просматривать основные логи своих серверов, на следущий день я обратил внимание на лог файл веб-сервера - httpd-error.log - основной. Тот, что лежит в каталоге /var/log/apache и является лог-файлом ошибок (наравне с логом доступа httpd-access.log) основного виртуального хоста моего Apache. Меня “впечатлил” его размер. 96 мегабайт (!!!). Этот файл был всегда практически пуст. В него ложились уведомления о перезапуске процесса httpd и не более. Потому что у меня default virtual host не поддерживает никаких сайтов.
Открывать его в текстовом редакторе в консоли я побоялся. Решил просто убить, правда, на всякий случай сделал его резервную копию.
# cat /dev/null > /var/log/apache/httpd-error.log
Файл обнулился, но… тут же снова начал непомерно расти. Прямо на глазах за несколько секунд, файл вырос до 100 килобайт. Оказалось работал eAccelerator и при этом все свои действия исправно записывал в лог веб-сервера.
# tail -F /var/log/apache/httpd-error.log EACCELERATOR hit: “/path/to/site/wp-includes/wp-db.php” EACCELERATOR hit: “/path/to/site/wp-includes/cache.php” EACCELERATOR hit: “/path/to/site/wp-includes/classes.php” EACCELERATOR hit: “/path/to/site/wp-includes/plugin.php” EACCELERATOR hit: “/path/to/site/wp-includes/streams.php” EACCELERATOR hit: “/path/to/site/wp-includes/gettext.php” EACCELERATOR hit: “/path/to/site/wp-includes/l10n.php” EACCELERATOR hit: “/path/to/site/wp-includes/formatting.php” EACCELERATOR hit: “/path/to/site/wp-includes/capabilities.php” EACCELERATOR hit: “/path/to/site/wp-includes/query.php” …
Без ошибок, просто уведомления о том, какие файлы он обработал.
С этим надо было что-то делать. Гугль тут же выручил. Ответ нашелся в списке рассылок . Хотя я думаю он нашелся бы и в документации по eAccelerator. В php.ini следовало добавить:
eaccelerator.debug=”0″
И все. Перестартуем Apache и почистим лог от лишнего мусора:
# apachectl restart # cd /var/log/apache # cat httpd-error.log | grep -v “EACCELERATOR hit:” > httpd-error.log










Пятница, 11 июня, 2010 в 13:46:43
cat httpd-error.log | grep -v “EACCELERATOR hit:” > httpd-error.log
не получится, что задумывалось
такая команда только обнулит httpd-error.log
Понедельник, 25 февраля, 2008 в 15:52:51
вредина, спасибо. Исправил.
Понедельник, 25 февраля, 2008 в 10:14:15
Файл обнулился, но… тут же снова начал непомерно рости
тама в последнем слове ашипка))
Четверг, 21 февраля, 2008 в 18:56:28
http://daemony.org/freebsd/apache-1_3-php5-mod_perl-setup.html
Понедельник, 18 февраля, 2008 в 16:18:03
T00R, будет. Пока не успел.
Понедельник, 18 февраля, 2008 в 14:32:21
а вот бы не помешала статейка про настройку апачи с пхп и всем остальным
на странице докментов ссылки такой не нашел