[解決済み】cURLを使用して、リクエストとレスポンスタイムを一度に測定する方法は?
質問
JSON形式のデータを受信し、データを処理して、その結果を要求者に返すWebサービスがあります。
リクエスト時間、レスポンス時間、合計時間を
cURL
.
私のリクエスト例は次のようになります。
curl -X POST -d @file server:port
で計測しており、現在は
time
というコマンドをLinuxで実行します。
time curl -X POST -d @file server:port
timeコマンドは 合計 とはいえ、これは私が求めているものとはまったく違うのですが。
を使用して、リクエストとレスポンスタイムを測定する方法はありますか?
cURL
?
解決方法は?
この素晴らしいブログ記事から... 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 にリダイレクトします。
-s
プログレスメーターを表示しないようにcURLに指示する
"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
(このフォルダがWindowsの
PATH
変数を使用することで、どのフォルダからでもコマンドを使用できるようになります)。
関連
-
[解決済み] cURLを使用したCORSリクエストのデバッグ方法は?
-
[解決済み] wgetやcurlのクエリでワイルドカードを使用する
-
[解決済み] CentOS で非 root ユーザーの SSL 接続で cURL が動作しない(エラー#77)。
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] cURL呼び出しによるHTTPリクエストを使用してヘッダーを送信する方法は?
-
[解決済み] cURL を使ってファイル付き POST データをアップロードする
-
[解決済み] POSTMANリクエストをCurlに変換する
-
[解決済み] ElasticSearchサーバの全インデックスを一覧表示しますか?
-
[解決済み】ファイルから取得した投稿データでcURLにリクエストを送信する。
-
[解決済み】cURLを使用してファイルの内容をbodyエンティティとして送信する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] .tar.gzファイル送信時にCurlエラー56 "Failure when receiving data from peer" が発生する。
-
[解決済み] cURLを使用したCORSリクエストのデバッグ方法は?
-
[解決済み] wgetやcurlのクエリでワイルドカードを使用する
-
[解決済み] cURL -d .パラメータ
-
[解決済み] Node.jsでcURLと同等?
-
[解決済み] curl -GETと-X GET
-
[解決済み] PATCH動詞をcurlで使用する方法
-
[解決済み】cURLを使用して、リクエストとレスポンスタイムを一度に測定する方法は?
-
[解決済み】curlのレスポンスボディの末尾に自動的に改行が追加される。
-
[解決済み] curl -GETと-X GET