Webサイトの応答時間は、ユーザーエクスペリエンスに大きな影響を与える可能性があります。また、Web開発者、または単にそれらをまとめて整理する責任があるサーバー管理者の場合は、ユーザーが感じないようにする必要があります。サイトにアクセスしているときにイライラする–「スピードの必要性」が本当にあります 」。
また読む :httpstat –ウェブサイトのパフォーマンスをチェックするためのカール統計ツール
このガイドでは、LinuxコマンドラインからWebサイトの応答時間をテストする方法を説明します。ここでは、時間を秒単位で確認する方法を示します。所要時間は次のとおりです。
- 名前解決を実行します。
- サーバーへのTCP接続用。
- ファイル転送を開始します。
- 転送される最初のバイト。
- 完全な操作のため。
さらに、HTTPS対応サイトの場合、リダイレクト、およびサーバーへのSSL接続/ハンドシェイクが完了するまでにかかる時間を秒単位でテストする方法についても説明します。いいですね、わかりました。始めましょう。
cURL は、FILE、FTP、FTPS、HTTP、HTTPSなどのプロトコルを使用して、サーバーとの間でデータを転送するための強力なコマンドラインツールです。ほとんどの場合、コマンドラインダウンローダーとして、またはHTTPヘッダーをチェックするために使用されます。ただし、ここでは、あまり知られていない機能の1つについて説明します。
cURL 便利なオプションがあります:-w
操作完了後にstdoutに情報を印刷します。 Webサイトの上記のさまざまな応答時間をテストするために使用できるいくつかの変数があります。
時間に関連する変数のいくつかを使用します。これらの変数は、特定の形式でリテラル文字列として、またはファイル内で渡すことができます。
したがって、ターミナルを開いて、以下のコマンドを実行します。
$ curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com


上記の形式の変数は次のとおりです。
- time_namelookup –開始から名前の解決が完了するまでの時間(秒単位)。
- time_connect –開始からリモートホスト(またはプロキシ)へのTCP接続が完了するまでにかかった時間(秒単位)。
- time_pretransfer –時間(秒単位)は、開始からファイル転送が開始される直前までかかりました。
- time_starttransfer –開始から最初のバイトが転送される直前までの時間(秒単位)。
- time_total –完全な操作が継続した合計時間(秒単位)(ミリ秒の解像度)。
フォーマットが長すぎる場合は、ファイルに書き込んで、以下の構文を使用して読み取ることができます。
$ curl -s -w "@format.txt" -o /dev/null http://www.google.com
上記のコマンドでは、フラグ:
-
-s
–curlにサイレントに動作するように指示します。 -
-w
–stdoutに情報を印刷します。 -
-o
–出力のリダイレクトに使用されます(ここでは、出力を / dev / nullにリダイレクトして破棄します 。
HTTPSサイトの場合、以下のコマンドを実行できます:
$ curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://www.google.com


上記の形式では、新しい時間変数は次のとおりです。
- time_appconnect –開始からリモートホストへのSSL接続/ハンドシェイクが完了するまでの時間(秒単位)。
- time_redirect –最終トランザクションが開始されるまでに、名前の検索、接続、事前転送、転送を含むすべてのリダイレクト手順にかかった時間(秒単位)。複数のリダイレクトの完全な実行時間を計算します。
注意すべき重要なポイント。
- さまざまなテストを実行すると、応答時間の値が(いくつかの要因により)変化し続けることに気付くでしょう。したがって、いくつかの値を収集して平均速度を取得することをお勧めします。
- 次に、上記のコマンドの結果から、HTTP経由でのWebサイトへのアクセスはHTTPS経由よりもはるかに高速であることがわかります。
詳細については、cURLのマニュアルページを参照してください:
$ man curl
最後になりましたが、結果が満足のいくものでない場合は、サーバー上またはコード内で調整を行う必要があります。 Linuxでウェブサイトの読み込みを高速化するためのプログラムとヒントを説明する次のチュートリアルの使用を検討してください。
- DebianおよびUbuntuにNgx_Pagespeed(速度最適化)を使用してNginxをインストールする
- CentOS7のNgx_PagespeedでNginxのパフォーマンスを高速化
- NginxとGzipモジュールを使用してウェブサイトを高速化する方法を学ぶ
- TCPBBRを使用してLinuxサーバーのインターネット速度を向上させる方法
それで全部です!これで、コマンドラインからWebサイトの応答時間をテストする方法がわかりました。以下のフィードバックフォームから質問できます。