Работа, аналитика и исследования в интернете требуют обработки достаточно больших объёмов информации. Автоматизировать ручной труд не сложно с помощью скриптов php. Потребность загрузки информации ставит ребром вопрос о скорости работы таких скриптов.
Проведенное микроисследование касается исследования скорости загрузки страниц сайтов из скрипта с помощью сокетов, функции file_get_contents и функций cURL php.
Для испытания запускался нижеприведенный скрипт:
$start = microtime(true); $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,"http://sweb.ru/"); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec ($ch); curl_close($ch); $end = microtime(true); echo $end-$start; $start = microtime(true); file_get_contents("http://sweb.ru/"); $end = microtime(true); echo $end-$start; $start = microtime(true); $fp = fsockopen("sweb.ru", 80); $query = "GET / HTTP/1.0\n"; $query .= "Host: sweb.ru \n"; $query .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1) \n"; $query .= "Accept: */* \n"; $query .= "Connection: Keep-Alive"; $query .= "\n\n"; fwrite($fp, $query); while ($tmp = fread($fp, 1024)) { $buffer .= $tmp; } $end = microtime(true); echo $end-$start';
Проводилось 2 эксперимента по 200 замеров. В первом случае скачивал страницу с далекого сервера (tut.by), во втором случае скачивал страницу с сервера своего хостера (sweb.ru)
| 3.098420543 | cURL |
| 3.042662863 | file_get_contents |
| 2.882405549 | socket |
| 0.368685743 | cURL |
| 0.607340057 | file_get_contents |
| 0.459694744 | socket |
Таким образом, можно увидеть что лидером по скорости скачивания является cURL, после нее идет socket и самая медленная работа у file_get_contents. При слабых каналах связи как это видно из 2 таблицы скорость работы практически одинакова.
Метки: cURL, file_get_contents, сокет
А где данные второй таблицы то?
В каждой таблице по 3 строки т.е. они одна над другой распологаются
Автору спасибо!
Как раз то что я искал
Там кавычка в последней строчке кода затисалась