一尘不染

Tomcat使用Jersey Jax-RS在单台服务器上完成15K请求/秒

tomcat

我尝试在VPS上测试事物,每秒接近1万个请求,那是一个simple 'hello world' servlet,更不用说调用membase了。

我的VPS是2 x Intel Xeon X5570,四核“ Nehalem”架构。

注意:我不是Java专家,也不是tomcat专家,这是默认设置。

还有其他人可以应付如此高的流量吗?

我使用apache bench,可能运行了4-5次,对服务器执行了大约10万次请求。


阅读 243

收藏
2020-06-16

共1个答案

一尘不染

打开NIO(非阻塞IO)。默认情况下未启用此功能。如果没有NIO,则每个HTTP连接都由单个线程处理,并且限制取决于可用线程的数量。使用NIO,可以通过单个线程处理多个HTTP连接,并且该限制取决于可用的堆内存量。大约有2GB,您最多可以连接2万个连接。

打开NIO是改变的事情protocol的属性<Connector>元素在Tomcat的/conf/server.xml"org.apache.coyote.http11.Http11NioProtocol"

<Connector
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    port="80"
    redirectPort="8443"
    connectionTimeout="20000"
    compression="on" />
2020-06-16