おおよそ、以下を使用してDNS名を解決するプロセスを測定できます。
time getent hosts server.com
そして、キャッシュされていないクエリは平均約50ミリ秒かかりますが、キャッシュされたクエリは平均約5ミリ秒かかります(これは非常に素晴らしい違いです)。
しかし、単純なソケット接続を測定するために同じことをどのように実行できますか?次のコマンドを探しています。
time cmd_to_resolve_dns_and_connect_but_no_wait_for_input_or_output
そうでなければ
time cmd_to_download --option-to-ignore-everything-after-socket-connect
それ以外の場合:
cmd_to_download --the-suitable-process-halt-command --option-to-print-time
(HTTP)サーバーに接続するのにかかる時間がわかっていれば大丈夫でしょう(もちろん、コマンドで実行される内部DNS名解決にかかる時間を減らすこともできます。オプションの解析や印刷に時間がかかるなどの作業もわかります)正確な測定は必要ありませんが、スクリプトではなく私の目のためのコマンドが必要です。
答え1
この試み:
time nc -zw60 google.com 80
(包装nc
からnetcat
)
またはより良い読みやすさのために(出力):
TIMEFORMAT='%E'
time nc -zw60 google.com 80