Tomcat Http11NioProtocol的缺点

时间:2010-11-23 20:17:08

标签: tomcat nio

使用Tomcat 6.0.x,我们可以使用Http11NioProtocol并获得可扩展的性能。使用Http11NioProtocol是否有任何特定的原因/缺点,Tomcat没有将此协议用作默认协议?

1 个答案:

答案 0 :(得分:27)

在NIO的一般情况下,通常需要支付运行一些生产基准测量值以确保您获得您认为自己的性能。请记住,Http11NioProtocol做一些奇怪的事情,比如模拟阻塞,以实现嵌入式连接器行为 - 这不是免费的,并且可能不如默认的Http11Protocol连接器。

我们对使用默认Http11Protocol连接器的webapp的性能感到满意。每月在5年的硬件上提供数亿个HTTP请求。

如果性能确实存在问题,您应该调查使用AJP Connector Http11AprProtocol的更加耗费人力的步骤。它是用C语言编写的部分原生连接器,据报道它速度更快。但是,启动并运行它需要进行server.xml次更改。

我个人遇到Http11NioProtocol和第三方开源API库的问题。 (OpenAMF,一个陈旧的AMF0 POJO东西。)意思是,它不起作用。但如果它适合你,那就很酷。

总结:

  • NIO连接器的好处值得商榷
  • 运行基准
  • 考虑AJP连接器