IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

在 Linux 的应用中测试中的延时和丢包模拟

扶凯 2010-12-30 22:46:10 累计浏览 4,616 次
本机暂存

这是 RHCA 中的一个 BDP 的测试,这也是公司很常用的一种延时和丢包的模拟,现在分享给大家。

我们做的应用软件,还有测试 TCP/UDP  对比,测试 BDP 对 TCP/IP 的影响时,我们都需要一些网络中的延时和丢包模拟,很多商业的软件可以做这个事,其实完美的 Linux 本身就可以使用 TC 来实现这个功能. TC 中的 Netem 可以模拟时延,丢包,重复包,乱序等功能

建议大家如果测试的话,使用 tc 当中间的路由器,来接二个网卡,然后打开路由功能来测试。

tc 的最最基本的使用

tc qdisc show    # 显示
tc qdisc  add dev eth0 root ...... # 加入
tc qdisc  change  dev eth0 root ...... # 修改存在的 qdisc ,记的,加入同一条后只能用 change 来修改
tc qdisc del dev eth0 root  # 删除

Linux 中延时模拟

设置延时 3s :

tc qdisc add dev eth0 root netem delay 3000ms

可以在 3000ms 后面在加上一个延时,比如 ’3000ms 200ms‘表示 3000ms ± 200ms ,延时范围 2800 - 3200 之间.
结果显示如下

Linux 中丢包模拟

设置丢包 50% ,iptables 也可以模拟这个,但一下不记的命令了,下次放上来:

tc qdisc change dev eth0 root netem loss 50%

上面的设丢包,如果给后面的 50% 的丢包比率修改成 ’50% 80%’ 时,这时和上面的延时不一样,这是指丢包比率为 50-80% 之间。
显示如下

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. gen_tcp发送进程被挂起起因分析及对策 (累计阅读 37,821)
  2. TCP 的那些事儿(上) (累计阅读 22,696)
  3. Linux如何统计进程的CPU利用率 (累计阅读 16,307)
  4. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,932)
  5. 我的 RHCA 之路 (累计阅读 14,011)
  6. Linux内存点滴 用户进程内存空间 (累计阅读 13,228)
  7. 自建DNS以防止GFW干扰 (累计阅读 13,125)
  8. 给程序员新手的一些建议 (累计阅读 13,087)
  9. Linux 性能监控、测试、优化工具 (累计阅读 13,010)
  10. 关于linux内存free的一些事情 (累计阅读 12,865)