2016-05-17 17 views
0

У меня есть 60 веб-сайтов на веб-сервере Linux (nginx), и мне нравится отслеживать, сколько времени каждый веб-сайт занимает до полной загрузки. Что-то вроде tools.pingdom.com, где я помещаю URL и локаль и возвращает время полной загрузки страницы. Но мне нужно это через терминал Linux, чтобы автоматизировать эту задачу для всех веб-сайтов и новых будущих веб-сайтов. Кто-нибудь знает какой-либо API или инструмент через Linux для выполнения этой работы? Я попытался Wget и локон, но результаты нестабильны, то Wget я использовал:Загрузка сайта - Linux (pingdom, googlePageSpeed)

(time wget -p --no-cache --delete-after example.com -q) 2>&1 | awk '/real/ {print $2}' 

Но я не могу установить локаль и большую часть времени результаты нестабильны, с теми же сайты, в результате чего в течение 2 секунд, чтобы загрузить и 10 секунд несколько минут назад.

Спасибо!

ответ

1

Если производительность вашего сервера нестабильна, результаты также нестабильны, но это правильно.

curl и wget являются жизнеспособными вариантами для измерения времени, которое требуется для запроса. Возможно, вы можете установить локаль, установив заголовок «Accept-Language» на нужный язык (с wget --header и curl --header). Кроме того, стоит отметить, что curl имеет флаг -w, который отображает информацию о stdout после завершенной передачи, вы можете указать в формате -w переменных таймингов args (например, curl -w "First Byte: {time_starttransfer}, Total:{time_total}").

Вы также можете посмотреть инструмент webpagestest. Там размещена версия с api, и вы можете загрузить исполняемую версию. Это cli, web и api, и он поддерживает внутренний язык скриптов, который позволяет вам переопределять заголовки. Webpagetest полностью отличается от curl и wget, поскольку он загружает всю веб-страницу (со всеми ее активами, такими как css, js, images ...), и измеряет общее время, которое пользователь будет испытывать при просмотре веб-сайта с помощью реального браузер. Под капотом webpagetest управляет настоящими веб-браузерами.