【curl】時間を測定するオプション一覧を調べてみた | 瀬戸内の雲のように

【curl】時間を測定するオプション一覧を調べてみた

Posted: 2019-03-04


スポンサーリンク

目次

はじめに

curlはWEBサービスやAPIを実行するクライアントとして使えますが、サービスの正常性監視に使う人も多いかと思います。
今回はそんな時に使える、時間を測定するオプションについて調べてみました。

 

前提:使い方

今回説明するオプションは -w オプションとセットで使います。
-w オプションは、curlの実行時に得たいろいろな情報を標準出力(もしくはファイル)に出力するオプションです。

早速ですが、このオプションで使える 時間測定に関係するオプション は以下の通りです。

 

オプション一覧

以下がオプションの一覧です。右側がmanの説明をgoogle翻訳した内容です
 

オプション manページ訳
time_appconnect 開始からリモートホストへのSSL / SSH / etc接続/ハンドシェイクが完了するまでに要した時間(秒単位)。
time_connect リモートホスト(またはプロキシ)へのTCP接続が完了するまでに要した時間(秒単位)。
time_namelookup 開始から名前解決が完了するまでに要した時間(秒単位)。
time_pretransfer 開始からファイル転送が開始される直前までにかかった時間(秒単位)。これには、関係する特定のプロトコルに固有のすべての転送前コマンドとネゴシエーションが含まれます。
time_redirect 最終トランザクションが開始されるまでに、名前検索、接続、事前転送、および転送を含むすべてのリダイレクト手順に要した時間(秒単位)。 time_redirectは、複数のリダイレクトに対する完全な実行時間を示します。 (7.12.3で追加)
time_starttransfer 開始から最初のバイトが転送される直前までにかかった時間(秒単位)。これには、time_pre-transferと、サーバーが結果を計算するのに必要な時間も含まれます。
time_total フル操作が継続した合計時間(秒単位)。時間はミリ秒の分解能で表示されます。

 

実際に使ってみた

ちなみに全てのオプションを付けた場合の例はこんな感じです。(yahooに対して使ってみた場合)

コマンド

curl -o /dev/null -sS -w "time_appconnect: %{time_appconnect}\ntime_connect: %{time_connect}\ntime_namelookup: %{time_namelookup}\ntime_pretransfer: %{time_pretransfer}\ntime_redirect: %{time_redirect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" https://www.yahoo.co.jp

何がなんやらさっぱり。。。
結果は以下の通り。

time_appconnect: 0.164620
time_connect: 0.008357
time_namelookup: 0.004234
time_pretransfer: 0.164760
time_redirect: 0.000000
time_starttransfer: 0.186998
time_total: 0.191287

以上です。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back