【curl】通信時間の計測

curlのオプションで通信時にかかる時間の計測ができます。
どの時間帯が長引いているか等で、不具合の原因切り分けができるかもしれません。
manページ
コマンド
$ curl -w "\ntime_namelookup: %{time_namelookup}\ntime_connect: %{time_connect}\ntime_appconnect: %{time_appconnect}\ntime_pretransfer: %{time_pretransfer}\ntime_redirect: %{time_redirect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" https://curl.se/docs/manpage.html <レスポンス内容...> time_namelookup: 0.004318 time_connect: 0.061376 time_appconnect: 0.180256 time_pretransfer: 0.180681 time_redirect: 0.000000 time_starttransfer: 0.217821 time_total: 0.375091
参考
time_namelookup
が大きい場合...名前解決に時間がかかっている
time_pretransfer
とtime_starttransfer
の差が大きい場合...サーバー側の処理に時間がかかっている
time_namelookup: <開始から名前解決完了までにかかった時間> time_connect: <開始からTCP接続完了までにかかった時間> time_appconnect: <開始からSSLハンドシェイク成功までにかかった時間> time_pretransfer: <開始からファイル転送開始までにかかった時間> time_redirect: <リダイレクトにかかった時間> time_starttransfer: <開始からレスポンスの最初の1byteが到達するまでにかかった時間> time_total: <開始から終了まで>