networking - 通过 ping 计算上传/下载速度

标签 networking network-programming performance ping

如何通过平均 ping 速率计算互联网连接的速度。其中涉及哪些计算。是否可以通过 ping 速率计算上传/下载限制

编辑 如果 ping 不能解决问题,还有什么办法?

最佳答案

我使用 ping 来计算本地网络的带宽。我认为它与其他测量带宽的方法(例如下载大文件)一样准确。如果您有到互联网的对称链接(即不是 adsl),您也可以使用它来连接互联网。

我是这样做的:

我有一个千兆位以太网 LAN,我想测量我的计算机和服务器机房中的主机之间的速度。我的 MTU 是 1500,因此我使用数据包大小 1472。在本次测试中,我随机使用了 83,333 个数据包(大约 1 GB)。然后:

sudo ping -f -c 83333 -s 1472 192.168.3.103

在结果的最后我得到:

round-trip min/avg/max/stddev = 0.174/0.219/2.078/0.020 ms

因此,发送 1500 字节和接收 1500 字节平均需要 0.219 毫秒,即 24 kb。

24 kb / 0.219 ms = 110 Mb/s

如果您想将其用于互联网上的服务器,则需要将数据包大小降低到 1464(对于 MTU 1492)之类的值,删除 -f 选项并降低计数,这样就不会花费太长时间完成。

附:我认为这应该交给 super 用户,而不是 stackoverflow。

关于networking - 通过 ping 计算上传/下载速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4575537/

相关文章:

c# - 为什么我没有被注册为客户?

c - WSAStartup 函数如何启动 Winsock DLL 的使用?

ios - CFStream 类是否符合 IPV6 标准?我正在使用 CFStreamCreatePairWithSocketToHost 连接到套接字而不是低级套接字 api

sockets - 向套接字发送(或接收)数据时出错(Haskell)

linux - NFS 实现,ubuntu 发送空的 nfs_fh3?

c - 使用 libsoup 时出错

performance - 虚拟内存在当今廉价 RAM 的世界中仍然重要吗?

c# - SQL 大量 ID 选择 - 如何使其更快?

performance - 如何使afterInsert/afterUpdate GORM方法成为异步方法

sockets - HTTP 丢包