Мне было интересно, есть ли простая библиотека PHP для проверки скорости загрузки веб-страницы или одного ресурса, подобного Google Page Speed и Yahoo! YSlow. Причина в том, что я хотел бы создать альтернативную веб-версию.PHP-библиотека для проверки скоростей загрузки
ответ
PageSpeed и YSlow запустить в браузере и не только измерить нагрузку один URL, но и всех ресурсов, связанных с этой URL в дополнение к @import
и url()
директивы в CSS файлах и javascript resources lazy loaded в то время как DOM загружает. Я сомневаюсь, что это может быть сделано легко/вообще с PHP без запуска кода через server side JS engine.
Рассмотрим этот фрагмент Dojo code:
dojo.require("dijit.form.Button");
или этот код JavaScript:
document.write('<script src="',
'http://example.com/other.js',
'" type="text/JavaScript"><\/script>');
Учитывая число возможных подходов там, это практически невозможно поймать с PHP. Если вы все еще хотите попробовать, ознакомьтесь с cURL, DOM и HTTP extension.
Или рассмотрите измерение в браузере с помощью JavaScript, например. что-то вроде http://webwait.com/
Согласен, это будет нелегко, но почему-то есть сайты, которые уже делают это, и я не думаю, что у них есть экземпляр браузера, который где-то работает. – cdecker
@ cdecker, спросите их, как они это делают. Хуже всего то, что может случиться, они вообще не реагируют. – Gordon
Хорошо, насколько я вижу, нет простого решения этой проблемы. Мое лучшее предположение заключалось в том, чтобы подключить настоящий веб-браузер, такой как wkhtmltopdf (http://bit.ly/dpubxW), и записать время загрузки. Итак, я думаю, что ваш ответ был наиболее полезным: D – cdecker
$start=microtime(1);
copy($url,"/dev/null");
echo "$url page loading time is: ".round(microtime(1)-$start,4);
?
Вы имеете в виду тестирование скорости загрузки собственной страницы или страницы других страниц? –
Вы пытаетесь построить нечто похожее на: http://www.webpagetest.org/? – deadkarma