云主机网络延迟(1) 本章节介绍云主机网络延迟故障演练。 背景介绍 网络延迟是分布式系统中最常见的微故障之一。跨数据中心的调用、网络拥塞、路由路径过长或中间设备处理耗时,都可能导致服务间的通信延迟增加。这会直接影响应用的响应时间,降低用户体验,甚至在级联调用中引发雪崩效应。本演练模拟可控的网络延迟,帮助您检验系统的超时设置、熔断机制的有效性,并发现潜在的性能瓶颈。 基本原理 预先在探针管理处将内部自研Agent安装至云主机上,使用管控通道下发动作执行命令。 原理是通过增加TC和Netem规则模拟主机内网络延迟。 注意 只对出方向流量生效,不会影响入流量;如果系统已配置有TC规则,动作执行会失败。 故障注入 1、纳管实例资源 1. 导航至 故障演练 > 目标应用 > 应用资源页面。 2. 在资源类型页签中选择云主机 ,然后单击添加资源。 3. 在弹出的对话框中,勾选目标云主机 实例,单击确定。 2、编排演练任务 1. 导航至 故障演练 > 目标应用 > 演练管理 页面,单击新建演练。 2. 在基本信息 页面,按提示填写演练名称和描述,然后单击下一步。 3. 在演练对象配置页面: 配置动作组 :为动作组 命名,资源类型选择云主机。 添加实例 :单击添加实例 ,勾选上一步中添加的云主机实例。 添加故障动作 :单击立即添加 ,在列表中选择网络延迟动作。 4. 在弹出的参数配置框中,配置所需参数,然后单击确定。 持续时间:故障动作持续时间。 本地端口:仅对源端口为指定端口的流量生效。例如,可设置为您对外提供服务的端口。可以指定多个,使用逗号分隔或者连接符表示范围,例如 80,80008080。 远程端口:仅对目标端口为指定端口的流量生效。例如,可设置为您的应用访问数据库的端口。可以指定多个,使用逗号分隔或者连接符表示范围,例如 80,80008080。 排除端口:排除指定端口的流量。可以指定多个,使用逗号分隔或者连接符表示范围,例如 22,8000 或者 80008010。 这个参数不能与本地端口或者远程端口参数一起使用。 目标IP: 支持通过子网掩码来指定一个网段的IP地址, 例如 192.168.1.0/24. 则 192.168.1.0~192.168.1.255 都生效。也可以指定固定的 IP,如 192.168.1.1 或者 192.168.1.1/32,还可以通过逗号分隔多个参数,例如 192.168.1.1,192.168.2.1。 网卡设备:指定在哪个网络接口上实施故障,网卡可通过ifconfig命令查询,例如 eth0。 排除IP:排除受影响的 IP,支持通过子网掩码来指定一个网段的IP地址, 例如 192.168.1.0/24. 则 192.168.1.0~192.168.1.255 都生效。也可以指定固定的 IP,如 192.168.1.1 或者 192.168.1.1/32,还可以通过逗号分隔多个参数,例如 192.168.1.1,192.168.2.1。 延迟时间(毫秒):为每个数据包增加的固定延迟时长。 延迟浮动值(毫秒):在固定延迟时长上的随机浮动范围。最终延迟为延迟时间 ± 延迟浮动值,用于模拟更真实的网络抖动。
来自: