当然可以!下面是一张简洁明了的 tc
命令速查表,包含常见用法、关键参数、说明和典型示例,适合日常排障、测试、模拟网络故障使用。
🧾 tc
命令速查表(常用参数+说明)
类型 |
命令/参数 |
说明 |
示例 |
✅ 基本结构 |
tc qdisc add dev eth0 root netem ... |
在指定网卡上添加模拟规则 |
|
✅ 清除规则 |
tc qdisc del dev eth0 root |
清除所有流控规则 |
|
✅ 查看规则 |
tc qdisc show dev eth0 |
显示当前配置 |
|
1 🎛️ netem
模拟网络行为
参数 |
说明 |
示例 |
delay <x>ms |
添加固定延迟 |
delay 100ms |
delay <x>ms <jitter>ms |
添加延迟和抖动 |
delay 100ms 20ms |
delay ... distribution normal |
使用正态分布延迟 |
delay 100ms 10ms distribution normal |
loss <x>% |
丢包率 |
loss 5% |
duplicate <x>% |
包重复率 |
duplicate 1% |
corrupt <x>% |
数据包损坏率 |
corrupt 0.1% |
reorder <x>% |
数据包乱序率 |
reorder 25% |
✅ 组合使用示例:
tc qdisc add dev eth0 root netem delay 100ms 20ms distribution normal loss 2% duplicate 1%
2 ⏳ tbf
控制带宽(令牌桶过滤器)
参数 |
说明 |
示例 |
rate |
最大速率 |
rate 1mbit |
burst |
突发容量 |
burst 32kbit |
latency |
最大排队时间 |
latency 300ms |
✅ 限速示例:
tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
3 🔧 组合使用示例(模拟 PostgreSQL 主备延迟+限速)
# 添加延迟 + 丢包
tc qdisc add dev eth0 root netem delay 300ms loss 3%
# 添加带宽限制(更真实)
tc qdisc replace dev eth0 root handle 1: tbf rate 2mbit burst 32kbit latency 400ms
4 📌 常用命令小抄
功能 |
命令 |
添加延迟 100ms |
tc qdisc add dev eth0 root netem delay 100ms |
添加延迟 + 丢包 |
tc qdisc add dev eth0 root netem delay 100ms loss 5% |
限制带宽为 1Mbps |
tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms |
查看规则 |
tc qdisc show dev eth0 |
删除规则 |
tc qdisc del dev eth0 root |
5 💡 附加技巧
说明 |
命令 |
只影响下行 |
配置在设备:如 eth0 |
只影响上行 |
配置在对端回环接口,如 ifb0 (需启用 ifb ) |
查看支持的调度器 |
tc qdisc list |
延迟分布帮助 |
man tc-netem |
如果你有具体的使用场景,比如只对某个 IP 限速、只对端口限速,也可以基于 tc filter
做更高级配置,我也可以帮你写。是否需要带 ip 或端口过滤的示例?