Время загрузки Apache в микросекундах - различие между заголовком и журналом

VMware предлагает ESXI бесплатно, который является хорошим virutalization пакетом, который должен сделать Вас приятно. Это действительно добирается, чтобы быть немного конкретным с аппаратными средствами, хотя можно проверить этот список на whitebox ПК/серверы и компоненты, которые люди протестировали, чтобы хорошо работать с ним (поля Dell идут там): http://www.vm-help.com//esx40i/esx40_whitebox_HCL.php

Я никогда не использовал другое программное обеспечение виртуализации (такое как VirtualBox), таким образом, я не могу говорить за них, но Вы, возможно, должны иметь дополнительную установку Windows, если они ожидают ОС (такую как VMware Server, который работает на Windows). Просто что-то еще для рассмотрения.

0
задан 21 August 2011 в 15:42
3 ответа

Можете ли вы проверить, что ваше имя LogFormat 'объединенное' соответствует тому, что использует ваша переменная CustomLog. Я тестировал это на OS X, и, за исключением незначительной разницы, которую вы ожидаете между чтением переменной при обратной записи заголовков и при регистрации (после отправки всех данных обратно клиенту), они очень близки:

/etc/apache2# grep LogF httpd.conf
    LogFormat "%h %l %u %t \"%r\" %>s %b %t %D" common

/etc/apache2# grep CustomL httpd.conf
    # a CustomLog directive (see below).
    CustomLog "/private/var/log/apache2/access_log" common


# wget -qqO /dev/null -S http://localhost/
...
  X-Request-Received: t=1314588821970347
  X-Request-Processing-Time: D=336

/private/var/log/apache2# tail access_log 
::1 - - [28/Aug/2011:20:33:41 -0700] "GET / HTTP/1.0" 200 44 [28/Aug/2011:20:33:41 -0700] 587
1
ответ дан 4 December 2019 в 12:51

Я думаю, что лучше всего выбрать «собственное» имя для вашего пользовательского LogFormat, а не повторно использовать / изменять объединенный формат журнала .

За исключением всего остального (и как было предложено @polynomial), кажется, что есть разрыв между показываемой вами конфигурацией и выводом, который вы показываете.

Если только для того, чтобы сделать устранение неполадок менее двусмысленным (в настоящее время вы не Не знаю, объединены ли значения по умолчанию ( LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-agent} i \ "" вместе ) или используется ваша версия).

Итак, я бы сначала сделал что-то вроде:

LogFormat "% h% D% l% u% t \" % r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ "" perf-comb

А затем используйте perf-comb там, где это необходимо.

Глядя на довольно широкие различия между значениями Header% D и AccessLog% D в примере @ polynomial, я также хотел бы задаться вопросом, действительно ли они представляют две разные точки в обработке запроса:

  • поскольку значение заголовка% D ниже во всех примерах на этой странице, он может показывать время, необходимое для формирования заголовков ответа, но не обязательно body
  • . Значение AccessLog% D может быть временем для отправки полного ответа.

Это полное предположение.

1
ответ дан 4 December 2019 в 12:51

[Это очень старый вопрос, но он заслуживает лучшего ответа для тех, кто приходит сюда]

Заголовок HTTP обязательно генерируется до того, как контент будет доставлен конечному пользователю, поэтому это исключает задержки в сети.С другой стороны, запись access_log записывается после того, как весь контент доставлен конечному пользователю, возможно, по медленному сетевому каналу, и включает время, затраченное на эту доставку.

Какая цифра более полезна для вас, зависит от о том, что вы пытаетесь выяснить. Для URL-адреса вашего изображения вы, вероятно, смотрите на производительность конечного пользователя, и задержки в сети, вероятно, являются большей частью ответа.

Если вы отлаживаете производительность динамически генерируемого контента, вы, вероятно, захотите регистрировать время без учета сетевых задержек. LogFormat позволит вам регистрировать содержимое заголовка с помощью % {X-Request-Processing-Time} i - не пробовал, но надеюсь, что это сработает.

1
ответ дан 4 December 2019 в 12:51

Теги

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