HTTP要求をミリ秒単位で計時するシンプルなLinuxツール


12

特定のURLからリモートWebページを取得するのにかかる時間をミリ秒の精度で測定できるシンプルなツールまたは組み込みコマンドを探しています。

回答:


12

これはあなたが探していることをしますか?

time wget http://example.com

これには、wgetの起動と実行にかかる時間が含まれますが、これはサーバーの応答時間よりも大幅に長くなる可能性があります。
ポールリンチ

@PaulLynch:簡単なテストを行いました。これを1つの端末rm foo; touch foo; python -m SimpleHTTPServerで実行し、別の端末で実行しましたtime wget --quiet --output-document=/dev/null localhost:8000/foo。結果は2ミリ秒でした。同じことwgetをgoogle.com(約1万文字を取得)に対して実行し、約4分の1秒を取得しました。その場合、開始/実行時間を約1%と呼びましょう。次に、比較のために、time curl file://foo約4ミリ秒でした。
追って通知があるまで一時停止します。

httpリクエストについては、あなたは正しいようです。そのため、約2ミリ秒のスローダウンしかありません。https URLを取得しようとしていました。そのため、Chromeが約10ミリ秒で返すリクエストに対してwgetは約25ミリ秒遅くなります(「キャッシュから」ではありません)。wgetとChromeの両方がWebサーバーと同じマシンで実行されており、「localhost」としてアドレス指定しているため、時間差についてはwgetのせいにします。
ポールリンチ

7

Httpingはそれを行います。

Httpingは「ping」に似ていますが、httpリクエスト用です。URLを指定すると、接続、要求の送信、および応答の取得に要する時間(ヘッダーのみ)が表示されます。ネットワークを介した送信にも時間がかかることに注意してください!そのため、Webサーバー+ネットワークの遅延を測定します。


3

Wiresharkを使用すると、転送を詳細に調べることができます。Dennisが提案したように、単一のファイルをダウンロードするのにかかる時間を確認できます。または、WebブラウザーでURLを開くと、関連ファイル(画像、スクリプトなど)をすべてロードするのにかかる時間を確認できます。


2

あなたはこの答えに従ってカールでそれを行うことができます

新しいファイルを作成し、curl-format.txt貼り付けます:

    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

次に、次のようにcurlを実行します。

curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.