Тестирование способов загрузки в php


Работа, аналитика и исследования в интернете требуют обработки достаточно больших объёмов информации. Автоматизировать ручной труд не сложно с помощью скриптов 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 таблицы скорость работы практически одинакова.

Метки: , ,

4 комментариев на “Тестирование способов загрузки в php”

  1. Игроман пишет:

    А где данные второй таблицы то?

  2. Administrator Bitman пишет:

    В каждой таблице по 3 строки т.е. они одна над другой распологаются

  3. stig85 пишет:

    Автору спасибо!
    Как раз то что я искал

  4. stig85 пишет:

    Там кавычка в последней строчке кода затисалась :)

Оставить комментарий

CAPTCHA image