mieć go połączyć się z serwerem wiesz, działa szybko (takich jak Google). Następnie zmierz, ile czasu zajmuje wysłanie pierwszego pakietu do otrzymania pierwszego pakietu - to jest twój czas ładowania. Czas od otrzymania pierwszego do ostatniego pakietu to czas pobierania. Następnie podziel według ilości przesłanych danych i uzyskaj wynik.
Przykład:
$times = Array(microtime(true));
$f = fsockopen("google.com",80);
$times[] = microtime(true);
$data = "POST/HTTP/1.0\r\n"
."Host: google.com\r\n"
."\r\n"
.str_repeat("a",1000000); // send one megabyte of data
$sent = strlen($data);
fputs($f,$data);
$firstpacket = true;
$return = 0;
while(!feof($f)) {
$return += strlen(fgets($f));
if($firstpacket) {
$firstpacket = false;
$times[] = microtime(true);
}
}
$times[] = microtime(true);
fclose($f);
echo "RESULTS:\n"
."Connection: ".(($times[1]-$times[0])*1000)."ms\n"
."Upload: ".number_format($sent)." bytes in ".(($times[2]-$times[1]))."s (".($sent/($times[2]-$times[1])/1024)."kb/s)\n"
."Download: ".number_format($return)." bytes in ".(($times[3]-$times[2]))."s (".($return/($times[3]-$times[2])/1024)."kb/s)\n";
(otrzymasz komunikat o błędzie z serwerów Google, z uwagi na cel Content-Length
brak)
uruchomić go kilka razy, dostać średnio, ale nie uruchom go za dużo, ponieważ nie sądzę, że Google chciałby go za dużo.
Prędkość pobierania przychodzi mi do głowy: zainstaluj klienta wiersza poleceń bittorrent i pobierz dystrybucję Linuksa (niezbyt nowa, ale niezbyt stara, tak, że jest dużo nasion). Zwykle wszystkie te nasiona mogą wysyłać tak szybko, jak twój serwer. – Aufziehvogel
Wygląda dobrze dla mnie. Czy to działa? – PeeHaa