逆引きUNIXコマンド/curlコマンドをWebサーバやネットワークの性能計測を行う
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* curlコマンドを使って、Webサーバやネットワークの性能計測...
curlコマンドによるWebサーバやネットワークの性能測定方法例...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連資料 [#o2781d4a]
-[[パケットキャプチャー Wireshark>ソフトウェア/ネットワー...
* curlコマンドの基本的な利用方法 [#hbceea4a]
curlコマンドはコマンドラインでのhttpクライアントとして、~
Webサーバからのファイルの取得によく使われています。~
curlはHTTP以外にも多数のプロトコルを扱うことができますが...
利用方法は以下のようにコマンドの引数にURLを指定するだけで...
www.example.tldという架空のサーバの、/file/test.txtという...
% curl http://www.example.tld/file/test.txt
このままですと、/file/test.txtの内容は標準出力、つまり端...
ファイルに出力する場合にはリダイレクトを利用するか、~
''-o''オプション、もしくは''-O''オプションを利用します。
% curl http://www.example.tld/file/test.txt > test.txt
% curl -o test.txt http://www.example.tld/file/test.txt
% curl -O http://www.example.tld/file/test.txt
上記のコマンドはいずれもURLで示されたファイルの中身をカレ...
(-OオプションはURLで示されたファイル名をそのまま出力先フ...
また、HTTPのリダイレクトが発生した場合には、それに追従す...
''-L''プションを追加すると、Webサーバの指示するリダイレク...
% curl -L http://www.example.tld/file/test.txt
デフォルトでは、curlコマンドはデータの取得情報をプログレ...
この表示を抑制したい場合には、''-s''オプションを追加しま...
% curl -o /dev/null http://www.example.tld/file/test.txt
% Total % Received % Xferd Average Speed Time ...
Dload Upload Total ...
5086 221 5086 11242 0 0 47344 0 --:--:--...
%
% curl -s -o /dev/null http://www.example.tld/file/test....
%
* curlコマンドの性能計測機能 [#l16d3d0c]
curlコマンドにはファイルを取得するだけでなく、~
その際の速度などを計測する機能がついています。~
この機能を使えば、サーバやネットワークの性能を簡単に計測...
以下のような情報を取得することができます。
:content_type|要求したドキュメントのコンテントタイプ
:http_code|HTTPのレスポンスコード
:http_connect|(プロキシサーバの利用による)CONNECTメソッ...
:local_ip|最終的なローカル(送信元)のIPアドレス
:local_port|最終的なローカル(送信元)での使用ポート
:num_connects|最終的な接続数
:num_redirects|リダイレクトされた回数
:redirect_url|(-Lオプションがなかった場合)リダイレクト...
:remote_ip|最終的なリモート(接続先)のIPアドレス
:remote_port|最終的なリモート(接続先)のポート番号
:size_download|ダウンロードした総byte数
:size_header|ダウンロードしたHTTPヘッダの総byte数
:size_request|送信したHTTPリクエストの総byte数
:size_upload|アップロードした総byte数
:speed_download|ダウンロード平均スピード(byte/秒)
:speed_upload|アップロード平均スピード(byte/秒)
:ssl_verify_result|SSLのベリファイ結果。0でベリファイ成功
:time_appconnect|プロセスの開始から接続先へのSSLハンドシ...
:time_connect|プロセスの開始から接続先(もしくはプロキシ...
:time_namelookup|プロセスの開始から名前解決が完了するまで...
:time_pretransfer|プロセスの開始からファイル転送が開始さ...
:time_redirect|プロセスの開始からリダイレクトが最終的に完...
:time_starttransfer|プロセスの開始から最初の1byteが転送さ...
:time_total|すべての処理が完了するまでの時間
:url_effective|最終的にコネクトしたURL
time_*やspeed_*などの情報は性能計測に有用でしょう。~
取得できる情報はcurlのバージョンによって異なるので、~
詳細はcurlのmanを確認して下さい。
* 性能情報のフォーマットファイル [#x97c26be]
まず、curl_perf_format.txtという名前のファイルをカレント...
そこに計測したい項目名を''%{''と''}''で囲んだものを列挙し...
判りやすくするために、項目をラベルとして書いておいたり、...
以下のようなファイルを作成しました。
url_effective: %{url_effective}\n
http_code: %{http_code}\n
time_total(sec): %{time_total}\n
time_namelookup(sec): %{time_namelookup}\n
time_connect(sec): %{time_connect}\n
time_appconnect(sec): %{time_appconnect}\n
time_pretransfer(sec): %{time_pretransfer}\n
time_redirect(sec): %{time_redirect}\n
time_starttransfer(sec): %{time_starttransfer}\n
size_download(byte): %{size_download}\n
size_upload(byte): %{size_upload}\n
size_header(byte): %{size_header}\n
size_request(byte): %{size_request}\n
speed_download(byte/sec): %{speed_download}\n
speed_upload(byte/sec): %{speed_upload}\n
content_type: %{content_type}\n
num_connects: %{num_connects}\n
num_redirects: %{num_redirects}\n
redirect_url: %{redirect_url}\n
* curlコマンドで性能計測を行う [#r484d706]
以下のようなオプションを付けてcurlを実行します。~
(ファイル内容の表示とファイル作成時のIO負荷をなくすため...
取得したファイルは''/dev/null''にリダイレクトし、-sオプシ...
% curl -s -w @perf_format.txt -o /dev/null http://www.ex...
url_effective: http://www.example.tld/file/test.txt
http_code: 200
time_total(sec): 0.231
time_namelookup(sec): 0.042
time_connect(sec): 0.056
time_appconnect(sec): 0.000
time_pretransfer(sec): 0.056
time_redirect(sec): 0
time_starttransfer(sec): 0.112
size_download(byte): 11162
size_upload(byte): 0
size_header(byte): 1534
size_request(byte): 352
speed_download(byte/sec): 48265.000
speed_upload(byte/sec): 0.000
content_type: text/html; charset=Shift_JIS
num_connects: 2
num_redirects: 0
redirect_url:
%
コマンド実行後、端末画面にcurl_perf_format.txtで指定した...
この機能を利用することで、実環境でのマシンやネットワーク...
以上、curlコマンドを使って、ネットワーク性能の計測を行う...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* curlコマンドを使って、Webサーバやネットワークの性能計測...
curlコマンドによるWebサーバやネットワークの性能測定方法例...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連資料 [#o2781d4a]
-[[パケットキャプチャー Wireshark>ソフトウェア/ネットワー...
* curlコマンドの基本的な利用方法 [#hbceea4a]
curlコマンドはコマンドラインでのhttpクライアントとして、~
Webサーバからのファイルの取得によく使われています。~
curlはHTTP以外にも多数のプロトコルを扱うことができますが...
利用方法は以下のようにコマンドの引数にURLを指定するだけで...
www.example.tldという架空のサーバの、/file/test.txtという...
% curl http://www.example.tld/file/test.txt
このままですと、/file/test.txtの内容は標準出力、つまり端...
ファイルに出力する場合にはリダイレクトを利用するか、~
''-o''オプション、もしくは''-O''オプションを利用します。
% curl http://www.example.tld/file/test.txt > test.txt
% curl -o test.txt http://www.example.tld/file/test.txt
% curl -O http://www.example.tld/file/test.txt
上記のコマンドはいずれもURLで示されたファイルの中身をカレ...
(-OオプションはURLで示されたファイル名をそのまま出力先フ...
また、HTTPのリダイレクトが発生した場合には、それに追従す...
''-L''プションを追加すると、Webサーバの指示するリダイレク...
% curl -L http://www.example.tld/file/test.txt
デフォルトでは、curlコマンドはデータの取得情報をプログレ...
この表示を抑制したい場合には、''-s''オプションを追加しま...
% curl -o /dev/null http://www.example.tld/file/test.txt
% Total % Received % Xferd Average Speed Time ...
Dload Upload Total ...
5086 221 5086 11242 0 0 47344 0 --:--:--...
%
% curl -s -o /dev/null http://www.example.tld/file/test....
%
* curlコマンドの性能計測機能 [#l16d3d0c]
curlコマンドにはファイルを取得するだけでなく、~
その際の速度などを計測する機能がついています。~
この機能を使えば、サーバやネットワークの性能を簡単に計測...
以下のような情報を取得することができます。
:content_type|要求したドキュメントのコンテントタイプ
:http_code|HTTPのレスポンスコード
:http_connect|(プロキシサーバの利用による)CONNECTメソッ...
:local_ip|最終的なローカル(送信元)のIPアドレス
:local_port|最終的なローカル(送信元)での使用ポート
:num_connects|最終的な接続数
:num_redirects|リダイレクトされた回数
:redirect_url|(-Lオプションがなかった場合)リダイレクト...
:remote_ip|最終的なリモート(接続先)のIPアドレス
:remote_port|最終的なリモート(接続先)のポート番号
:size_download|ダウンロードした総byte数
:size_header|ダウンロードしたHTTPヘッダの総byte数
:size_request|送信したHTTPリクエストの総byte数
:size_upload|アップロードした総byte数
:speed_download|ダウンロード平均スピード(byte/秒)
:speed_upload|アップロード平均スピード(byte/秒)
:ssl_verify_result|SSLのベリファイ結果。0でベリファイ成功
:time_appconnect|プロセスの開始から接続先へのSSLハンドシ...
:time_connect|プロセスの開始から接続先(もしくはプロキシ...
:time_namelookup|プロセスの開始から名前解決が完了するまで...
:time_pretransfer|プロセスの開始からファイル転送が開始さ...
:time_redirect|プロセスの開始からリダイレクトが最終的に完...
:time_starttransfer|プロセスの開始から最初の1byteが転送さ...
:time_total|すべての処理が完了するまでの時間
:url_effective|最終的にコネクトしたURL
time_*やspeed_*などの情報は性能計測に有用でしょう。~
取得できる情報はcurlのバージョンによって異なるので、~
詳細はcurlのmanを確認して下さい。
* 性能情報のフォーマットファイル [#x97c26be]
まず、curl_perf_format.txtという名前のファイルをカレント...
そこに計測したい項目名を''%{''と''}''で囲んだものを列挙し...
判りやすくするために、項目をラベルとして書いておいたり、...
以下のようなファイルを作成しました。
url_effective: %{url_effective}\n
http_code: %{http_code}\n
time_total(sec): %{time_total}\n
time_namelookup(sec): %{time_namelookup}\n
time_connect(sec): %{time_connect}\n
time_appconnect(sec): %{time_appconnect}\n
time_pretransfer(sec): %{time_pretransfer}\n
time_redirect(sec): %{time_redirect}\n
time_starttransfer(sec): %{time_starttransfer}\n
size_download(byte): %{size_download}\n
size_upload(byte): %{size_upload}\n
size_header(byte): %{size_header}\n
size_request(byte): %{size_request}\n
speed_download(byte/sec): %{speed_download}\n
speed_upload(byte/sec): %{speed_upload}\n
content_type: %{content_type}\n
num_connects: %{num_connects}\n
num_redirects: %{num_redirects}\n
redirect_url: %{redirect_url}\n
* curlコマンドで性能計測を行う [#r484d706]
以下のようなオプションを付けてcurlを実行します。~
(ファイル内容の表示とファイル作成時のIO負荷をなくすため...
取得したファイルは''/dev/null''にリダイレクトし、-sオプシ...
% curl -s -w @perf_format.txt -o /dev/null http://www.ex...
url_effective: http://www.example.tld/file/test.txt
http_code: 200
time_total(sec): 0.231
time_namelookup(sec): 0.042
time_connect(sec): 0.056
time_appconnect(sec): 0.000
time_pretransfer(sec): 0.056
time_redirect(sec): 0
time_starttransfer(sec): 0.112
size_download(byte): 11162
size_upload(byte): 0
size_header(byte): 1534
size_request(byte): 352
speed_download(byte/sec): 48265.000
speed_upload(byte/sec): 0.000
content_type: text/html; charset=Shift_JIS
num_connects: 2
num_redirects: 0
redirect_url:
%
コマンド実行後、端末画面にcurl_perf_format.txtで指定した...
この機能を利用することで、実環境でのマシンやネットワーク...
以上、curlコマンドを使って、ネットワーク性能の計測を行う...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: