测试环境
测试服务器2台
系统: centos 7.4
配置 4核8G 50G固态硬盘(关闭日志控制台输出)
测试类型 websocket
测试结果
先来火焰图,通过火焰图分析,发现encoding/json 解析数据的时候占用了大量时间,可以考虑更换github.com/json-iterator/go
在40K左右 在有大量连接同时接入的时候,leaf所在服务器 cpu很快上升到100% ,新接入的连接出现大量以下错误,不到1分钟错误消失
这时候怀疑leaf出现goroutine泄露问题,停止所有压测客户端,leaf还是不释放内存
当并发70K(tcp连接87K)client出现大量以下错误
write write tcp 10.141.158.247:54147->10.141.8.191:8889: write: broken pipe
read: read tcp 10.141.158.247:54147->10.141.8.191:8889: read: connection reset by peer
系统cpu降低,流量迅速下降,tcp连接大量减少
总结
并发数量20K-30K左右,leaf运行稳定。不建议超过30K
在30K并发流量达到最大值 67Mb左右,稳定运行,cpu占用均衡
社区活动:
领取专属 10元无门槛券
私享最新 技术干货