【curl】通信時間の計測

f:id:tm200:20210610165136p:plain

curlのオプションで通信時にかかる時間の計測ができます。  
どの時間帯が長引いているか等で、不具合の原因切り分けができるかもしれません。

manページ

curl.se  

コマンド

$ 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_pretransfertime_starttransferの差が大きい場合...サーバー側の処理に時間がかかっている

time_namelookup: <開始から名前解決完了までにかかった時間>
time_connect: <開始からTCP接続完了までにかかった時間>
time_appconnect: <開始からSSLハンドシェイク成功までにかかった時間>
time_pretransfer: <開始からファイル転送開始までにかかった時間>
time_redirect: <リダイレクトにかかった時間>
time_starttransfer: <開始からレスポンスの最初の1byteが到達するまでにかかった時間>
time_total: <開始から終了まで>