2010-04-16 5 views
2

Мне было интересно, есть ли простая библиотека PHP для проверки скорости загрузки веб-страницы или одного ресурса, подобного Google Page Speed ​​и Yahoo! YSlow. Причина в том, что я хотел бы создать альтернативную веб-версию.PHP-библиотека для проверки скоростей загрузки

+0

Вы имеете в виду тестирование скорости загрузки собственной страницы или страницы других страниц? –

+0

Вы пытаетесь построить нечто похожее на: http://www.webpagetest.org/? – deadkarma

ответ

1

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/

+0

Согласен, это будет нелегко, но почему-то есть сайты, которые уже делают это, и я не думаю, что у них есть экземпляр браузера, который где-то работает. – cdecker

+0

@ cdecker, спросите их, как они это делают. Хуже всего то, что может случиться, они вообще не реагируют. – Gordon

+0

Хорошо, насколько я вижу, нет простого решения этой проблемы. Мое лучшее предположение заключалось в том, чтобы подключить настоящий веб-браузер, такой как wkhtmltopdf (http://bit.ly/dpubxW), ​​и записать время загрузки. Итак, я думаю, что ваш ответ был наиболее полезным: D – cdecker

0
$start=microtime(1); 
copy($url,"/dev/null"); 
echo "$url page loading time is: ".round(microtime(1)-$start,4); 

?