5

我尝试在 VPS 上进行测试,结果接近每秒 10K 的请求,这是一个simple 'hello world' servlet. 更不用说调用 membase 了。

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

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

还有其他人可以处理如此高的流量吗?

我使用了 apache bench,大概运行了 4-5 次,向服务器发出了大约 100K 的请求。

原文:如何在 tomcat 上处理 2000+ 请求/秒?

4

1 回答 1

16

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

开启 NIO 就是将Tomcatprotocol中元素的属性更改为.<Connector>/conf/server.xml"org.apache.coyote.http11.Http11NioProtocol"

<Connector
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    port="80"
    redirectPort="8443"
    connectionTimeout="20000"
    compression="on" />
于 2011-11-01T18:14:20.237 回答