Провёл некий тест.
Файл 0.php
<?
for($i=0;$i<1000;$i++){
$socket = fsockopen('www.test1.ru', 80, $errno, $errstr, 30);
if(!$socket)die("$errstr($errno)");
fwrite($socket, "GET /pomoyka/00.php?a=".$i." HTTP/1.1\r\n");
fwrite($socket, "Host: www.test1.ru\r\n");
fwrite($socket,"Accept:*/*\r\n");
fwrite($socket,"User-agent:Opera 10.00\r\n");
fwrite($socket,"Connection:Close\r\n");
fwrite($socket,"\r\n");
fclose($socket);
}
Файл 00.php
<?
sleep(10);
$f=file_get_contents('asd.dat');
$fp=fopen("asd.dat","a+");
flock($fp,LOCK_EX);
ftruncate($fp,50);
fputs($fp,$f.','.$_GET['a']);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);
}
При выполнение, загрузка ЦП 0%, только на секунду поднялась до 1%
Во второй раз, увеличил цикл до 10000, во время выполнения самого цикла, загрузка была 1-3%, как только цикл завершился, загрузка снова стала 0%.
Если я ошибся, пожалуйста скажите. Спасибо за внимание.