web-dev-qa-db-ja.com

「telnet to port」テストを介して、できれば組み込みのLinuxツールを使用してレイテンシを測定する最良の方法は何ですか?

ネットワークレイテンシを測定するグラファイト/ダイヤモンドコレクターを書いています。具体的には、リモートサーバーのポートへの接続を開くのにかかる時間を測定する必要があります。そして、それはスクリプトを介して動作する必要があります。つまり、これをインタラクティブに実行するキーボード上の人間はいません。

必要なものを正確に実行する架空のパラメータを使用した例を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

...しかし、それはかなり醜いようです。何か案は?

7
r3cgm

何について:

time nc -zw30 <Host> <port>
23
Gilles Quenot

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がうまく機能しているように見えました。より複雑な結果を得るには、通常、クライアントサーバーのセットアップが必要です。

0
straville

次のようなものを使用してください:

$: echo 'exit' | time telnet <Host> <PORT>
0
Serg