PHP: memory_get_peak_usage под eAccelerator?

Крупный проект на PHP. Выкатываем новую версию на сервер — потребление памяти (memory_get_peak_usage в конце исполняемого кода) выросло в два раза.

Переполошились, начали копать.

Отключение eAccelerator показывает, что и старая и новая версии потребляют одинаково.

Включаем eA — опять разница в два раза.



Собственно, вопросы:

1. Поскольку потребление памяти одни и тем же скриптом с выключенным eA и с включенным eA заметно отличается, то был сделан вывод, что в случае работающего eA в потребляемую память не засчитывается опкод самого скрипта, ибо он лежит в разделяемой памяти. Так ли это? Если это не так, то чем ещё можно объяснить колоссальную разницу в результате memory_get_peak_usage в одинаковых условиях?



2. И самое главное: каково может быть разумное объяснение поведения, изложенного в первой части? Когда без eA расход памяти не изменился (и мы склонны этому верить), а при включении eA выдаётся совершенно нереальный прирост потребления.
  • Вопрос задан
  • 3067 просмотров
Пригласить эксперта
Ответы на вопрос 1
tzlom
@tzlom
вас так волнует лишние 4 МБ?
если да, считайте тогда уж средневзвешенное с весами по веремени исполнения, возможно вы только выигрываете
и да, новая версия кода не всегда означает хорошая )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы