美文网首页
2020-04-27依赖的外部中间件系统模拟delay Time

2020-04-27依赖的外部中间件系统模拟delay Time

作者: 华清居士 | 来源:发表于2020-04-27 16:44 被阅读0次

背景

为了验证系统的健壮性,非强依赖系统的故障不会影响主流程,验证熔断策略是否生效等情况。

TC命令作为linux 上的流量控制(traffic control)命令,比firewalld更适合进行网络状况模拟。

如下命令是我的模拟命令用来模拟Redis timeout时对系统的影响。

我对其实验过程:

1、sudo tc qdisc add dev eth0 root handle 1: prio bands 4

2、sudo tc qdisc add dev eth0 parent 1:4 handle 40: netem delay 200ms    这里设置delay时间

3、tc filter add dev eth0 parent 1:0 protocol ip  prio 1 u32 match ip dport 6379 0xffff flowid 1:4   这里是设置针对目标端口

      sudo tc filter add dev eth0 parent 1:0 protocol ip  prio 1 u32 match ip dst yourip/24 flowid 1:4  这里设置针对目标IP

4、sudo tc filter show dev eth0    确认效果生效

5、tc filter del dev eth0 pref 4      删除配置的队列

注释:常用的命令解释

tc 命令

删除网卡队列配置: tc qdisc del dev wlan0 root

filter列出来: tc -s filter show dev lo

删除filter:  tc filter del dev lo pref 4

1

       tc qdisc add dev eth1 root handle 1: prio

      为网卡eth1建议一个队列,名字为root,句柄为1

      可以利用下面这三个命令为根队列1创建三个类别,分别是1:11、1:12和1:13,它们分别占用40、40和20mbit的带宽。

2

      tc class add dev eth1 parent 1: classid 1:11 htb rate 40mbit ceil 40mbit

      tc class add dev eth1 parent 1: classid 1:12 htb rate 40mbit ceil 40mbit

      tc class add dev eth1 parent 1: cllassid 1:13 htb rate 20mbit ceil 20mbit

      查看当前网卡上配过的流量控制规则

          # tc[-s | -d ] qdisc show [ dev DEV ]               tc -s qdisc show dev eth1 

          # tc[-s | -d ] class show dev DEV  

          # sudo tc filter show dev eth0

          # tc -s -d qdisc ls

相关文章

网友评论

      本文标题:2020-04-27依赖的外部中间件系统模拟delay Time

      本文链接:https://www.haomeiwen.com/subject/jthuwhtx.html