美文网首页
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