我的任务是测量2台机器之间的网络延迟(1路和2路都可以)。这两台电脑在同一个房间里,在同一个网络上,并连接到同一个路由器上。
当我使用ping
命令时,我得到了14-18us
往返时间。当我运行onload ping
(Solarflare内核旁路)时,我得到了5-7us
。但是5-7us
看起来还是太长了。
我还可以使用哪些其他命令来测量2台机器之间的最低延迟?我只关心最低的延迟,而不是吞吐量;理想的命令应该发送带有1字节有效负载的数据包,以最小化成本。
发布于 2022-05-26 17:10:25
我想你们的延误时间很短。但是你可以试着用更短的平和马术。
ping -s 16 <destination_IP>
ping -s 0 <destination_IP>
通常,ping数据包的默认大小是第三层上的84B(帧长度为98字节)。-s 16
标志只要求发送44B(58B帧长度),即较小的分组大小然后缺省值。
如果使用-s 0
,则ICMP回波请求L3分组大小为28B(42B帧)。这是最短的有效载荷。但是响应包是60B。
射门是另一种可能性:
sudo apt-get install arping
sudo arping <destination_IP>
最终
sudo arping -S <source_IP> -i <interface> <destination_IP>
在我的测试中,请求帧长度为58B,答案为60B。
您可以使用Wireshark检查情况、数据包大小和响应时间。
https://askubuntu.com/questions/1410729
复制