1 结果:比较遗憾,无论是本机、单核远程、4核远程,两边的测试效果相当
2 远程测试,netty与socket都只能到900个连接,极限了,4核服务器也是
3 本地测试 2000个连接:
参数要点:
Forever,否则太多线程提早退出,弱化bio的弱点
响应超时太短,则两边都是同样的错误率、同样的吞吐量
socket
netty
qps socket高
平均响应时间 socket高
想要时间稳定性 netty好
4 为什么要用netty-https://youzhixueyuan.com/netty-implementation-principle.html?from=singlemessage&isappinstalled=0
1)java 类库麻烦
2)客户端面临断连重连、网络闪断、半包读写、心跳、失败缓存、网络拥塞和异常码流的处理等等
3)NIO 的 Bug:例如臭名昭著的 Epoll Bug,它会导致 Selector 空轮询,最终导致 CPU 100%
5 为什么本次测试失败了
重点:
1)测试强度、设备达不到netty体现优势的阀值
2)测试环境太理想,可能netty在恶劣环境下有优势
一次netty与java socket的压力测试对比【yetdone】
原文:https://www.cnblogs.com/silyvin/p/12495073.html