您的位置 首页 > 数码极客

【ttl64】如何测量服务器网络带宽、延迟、抖动和丢包率?

为什么要测量带宽、延迟、抖动和丢包率?

当我们说网络环境好的时候,通常意味着我们访问网站的“感觉”就打开了。但是相反,如果一个网站开了很久,网络环境会不好吗?不一定,但网站本身可能有问题。如果这是自己的网站,就不会想反复刷新页面,或者多带几台电脑,以“感觉”的速度作为判断依据。我们需要更可靠的技术手段。这些指标是判断服务器网络是否良好的基本指标。

除了故障排除外,在以下情况下还需要了解这些参数:

购买VPS:购买VPS,特别是国外VPS时,您可能想知道能否在国外和国内无缝访问VPS,尤其是带宽参数是否与实际购买一致。性能测试:要对web站点执行性能测试,必须确保网络环境满足指标要求。什么指标合格?

首先,没有一般指标,不同的应用程序需要的指标也不同,因为访问IP电话、视频和网站所需的网络指标要求不同。这里只分析网站访问。

从服务器环境的角度来看,服务器只能控制自己的带宽,但不能控制最终用户实际访问的环境。服务器要做的是在恶劣的环境下提供更好的体验。这不是本文的主题,所以在谈论指标时,并不意味着服务器的观点。

从用户(开发人员或最终用户)环境的角度来看,如果站点本身满足要求(Google Pagespeed Insight达到90分以上),则网络环境必须满足哪些指标,用户才能快速打开我们的站点。这个本身也是经验指标,没有定论。以下指标是我在进行性能测试时要求的指标,与普通用户相比,访问网站更高,因此可以满足这个指标。网络环境没问题。

带宽:与服务提供商提供的最大带宽大致相当的延迟时间:100毫秒抖动:20毫秒数据包丢失率:1%的测量方法

测量服务器带宽

使用Iperf工具测试服务器带宽。服务器带宽分为服务器和客户端,需要在两侧安装iperf工具。在Linux上,可以通过yum或apt-get直接安装。

在服务器端(假定IP为106.14.26.11)运行iperf服务:

#iperf -s

-银

Server listening on TCP port 5001

Tcp windows size : 85.3 kbyte(默认)

这是一台下行带宽均接近100 mbits/秒的服务器,实测数据不应偏离此数字太远。

客户端

上行和下行带宽测试

$iperf -c 106.14.26.11 -t 60 -d

-银

Server listening on TCP port 5001

Tcp windows size : 85.3 kbyte(默认)

-银

-银

客户端连接至45.32.64.187、TCP端口5001

Tcp window size : 197 kbyte(默认)

-银

[4]local 104 . 250 . 144 . 8 port 50040 connected with 106 . 14 . 26 . 11 port 5001

[5]local 104 . 250 . 144 . 8 port 5001 connected with 106 . 14 . 26 . 11 port 34386

[ID] Interval Transfer Bandwidth

[4]0 . 0-60 . 0 sec 658 Mbytes 92 . 0 mbits/sec #上行链路带宽

[5]0.0-60.4 sec 628 Mbytes 87.4 mbits/sec #下行带宽

测试结果显示,上行带宽为92.0Mbits/sec,下行带宽为87.2Mbits/sec,低于服务器的100Mbits/sec,但并没有低得离谱。

如果客户端无法连接到iperf服务器,则主机上的防火墙拦截或VPS提供程序可能已进行了限制。在前一种情况下,可以通过iptables解决。在后一种情况下,有多种解决方案,如修改VPS提供者的控制台、与VPS提供者联系,以及将端口修改为外部可访问的端口。

延迟、抖动和丢包率测量

延迟、抖动、丢包率、直接PING测试即可。要测量这个值,最好抓住100个数据包测试。

$ ping -c 100 www.baidu.com

PING www.a. ): 56 data bytes

64 bytes from 163 . 177 . 151 . 1093360 icmp _ seq=0 TTL=55 time=26 . 639 ms

64 bytes from 163 . 177 . 151 . 1093360 icmp _ seq=1 TTL=55 time=24 . 329 ms

64 bytes from 163 . 177 . 151 . 1093360 icmp _ seq=2 TTL=55 time=24.794 ms

64 bytes from 163 . 177 . 151 . 1093360 icmp _ seq=3 TTL=55 time=22.709 ms

64 bytes from 163 . 177 . 151 . 1093360 icmp _ seq=4 TTL=55 time=39.994 ms

64 bytes from 163 . 177 . 151 . 1093360 icmp _ seq=5 TTL=55 time=50.786 ms。省略

C.

- www.a. ping statistics -

100 packets transmitted、100 packets received、0.0% packet loss #最后这个比率是数据包丢失率

round-trip min/avg/max/STD dev=21.505 ms #分别表示最小延迟、平均延迟、最大延迟和抖动(抖动是延迟标准差)

根据以上结果,我们得出了结论:

延迟:26.743毫秒

抖动: 6.613毫秒

数据包丢失率3360 0.0%

上面的实验都是有时间可以做的,但还是很有用的。

如果觉得有用的话,可以拭目以待~

关于作者: luda

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐