Files
geedge-jira/md/OMPUB-1269.md
2025-09-14 21:52:36 +00:00

199 lines
5.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 【M22项目】修改Split By类型Shaping Profile的速率后无法打开网址
| ID | Creation Date | Assignee | Status |
|----|----------------|----------|--------|
| OMPUB-1269 | 2024-05-03T18:08:04.000+0800 | 杨威 | 处理中 |
---
描述修改限制速率大小后无法打开网址将Rule关闭后可以打开网址
复现步骤:
* 创建Shaping Rule如下图所示 !image-2024-05-03-16-35-44-425.png|thumbnail!
* 修改Shaping Profile限制的速率大小如下图 !image-2024-05-03-16-36-34-036.png|thumbnail!
* 访问地址:[https://www.youtube.com|https://www.youtube.com/]
当前问题无法打开youtube
包已放到附件中**liuxueli** commented on *2024-05-04T12:25:33.291+0800*:
* 现象:
** 命中shaping策略后客户端正在下载文件的连接终止(下载速率为0),客户端访问网页(youtube)失败
* 干扰
** 测试时存在Monitor、statistics、shaping策略仅存在一条生效的shaping策略
** 因Hotfix存在重启设备单位时间内仅存在一台设备重启
* 复现
** kill consul、shaping进程未复现问题
** 随机挑选一台没有流量的设备重启即复现问题测试仅存在一条生效的shaping策略且仅存在一个profile
*
**
*** 重启一台设备且仅重启一次
* 结论
** 复现问题时执行cluster sanity check命令查看存在异常的key执行结果如下
*
**
***
{code:java}
[root@tsg-traffic-engine-vsys-1-shaping-c7d76f9c9-sgkd4 shaping_engine]# exit
[root@MDY-ATOM-TSGX009 tsg-traffic-engine-vsys-1]# kubectl exec -it tsg-traffic-engine-vsys-1-shaping-c7d76f9c9-sgkd4 -- bash
Defaulted container "shaping" out of: shaping, telegraf-shaping, log-dir-hook, init-default-svc (init), init-announce-svc (init), init-cm-svc (init), init-packet-io-engine-ready (init), shaping-init (init)
[root@tsg-traffic-engine-vsys-1-shaping-c7d76f9c9-sgkd4 shaping_engine]# /opt/tsg/framework/bin/swarmkv-cli -n tsg-shaping-vsys1 -c 10.172.12.9:8500
tsg-shaping-vsys1> cluster sanity check
1) "tsg-shaping-4023-incoming"
tsg-shaping-vsys1> cluster sanity check
1) "tsg-shaping-4023-incoming"
tsg-shaping-vsys1> cluster sanity check
1) "tsg-shaping-4023-incoming"
2) "tsg-shaping-4023-incoming"
tsg-shaping-vsys1> cluster sanity check
(integer) 0
tsg-shaping-vsys1> cluster sanity check
(integer) 0
tsg-shaping-vsys1>  {code}
* 疑点
** 推测仅重启swarmkv集群的leader或者key owner会导致异常但随机挑选一台无流量的设备重启即复现本问题
* 下一步复测
** 复现问题时确认重启设备与swarmkv集群的leader或者key owner设备是否正相关。
---
**yangwei** commented on *2024-05-04T13:49:56.142+0800*:
M22现场 2024-05-04复测在集群未有节点重启的情况下概率性出现https://jira.geedge.net/browse/TSG-17649类似的现象即一段时间后客户端断网。
检查Shaping Engine的统计输出发现异步调用的P80延迟为17.7ms平均延迟为6.2ms
!image-2024-05-04-13-47-43-156.png|width=720,height=210!
---
**yangwei** commented on *2024-05-04T17:49:59.229+0800*:
进一步进行测试验证,同样下发如下策略
* splitby token bucket限速为7.5Mbps
* 限速条件为Client IP
{*}持续测试一段时间后,客户端出现断网的现象{*}。
!image-2024-05-04-17-41-45-545.png|width=613,height=305!
测试的{*}客户端流量分散在不同的站点的不同节点{*},在{*}YGN-MYTEL站点{*}检查Shaping Engine的{*}请求返回延迟平均20ms。{*}
!image-2024-05-04-17-45-02-867.png|width=834,height=240!
使用 CLUSTER SANITY check检查集群状态{*}显示存在异常的key{*}。
!image-2024-05-04-17-46-14-535.png|width=712,height=396!
{*}使用SwarmKV CLI模拟新的member1233进行消费{*}由于Split By的单位为local host原则上模拟出的member可以独享一个7.5Mbps的Token_bucket但是使用命令行{*}连续消费少量Token仍然出现消费失败的情况不符合预期。{*}
!image-2024-05-04-17-48-39-582.png!
上述客户端断网的情况,概率性出现,且在一段时间后能够自愈。
初步结论issue中描述的问题{*}与标题中修改profile的行为无直接关系{*},而是下发{*}SplitBy的限速Profile后{*}{*}一定概率会出现客户端断网的现象{*}。可能的原因为集群内部通信延迟较大后由于SplitBy Token Bucket同步的数据量较大Shaping Engine获取Token失败造成客户端疑似断网的现象。
 
M现场尝试下发Generic Token Bucket并测试进一步确认上述结论。
---
**hebingning** commented on *2024-05-05T12:38:54.157+0800*:
5月4日多次进行测试测试结果
Shaping Rule引用Type为Generic/Fair Share 的Shaping Profile
未发生断网情况
Shaping Rule引用Type为Split By的Shaping Profile
出现客户端断网的情况[~yangwei] 
---
**zhengchao** commented on *2024-05-06T10:46:21.985+0800*:
用SWARMKV的INFO命令看一下节点的同步带宽。
---
**liuxueli** commented on *2024-05-06T11:51:31.355+0800*:
* 这个是客户端断网期间执行CLUSTER SANITY check / CLUSTER NODES  / CLUSTER INFO三个命令的结果
** [^10.161.12.26_2024-05-04_15_34_58.txt]
---
**zhengchao** commented on *2024-05-06T13:31:10.804+0800*:
Bulk Token Bucket同步消息是4Mb/msg1个worker线程可能扛不住这么大的同步量
{quote}17) 1) "10.168.12.6:30745"
sync_err: 882383
instantaneous_input_kbps: 234599.00
instantaneous_input_msgs: 69.00{quote}
---
## Attachments
**56643/10.161.12.26_2024-05-04_15_34_58.txt**
---
**56612/image-2024-05-03-16-35-44-425.png**
---
**56611/image-2024-05-03-16-36-34-036.png**
---
**56623/image-2024-05-04-13-47-43-156.png**
---
**56625/image-2024-05-04-17-41-45-545.png**
---
**56626/image-2024-05-04-17-45-02-867.png**
---
**56627/image-2024-05-04-17-46-14-535.png**
---
**56628/image-2024-05-04-17-48-39-582.png**
---
**56610/youtube.pcapng**
---