Зарегистрируйте Сценарий PHP, которые занимают много времени для рендеринга

Смотрите на навсегда.

0
задан 8 May 2013 в 08:08
2 ответа

Предполагая, что вы используете Apache; см. ответ на переполнение стека: Есть ли способ, чтобы Apache регистрировал медленные запросы?

Явно украсть ответ bradym (спасибо cc-wiki ):


Взгляните на http://httpd.apache.org/docs/2.2/mod/mod_log_config.html . Вы можете настроить собственный журнал, который включает время, затраченное на обслуживание запроса.

Например:

LogFormat "%h %l %u %t \"%r\" %>s %b %D" common-time

Добавляет время в микросекундах, которое потребовалось для обслуживания запроса, в качестве последнего поля вашего файла журнала.

Вы добавит эту строку в ваш httpd.conf, а затем на каждом виртуальном хосте, где вы хотите ее использовать, добавьте эту строку:

CustomLog logs/access_log_time common-time

Вы также можете создать новый LogFormat, который будет содержать только то, что вы хотите, может быть так:

LogFormat "\"%r\" %D" measure-time

На вашем виртуальном хосте у вас может быть несколько журналов, поэтому вы можете иметь:

CustomLog logs/access_log common
CustomLog logs/access_log_time measure-time

Все, что сказано, есть огромное предостережение . Это будет измерять только время, необходимое серверу для обслуживания страницы. Он не будет включать время, необходимое для выполнения любого javascript в браузере. Если вам нужно измерить время выполнения javascript, вам понадобится инструмент вроде firebug .

Получив журнал, вы можете использовать что-то вроде apachelog для проанализируйте файл журнала, чтобы получить только те запросы, которые заняли больше времени, чем любой порог, который вы хотите использовать.

Я не уверен, можно ли регистрировать только запросы журнала и обойти этап анализа. Это может быть,

3
ответ дан 4 December 2019 в 12:37

Медленное ведение журнала PHP поддерживается только с FPM SAPI .

0
ответ дан 4 December 2019 в 12:37

Теги

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