ネットワークレイテンシを測定するグラファイト/ダイヤモンドコレクターを書いています。具体的には、リモートサーバーのポートへの接続を開くのにかかる時間を測定する必要があります。そして、それはスクリプトを介して動作する必要があります。つまり、これをインタラクティブに実行するキーボード上の人間はいません。
必要なものを正確に実行する架空のパラメータを使用した例をtelnetに示します。
time telnet --close-connection-immediately-after-established somehost.somedomain.com 1234
Trying somehost.somedomain.com...
Connected to somehost.somedomain.com.
Escape character is '^]'.
Connection closed automatically after established.
real 0m3.978s
user 0m0.001s
sys 0m0.003s
基本的に、上記の例で組み込みツールのみを使用して3.978を出力するコマンドラインの方法は何ですか?
Telnetを、私が想定するスクリプトにラップして、問題を発生させることができます。
^]
close
...しかし、それはかなり醜いようです。何か案は?
何について:
time nc -zw30 <Host> <port>
ping
を使用するか、クライアント/サーバー設定を構成して、確立されたUNIXネットワークベンチマークツールの1つを使用します。
https://www.binarytides.com/linux-commands-monitor-network/
https://access.redhat.com/solutions/2122681
-
time
+ nc
は、レイテンシの大まかな見積もりを取得するのに役立ちますが、実稼働接続の評価ではファクトとして使用しないでください。
たとえば、追加のプロセス(time
など)のインスタンス化と実行には、時間とコストがかかります。たとえば、time
+ nc
では15〜20ミリ秒の結果が得られましたが、従来のping/ICMPエコーでは、結果が3〜5ミリ秒程度でした。簡単なテストでは、pingがうまく機能しているように見えました。より複雑な結果を得るには、通常、クライアントサーバーのセットアップが必要です。
次のようなものを使用してください:
$: echo 'exit' | time telnet <Host> <PORT>