WebSocket框架性能比较


WebSocket框架性能比较

https://blog.csdn.net/huangshulang1234/article/details/78746451

  1. 本人目前使用的是Nodejs作为WebSocket后端,有篇关于WebSocket框架的性能比较可以参考。

详细测试数据请参考:https://blog.csdn.net/huangshulang1234/article/details/78746451

  1. 测试结果分析:

Netty, Go, Node.js, Undertow, Vert.x都能正常建立百万连接。 Jetty, Grizzly 和 Spray未能完成百万连接

Netty表现最好。内存占用非常的少, CPU使用率也不高。 尤其内存占用,远远小于其它框架

Jetty, Grizzly和Spray会产生大量的中间对象,导致垃圾回收频繁。Jetty表现最差

Node.js表现非常好。 尤其是测试中使用单实例单线程,建立速度非常快,消息的latency也很好。 内存占用也不错

Undertow表现也不错,内存占用比Netty高一些,其它差不多

这里还未测到Spray另一个不好的地方。 在大量连接的情况小,即使没有消息发送,Spray也会占用40% CPU 时间

  1. 结论:

虽然Nodejs不是表现最优的,但排名三甲,开发维护效率和部署成本也都相对出色,所以选择了Nodejs