У меня есть apache, работающий на виртуальном сервере, который периодически дает очень плохую производительность - даже при получении статических файлов JPG или PNG. Такое случается только время от времени, поэтому мне сложно задокументировать это хостинговой компании.
Есть ли хороший инструмент, который может легко сохранять "время загрузки в миллисекундах" файла на веб-сервере каждую минуту? Может быть, даже сценарий оболочки однострочный, я смогу запустить в "экранном" сеансе?
Вы можете изменить формат ведения журнала apache (если его еще нет), чтобы он регистрировал время, затраченное на обработку запроса:
LogFormat "%h %D %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
Это % D который добавляет время, измеренное в микросекундах.
Чтобы упростить отладку времени загрузки страницы, вы можете добавить заголовки HTTP, которые включают эту информацию (чтобы вам даже не приходилось читать файл журнала):
Header set X-Request-Received: %t
Header set X-Request-Processing-Time: %D
Не забудьте сначала включить mod_headers, выполнив включение заголовки модуль
Теперь вы должны увидеть эти заголовки в ответе:
X-Request-Received t=1286995673038485
X-Request-Processing-Time D=251
(пробудил мою память, прочитав эту страницу http://goo.gl/hjHeT)
Мне лично нравится ответ Купса, но если вы хотите независимый проверка времени загрузки (т.е. сколько времени мне потребовалось, чтобы получить все данные страницы с сервера, скорее, чем сколько времени, по мнению сервера, потребовалось для обслуживания всех данных страницы) этот ответ может быть полезным.
Если ты уже бежишь НАГИОС или ICINGA, то check_http
плагин может оценить время загрузки и перейти в режим ПРЕДУПРЕЖДЕНИЯ или КРИТИЧЕСКОГО, если оно превышает определенные пороговые значения. Я не уверен, что поставил бы какой-либо из них только для этого, но если вы уже используете один, плагин идеально подходит для качественного мониторинга (как часто эта страница загружалась слишком долго?).
Если вы предпочитаете количественные данные (как долго эта страница загружается?) и бегут Мунин, то check_http_requisites плагин будет отслеживать это.
Многие другие системы мониторинга, несомненно, будут иметь аналогичные функции; чем вы занимаетесь в настоящий момент?
И если ответ выше - «ничего», прошу прощения, если я на мгновение выйду из себя: сейчас самое время добавить подходящее решение для мониторинга. Я знаю, что заманчиво вставить просто-еще-одну-строчку- сценарий, но они быстро становятся неподдерживаемыми. В то время как как только вы вставите хорошее бесплатное решение для мониторинга на основе плагинов, вы внезапно обнаружите все виды Другой вещи, которые было бы действительно полезно отслеживать, и вам не нужно каждый раз заново изобретать инфраструктуры сбора данных, сопоставления данных, отображения данных и уведомления об ошибках.