2010-11-23 16 views
14

Tomcat 6.0.xでは、Http11NioProtocolを使用してスケーラブルなパフォーマンスを得ることができます。 Tomcatがデフォルトプロトコルとしてこのプロトコルを使用していないという、Http11NioProtocolを使用する特定の理由/欠点はありますか?Tomcatの欠点Http11NioProtocol

答えて

24

NIOの一般的な文脈では、通常、あなたがあなたが思っているパフォーマンスを確実に得るために、の生産ベンチマーク測定値を実行するのはです。 Http11NioProtocolは、ドロップインコネクタの動作を実現するために、シミュレートされたブロッキングのようないくつかの奇妙なことを行います。これはフリーではなく、デフォルトのHttp11Protocolコネクタより性能が劣る可能性があります。

デフォルトのHttp11Protocolコネクタのwebappのパフォーマンスに満足しています。 5年前のハードウェアでは、毎月何百万ものHTTPリクエストが発生します。

実際にパフォーマンスが問題になる場合は、AJP ConnectorHttp11AprProtocolを使用するより労働集約的な手順を検討する必要があります。これは、Cで書かれた部分ネイティブコネクタです。しかし、それを稼働させるにはserver.xml以上の変更が必要です。

私は個人的にHttp11NioProtocolとサードパーティのオープンソースAPIライブラリに問題がありました。 (OpenAMF、日付のAMF0 POJOのこと。)意味、それは動作しませんでした。しかしそれがあなたのために働くならば、冷たい。要約すると

:NIOコネクタの

  • メリットランは
  • はAJPコネクタに
を考えてみましょうベンチマーク
  • 議論の余地があります