eAccelerator не всегда улучшает производительность?

Хорошо, я прочитал много постов и статей о том, как работает GREAT eAccelerator, я протестировал его на своем домашнем dev-сервере, и он довольно заметно замедлил мои страницы, может быть потому, что:

  • У меня не много оперативной памяти?
  • Это работает только для улучшения скорости кода иногда?
  • Все шумиха ложная?
  • Другой?

1 ответ

Решение

Я никогда не использовал eAccelerator, но я всегда работаю с APC:

Несколько вещей, которые я заметил (я не знаю, что такое eAccelerator, но, думаю, идеи совпадают):

  • Первый доступ не будет быстрее: он должен скомпилировать PHP в код операции и сохранить его в памяти; только следующий доступ будет быстрее (его не придется перекомпилировать)
  • Активируя APC, я видел падение загрузки ЦП, которое может доходить до 50% (т. Е. 80% ЦП сервера, используемого до активации APC; от 40% до 50% ЦП, используемого с активированным APC)
  • Если не так хорошо настроить, не было никакой реальной потери производительности, но вещи там, где не очень хорошо.
    • Например, если APC недостаточно оперативной памяти и она заполнена, APC придется удалить некоторые записи из кэша, чтобы иметь возможность хранить новые; в конце концов, он потратит довольно много времени на кеширование вещей, на то, чтобы их кешировать сразу после кеширования новых, и это для каждого запроса страницы. Так что не хорошо.
    • Другим примером является запись конфигурации "apc.stat" (может быть, что-то подобное для eAccelerator): если для каждого файла, к которому осуществляется доступ, установлено значение 1, APC проверит на диске, был ли он изменен, по сравнению с версией в кеше. Если установлено значение 0, APC всегда будет использовать версию в кеше, без проверки версии на диске (это означает, что вам придется очищать кэш, чтобы учесть изменение файла); установка этой опции в 0 может означать снижение нагрузки на процессор от 5 до 10 %

Если вы используете Windows, все может быть не так ярко, как хотелось бы; не уверен, что это может снизить производительность, но Apache+PHP в Windows, как правило, медленнее, чем Apache+PHP в linux (Однажды я установил виртуальную машину со стеком LAP; она отвечала так же быстро, как и WAP на физической машине ^^)


Теперь пара вопросов:

  • Какие версии Apache / PHP вы используете?
    • Может быть, "слишком свежая" версия?
  • Похоже, что уже давно не было новой версии eAccelerator; последняя версия от мая 2008 года; предыдущий был с сентября 2007 года

Вы пробовали с APC, над которым, видимо, проделана большая работа?
Какой результат вы получите с этим?


Наконец, для получения дополнительной информации, не могли бы вы дать нам больше информации о вашей среде и конфигурации? А какие-нибудь подробности о том типе теста, который вы провели?
Спасибо:-)

Другие вопросы по тегам