网络延迟测试,Linux中模拟网络延迟详解

模拟网络延迟的目的是测试应用程序在高延迟网络环境下的表现,也可以测试其在不同网络条件下的性能 ,对于生产项目或许有用。

# 测试当前网络,
[root@client ~]# ping baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=39.4 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=38.7 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=39.6 ms
^C
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 38.719/39.236/39.557/0.369 ms

可以看到,当前网络延迟平均在 38.719ms,使用tc命令增加网络延迟。

# 先查看当前网卡
[root@client ~]# ip addr
1: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:8b:8e:2b brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.85/24 brd 192.168.2.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe8b:8e2b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
# 对所使用的网卡增加 600ms 的延迟。
[root@client ~]# tc qdisc add dev ens160 root netem delay 600ms
Error: Specified qdisc not found.

报错了,需要安装内核的一个包解决。

[root@client ~]# yum -y install kernel-modules-extra
# 再跑一次命令,增加延迟
[root@client ~]# tc qdisc add dev ens160 root netem delay 600ms
[root@client ~]# ping baidu.com
PING baidu.com (39.156.66.10) 56(84) bytes of data.
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=128 time=632 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=128 time=631 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=3 ttl=128 time=630 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=4 ttl=128 time=630 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=5 ttl=128 time=630 ms
^C
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4245ms
rtt min/avg/max/mdev = 630.425/630.711/631.617/0.843 ms

可以发现延迟稳定在 600 多毫秒,等待测试完成后,需要将add命令改成del即可完成恢复。

[root@client ~]# tc qdisc del dev ens160 root netem delay 600ms
[root@client ~]# ping baidu.com
PING baidu.com (39.156.66.10) 56(84) bytes of data.
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=128 time=30.2 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=128 time=30.6 ms
^C
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 30.205/30.407/30.610/0.267 ms

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/58739.html

(0)
速盾高防cdn's avatar速盾高防cdn
上一篇 2024年5月16日 上午1:25
下一篇 2024年5月16日 上午1:27

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注