ping localhostがあふれるとRTTが低くなるのはなぜですか?

ping localhostがあふれるとRTTが低くなるのはなぜですか?

妥当性調査の一環として、pingHTTP要求時間の下限を推定した。

テスト速度を上げるためにping間隔を下げ(合理的な平均を得るのに十分なpingを得るために)、間隔が短くなるとlocalhostのRTTが低下することを確認しました。たとえば、

>sudo ping -i 0.01 -c500 -q localhost
PING localhost (127.0.0.1) 56(84) bytes of data.

--- localhost ping statistics ---
500 packets transmitted, 500 received, 0% packet loss, time 5986ms
rtt min/avg/max/mdev = 0.006/0.007/0.055/0.004 ms
>sudo ping -i 0.00 -c500 -q localhost
PING localhost (127.0.0.1) 56(84) bytes of data.

--- localhost ping statistics ---
500 packets transmitted, 500 received, 0% packet loss, time 8ms
rtt min/avg/max/mdev = 0.003/0.004/0.016/0.000 ms, ipg/ewma 0.018/0.004 ms

(実際の-fオプションを使用すると同様の結果が得られます-i 0.00)。

洪水の場合、RTTが4usで、ping洪水ではなく、RTTが8usであるのはなぜですか?フラグをスキップすると、-q非洪水は最大34usまでになるため、状況がさらに悪化します。個々のpingごとに1行を印刷するのになぜそれほど違いがありますか?

私の考えでは、ICMPパケットがキューに入り、カーネルがキューを処理する前に遅延があり、さらに多くのICMPパケットがある場合は同時に処理できます。

その後の質問は、ping RTTがlocalhostに関連付けられているか、おそらくlocalhost HTTP要求を実行するときにTCP / IPが使用されないかどうかです。

ちなみに私はLinux(#1 SMP Debian 3.2.68-1 + deb7u2)を実行しています。

ベストアンサー1

どのタイプのCPUを使用しているのかわかりません。私の場合は-i 0.0145μsのrttが出てきますが、-fこの違い(SandyBridge CPUの場合)はC6スリープ状態から目覚めるのにかかる時間とおおよそ一致します。

http://ena-hpc.org/2014/pdf/paper_06.pdf

はい、端末エミュレータ(またはSSHなど)によっては、コンソールに印刷するのに費用がかかる場合があります。

おすすめ記事