Apache: To achieve stable and accurate results, we use Apache 2.4.29, which is the latest stable version available. Compared with earlier versions of Apache, this version contains core enhancements, module enhancements and program enhancements. Netty: We use Netty 4.1.19.Final, which is also the latest stable version. Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers and clients. Undertow: For Undertow, we use 1.4.12.Final. It is the current stable branch, which is recommended for production use. Undertow is sponsored by JBoss. It has a composition based architecture that allows you to
build a web server by combining small single purpose handlers. Vert.x: Vert.x 3.5.0. Eclipse Vert.x is a tool-kit for building reactive applications on the JVM. It is also event driven and non-blocking. Grizzly: We use Grizzly 2.4.0, the latest stable release. Grizzly is to help developers to build scalable and robust servers using NIO as well as offering extended framework components, such as WebSocket. Jetty: We use the latest release of Eclipse Jetty, 9.4.8.v20171121. Eclipse Jetty provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other
integrations. These components are open source and available for commercial use and distribution
简而言之,与其他WebSocket框架相比、Netty和Undertow在高并发的情况下表现更好。情况下表现更好,而Grizzly更适用于大流量状况。在使用持久连接时,在并发级别为100时,Netty和Undertow,尤其是Netty、表现远远好于其他任何框架。在一个相对在相对较高的并发水平下,Vert.x和Undertow可以及时处理大部分的的请求。最后,Netty和Vert.x占用了较少的CPU资源,而Grizzly占用了更多的CPU和内存资源。