JSON 形式でデータを受信し、そのデータを処理して、結果を要求者に返す Web サービスがあります。
を使用して、リクエスト、レスポンス、合計時間を測定したいと思いますcURL
。
私のリクエストの例は次のようになります。
curl -X POST -d @file server:port
現在、私はtime
Linux のコマンドを使用してこれを測定しています:
time curl -X POST -d @file server:port
ただし、 time コマンドは合計時間のみを測定するので、私が探しているものとは少し異なります。
を使用してリクエスト時間と応答時間を測定する方法はありますかcURL
?
ベストアンサー1
この素晴らしいブログ投稿から...https://blog.josephscott.org/2011/10/14/timing-details-with-curl/
cURLはリクエストの詳細をフォーマットされた出力でサポートしています(詳細についてはcURLのマニュアルページをご覧ください、 の下-w, –write-out <format>
)。ここでは、提供されているタイミングの詳細にのみ焦点を当てます。以下の時間は秒単位です。
新しいファイルを作成し
curl-format.txt
、以下を貼り付けます:time_namelookup: %{time_namelookup}s\n time_connect: %{time_connect}s\n time_appconnect: %{time_appconnect}s\n time_pretransfer: %{time_pretransfer}s\n time_redirect: %{time_redirect}s\n time_starttransfer: %{time_starttransfer}s\n ----------\n time_total: %{time_total}s\n
リクエストする:
curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"
または、Windows の場合は...
curl -w "@curl-format.txt" -o NUL -s "http://wordpress.com/"
これが何をするか:
-w "@curl-format.txt"
cURLにフォーマットファイルを使用するように指示します
-o /dev/null
。リクエストの出力を/dev/nullにリダイレクトします。cURLに
-s
進捗メーターを表示しないように指示します
"http://wordpress.com/"
。これは要求しているURLです。URLに「&」クエリ文字列パラメータがある場合は特に引用符を使用してください。
そして返されるものは次のとおりです:
time_namelookup: 0.001s
time_connect: 0.037s
time_appconnect: 0.000s
time_pretransfer: 0.037s
time_redirect: 0.000s
time_starttransfer: 0.092s
----------
time_total: 0.164s
結果をマイクロ秒単位で出力するオプションはまだ見たことがありませんが、ご存知の場合は以下のコメント欄に投稿してください。
Linux/Mac ショートカット (エイリアス) を作成する
alias curltime="curl -w \"@$HOME/.curl-format.txt\" -o /dev/null -s "
その後は、単に電話をかけるだけです...
curltime wordpress.org
コメントをくれたPete Doyleさんに感謝します!
Linux/Mac のスタンドアロン スクリプトを作成する
.txt
このスクリプトでは、書式設定を格納するための別のファイルは必要ありません。
実行可能パスのどこかに新しいファイル を作成しcurltime
、次の内容を貼り付けます。
#!/bin/bash
curl -w @- -o /dev/null -s "$@" <<'EOF'
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
EOF
次に、エイリアスと同じ方法で呼び出します。
curltime wordpress.org
Windows ショートカット (別名 BAT ファイル) を作成する
およびcurltime.bat
と同じフォルダーにという新しいテキスト ファイルを作成し、次の行を貼り付けます。curl.exe
curl-format.txt
curl -w "@%~dp0curl-format.txt" -o NUL -s %*
次に、コマンドラインから次のように呼び出すだけです。
curltime wordpress.org
PATH
(どのフォルダーからでもコマンドを使用できるようにするには、フォルダーが Windows 変数にリストされていることを確認してください。)