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

12 KiB
Raw Blame History

TSG.BJ环境Shaping测试相关问题

ID Creation Date Assignee Status
OMPUB-1068 2023-11-30T18:15:45.000+0800 冯伟浩 已关闭

TSG界面https://192.168.44.29/ Shaping策略ID3776 !screenshot-1.png|thumbnail! !screenshot-2.png|thumbnail!

测试问题1:带宽分配不均 描述使用3个电脑共享15Mbps带宽测试Fair Share。只有一个电脑下载的时候速度在1600-1800KB/s带宽占用正常加入第二台电脑下载下载速度变为每台电脑各800+KB/s带宽占用正常加入第三台电脑下载理论上应该是每台500-600KB/s但实际上只有偶尔几秒会比较均匀大多数情况是一台800-900KB/s一台400-500KB/s一台200+KB/s带宽明显分配不均匀 (截图待复测补充)

测试问题2使用迅雷或百度网盘下载下载速度与Shaping显示带宽有明显差异 描述使用迅雷或百度网盘下载时下载速度2.5MB-5MB/s明显高于15Mbps带宽的下载速度但Shaping策略中显示带宽仍未15Mbps !screenshot-3.png|thumbnail! !screenshot-4.png|thumbnail! !screenshot-5.png|thumbnail! liuchang commented on 2023-12-01T10:14:12.215+0800:

迅雷限速不准确为已知问题https://jira.geedge.net/browse/TSG-14287

按链接bug中评论方法增加一条源目的地址相反的策略之后限速正常


liuchang commented on 2023-12-01T10:14:52.909+0800:

请[~fengweihao] 帮忙看下fair share分配不准确的问题


zhangzhihan commented on 2023-12-01T11:12:55.278+0800:

问题1复测补充截图 !screenshot-6.png|thumbnail! !screenshot-7.png|thumbnail! !screenshot-8.png|thumbnail!

问题2复测结果 添加一条源目的地址相反的策略之后,迅雷限速正常


fengweihao commented on 2023-12-01T11:46:29.067+0800:

环境介绍:

  • shaping-engine地址192.168.40.62 
  • shaping-sentinel地址192.168.44.29

关于fair share本地单元用例测试 * {code:java} ./CRDT_tb_gtest --gtest_filter=Weight Note: Google Test filter = Weight [==========] Running 2 tests from 1 test case. [----------] Global test environment set-up. [----------] 2 tests from FairTokenBucket [ RUN      ] FairTokenBucket.Weight class    weight    demand    allocated    ideal 1     1     20000     4006     4008 2     1     20000     4008     4008 3     1     20000     4007     4008 4     1     20000     4006     4008 5     1     20000     4007     4008{code}

目前当前环境存在问题:

  • shaping-engine上查看FTINFO tsg-shaping-1024-incomingActiveMembers正常

{code:java} 192.168.40.62:31323@tsg-shaping-vsys1> FTINFO tsg-shaping-1024-incoming 13) "ActiveMembers" 14) (integer) 3 {code}

  • shaping-sentinel上查看FTINFO tsg-shaping-1024-incomingActiveMember存在异常

{code:java} 192.168.44.29:5211@tsg-shaping-vsys1> FTINFO tsg-shaping-1024-incoming 13) "ActiveMembers" 14) (integer) 10{code}

shaping-engine和shaping-sentinel之间同步存在问题但是shaping-sentinel不经过流量因此同步方向只有shaping-engine向shaping-sentinel同步

关于fair share分配不均问题

  • 请刘畅补充10版调用ftconsume_command的处理逻辑方便使用Swarmkv Node本地复现

liuchang commented on 2023-12-01T11:56:33.461+0800:

该设备上运行的shaping版本为1.3.6

该版本实现为:

为减少swarmkv调用次数当session中缓存token不足时向swarmkv请求当前包大小10倍的token多余的token缓存到session中需要确认该获取10倍大小token的行为是否对fair-share算法产生影响


fengweihao commented on 2023-12-04T10:47:23.579+0800:

Swarmkv Node本地测试

本地验证:

  • simple_node-5210 模拟shaping-sentinel执行FTCFG
  • simple_node-5211 模拟shaping-engine执行FTCONSUME

每10微妙调用FTCONSUME调用100万次执行逻辑模拟shaping * {code:java}

./simple_node -n demo -h 127.0.0.1:5211 -t 1 -r 1 --exec mult ftcfg command

192.168.58.221 Consumed Token:745723728, Wasted loop 264924 192.168.58.162 Consumed Token:741145392, Wasted loop 265343 192.168.58.103 Consumed Token:729808560, Wasted loop 266383 {code}

{code:java} 127.0.0.1:5210@demo> FTINFO ftb-token 13) "ActiveMembers" 14) (integer) 3{code}

{code:java} 127.0.0.1:5211@demo> FTINFO ftb-token 13) "ActiveMembers" 14) (integer) 3 {code}

本地验证:

  • 在Weight一致的情况下不同Member获取Token的比例是1:1由于在真实使用情况下不同Member获取Token的次数存在差异。需要在测试环境下复现上述问题

liuchang commented on 2023-12-05T18:29:35.554+0800:

本地测试创建类型为max-min-fairness类型的一个profilefair-factor为1使用3个源ip测试

测试环境192.168.44.47shaping-sentinal192.168.41.63TSGX

复现步骤

1.三个源IP同时打流量44.47和41.63上通过FTINFO查看ActiveMembers均为3

2.停止流量修改fair-factor为2重新使用同样ip打流量44.47和41.63上查看ActiveMembers为6

 

补充测试

1.三个源IP同时打流量44.47和41.63上通过FTINFO查看ActiveMembers均为3

2.停止流量不修改fai-factor重新使用同样ip打流量44.47和41.63上查看ActiveMembers为3

 

以上两个测试过程中流量分配不均问题均存在且与bug描述中一致


fengweihao commented on 2023-12-05T18:54:20.702+0800:

推测问题如下:

  • !image-2023-12-05-18-41-19-436.png|width=705,height=113!

问题分析:

  • 由于ST_hyperloglog使用weight做为下标在第一调用ftconsume_command时传入的weight为1因此操作ftb->hll[0] 修改fair-factor为2后调用ftconsume_command时传入的weight为2因此操作ftb->hll[1]由于第一次ftb->hll[0]中数据未清空因此造成上述ActiveMembers数据累加

liuchang commented on 2023-12-06T12:03:42.855+0800:

流量不均匀问题测试:

测试环境: 192.168.44.47shaping_sentinal + 192.168.41.63tsgx

max-min-fairness类型profilefair-factor=13个源ip打流量会概率性出现流量分配不均匀5次尝试中能出现1到2次

 

测试环境192.168.41.63tsgx单节点运行手动创建key

max-min-fairness类型profilefair-factor=13个源ip打流量多次尝试流量都均匀

 

 


liuchang commented on 2023-12-06T15:42:51.495+0800:

补充测试两个swarmkv节点active member不统一

测试环境: 192.168.44.47shaping_sentinal + 192.168.41.63tsgx

max-min-fairness类型profilefair-factor=13个源ip

 

操作步骤:

1.3个源IP打流量FTINFO查看对应key44.47和41.63上ActiveMembers均为3

2.停止所有流量FTINFO查看对应key44.47和41.63上ActiveMembers均为2不再变化

3.重新使用其中一个ip打流量FTINFO查看对应key44.47上ActiveMembers为3 41.63上ActiveMembers为1


gitlab commented on 2023-12-07T19:21:14.574+0800:

[郑超|https://git.mesalab.cn/zhengchao] mentioned this issue in [a merge request|https://git.mesalab.cn/swarmkv/swarmkv/-/merge_requests/65] of [swarmkv / swarmkv|https://git.mesalab.cn/swarmkv/swarmkv] on branch [bugfix-old-sthll-doesnot-slide|https://git.mesalab.cn/swarmkv/swarmkv/-/tree/bugfix-old-sthll-doesnot-slide]:{quote}The staggered HyperLogLog does not slide during queries and merges{quote}


fengweihao commented on 2023-12-08T11:40:33.417+0800:

TSG.BJ环境已通过手动方式更新请复测


zhangzhihan commented on 2023-12-08T17:31:07.884+0800:

已复测目前带宽分配仍不均。三台同时下载时有一台几乎没有下载带宽。详情查看下文中的测试3内容 https://docs.geedge.net/pages/viewpage.action?pageId=120330513


gitlab commented on 2023-12-08T17:33:07.743+0800:

[冯伟浩|https://git.mesalab.cn/fengweihao] mentioned this issue in [a commit|b545d66dd2] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-libswarmkv-to-v4.0.3|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-libswarmkv-to-v4.0.3]:{quote}更新libswarmkv到v4.0.3, 版本修改: OMPUB-1068 shaping策略Fair Share限速问题{quote}


gitlab commented on 2023-12-08T17:33:24.880+0800:

[冯伟浩|https://git.mesalab.cn/fengweihao] mentioned this issue in [a merge request|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/merge_requests/1987] of [TSG / tsg-os-buildimage|https://git.mesalab.cn/tsg/tsg-os-buildimage] on branch [update-libswarmkv-to-v4.0.3|https://git.mesalab.cn/tsg/tsg-os-buildimage/-/tree/update-libswarmkv-to-v4.0.3]:{quote}更新libswarmkv到v4.0.3, 版本修改: OMPUB-1068 shaping策略Fair Share限速问题{quote}


zhangzhihan commented on 2023-12-08T18:34:23.938+0800:

补充复测如下:

1、不下载通过观看直播视频的方式测试带宽分配。 测试结果测试结果不如下载动作具有参考性因为直播视频的带宽并不是时刻占满的。两台终端同时观看直播每台都开8-10个直播带宽使用均抖动剧烈无法判断是相互抢带宽的现象 或是 其中一台带宽占用不满释放的带宽的现象。

2、使用浏览器下载WeChat.exe。 测试结果 1两台同时下载时出现明显的抢用带宽现象表现为两台互相抢一台占满另一台几乎没带宽带宽占用抖动剧烈 !screenshot-9.png|thumbnail! !screenshot-10.png|thumbnail! 2三台同时下载时出现轻微的抢带宽现象总体观察三台的带宽占用较为平稳存在较小的抖动。 [^video.mp4]


liuchang commented on 2023-12-08T18:38:24.209+0800:

针对复测情况现场收集信息

1.上传流量大致均匀下载流量不均匀其中下载使用迅雷为UDP

2.两台设备下载时后台查看ActiveMembersip数量为3到5之间跳跃实际下载效果流量分配不均匀

3.三台设备下载时后台查看ActiveMembersip数量为3到6之间跳跃实际下载效果流量分配不均匀

 

猜测由于迅雷UDP下载由于udp端口大小导致一部分目的IP被识别为源IP导致ActiveMembers增多流量分配不均匀

 

现场尝试使用浏览器下载 https://dldir1v6.qq.com/weixin/Windows/WeChatSetup.exe下载TCP链接收集信息如下

1.两台设备下载时后台查看ActiveMembersip数量为2到3之间跳跃实际下载效果两台设备互有争抢抖动明显

2.三台设备下载时后台查看ActiveMembersip数量基本为3实际下载效果3台互有争抢抖动比两台设备同时下载小很多

 

由于策略为3台设备的源IP猜测两台设备同时下载时第三台设备本身会产生少量流量对流量均匀分配有影响

 

结论:

1.对于UDP链接可能由于UDP端口大小问题导致源目的IP识别相反造成源IP比实际多影响fair-share分配效果

2.开发本地需进一步测试当有两个IP下载且带宽占满时第三个IP随机产生少量流量的情况下带宽分配情况


liuchang commented on 2023-12-14T14:43:00.310+0800:

开发本地测试fairness类型的profile

两个IP下载且带宽占满时第三个IP随机产生少量流量对两个下载IP的带宽分配不产生影响

两个IP同时下载时两个IP在2s刷新的速率会有一些抖动抖动大时两个IP速率大概相差2倍但是在10秒和40秒的计算窗口内总体带宽是均匀的

下图右侧从左到右4列分别为累计字节数2秒统计速率10秒统计速率40秒统计速率使用工具为iftop

!image-2023-12-14-14-49-43-787.png!

 


zhengchao commented on 2024-11-19T16:54:07.765+0800:

Issue closed due to no activity.


Attachments

47634/image-2023-12-05-18-41-19-436.png


47698/image-2023-12-14-14-49-43-787.png


47598/screenshot-1.png


47660/screenshot-10.png


47599/screenshot-2.png


47600/screenshot-3.png


47601/screenshot-4.png


47602/screenshot-5.png


47607/screenshot-6.png


47608/screenshot-7.png


47609/screenshot-8.png


47659/screenshot-9.png


47661/video.mp4