目前在基于KCP做一些流量转发的框架协议开发碰到了一点传输效率方面的问题,TCP和KCP差了有10倍左右,求助各位佬友
测试场景
目前的场景是
本地设备A ->{nat} → 公网服务器 (持久化一条KCP连接C)
本地设备B/A ->{nat} → 公网服务器
由公网服务器接收连接,并且将包内容基于连接C转发至本地设备B
硬件信息:
本地设备A/B 均为windows系统,16GB内存的笔记本,家中宽带带宽理论值为100M,公网服务器为2H4G峰值带宽为6M的机器
KCP调优信息:
- 将发送的消息控制在1500Byte左右,设置kcpMtu为1500
- 公网服务器端设置单条连接缓冲区大小为4MB
- 公网服务器端设置发送窗口128pkg,接收窗口为512pkg
结果对比
-
调优后的KCP 实际测速:
-
采用TCP连接测速:
这玩意差了有10倍左右了,不知道还应该怎么调优,或许我该换个高带宽的服务器? 思考ing
4 个帖子 - 4 位参与者