7

サーバーを購入しましたが、インターネット接続(速度)を確認する必要があります。

それを行う簡単な方法はありますか?

グーグルで検索しましたが、何も見つかりませんでした...

これは私がしました:

<?php

$link = 'http://speed.bezeqint.net/big.zip';
$start = time();
$size = filesize($link);
$file = file_get_contents($link);
$end = time();

$time = $end - $start;

$speed = $size / $time;

echo "Server's speed is: $speed MB/s";


?>

それが正しいか?

4

4 に答える 4

8

試す:

<?php

$link = 'http://speed.bezeqint.net/big.zip';
$start = time();
$size = filesize($link);
$file = file_get_contents($link);
$end = time();

$time = $end - $start;

$size = $size / 1048576;

$speed = $size / $time;

echo "Server's speed is: $speed MB/s";


?>
于 2012-07-01T16:39:37.780 に答える
6

リモートデスクトップを使用している場合は、Webブラウザーをインストールし、speedtest.netにアクセスして速度をテストします。

そうでない場合は、サーバーのダウンロード速度をテストする方法は次のとおりです。

  • rootとしてログインします
  • タイプwget http://cachefly.cachefly.net/100mb.test
  • 次のように表示されます。100%[======================================>] 104,857,600 10.7M/s-10.7M/sはダウンロード速度です。

サーバーが複数ある場合は、2台のサーバー間でファイルを転送することでアップロード速度をテストできます。

于 2012-07-01T16:48:16.560 に答える
2

高速で動作することがわかっているサーバー(Googleなど)に接続します。次に、最初のパケットを送信してから最初のパケットを受信するまでにかかる時間を測定します。これがアップロード時間です。最初のパケットを受信して​​から最後のパケットを受信するまでの時間がダウンロード時間です。次に、転送されたデータの量で割ると、結果が得られます。

例:

$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";

Content-Length(ヘッダーがないため、Googleのサーバーからエラーメッセージが表示されます)

数回実行して平均を取得しますが、Googleがあまり望んでいないと思うので、あまり実行しないでください。

于 2012-07-01T16:50:50.637 に答える
0

ダウンロードの場合、平均ダウンロード速度を計算するスクリプトを作成できます。

$start = time(true);

$fileSize = '10240'; // if the file's size is 10MB

for ($i=0; $i<10; $i++) {
    file_get_contents('the_url_of_a_pretty_big_file');
}

$end = time(true);

$speed = ($fileSize / ($end - $start)) / $i * 8;

echo $speed; // will return the speed in kbps
于 2012-07-01T16:49:37.117 に答える