Tomcat Http11NioProtocol的缺点

Aru*_*run 19 tomcat nio

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

Stu*_*son 28

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

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

如果性能确实是一个问题,您应该调查使用AJP连接器 的更多劳动密集型步骤Http11AprProtocol.它是用C语言编写的部分原生连接器,据报道它速度更快.但是,启动和运行不仅仅需要server.xml改变.

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

综上所述:

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