Linux下如何模拟网络延迟
本文于 12 天前发布,最后更新于 10 天前

为了测试程序在弱网环境下的表现,通常需要创造一个“不那么稳定”的网络环境,但这种模拟十分不好控制变量,比如希望控制网络延迟在700ms时,现实环境则是难以实现的,那有什么解决的办法呢?

可以在Linux下使用tc命令来模拟延迟。

配置网络延迟700ms

tc qdisc add dev eth0 root netem delay 700ms

配置后,测试网络

[root@primary linuxscript]# 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=251 time=710 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=251 time=710 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=251 time=710 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=4 ttl=251 time=710 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=5 ttl=251 time=710 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=6 ttl=251 time=710 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=7 ttl=251 time=710 ms
^C
--- baidu.com ping statistics ---
8 packets transmitted, 7 received, 12% packet loss, time 7414ms
rtt min/avg/max/mdev = 710.051/710.084/710.130/0.901 ms

可以看到网络延迟为710ms,然后,删除该网络延迟

tc qdisc del dev eth0 root netem delay 700ms

再次测试

[root@primary linuxscript]# 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=251 time=10.0 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=251 time=10.1 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=251 time=10.1 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=4 ttl=251 time=10.0 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=5 ttl=251 time=10.0 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=6 ttl=251 time=10.1 ms
^C
--- baidu.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5006ms
rtt min/avg/max/mdev = 10.008/10.077/10.123/0.044 ms

可以看到正常情况下的网络延迟为10ms。

注意
命令中的eth0是所配置与测试的网卡名称。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇