メッセージのストリームを取得し、各メッセージをクライアントに配信するカスタム メッセージ サーバーを Java で構築しました (1:1、接続されていない場合はメッセージをドロップする - 非常に簡単です)。Win7x64 および Java 7 で Tomcat 7 を実行しており、NIO コネクタ (Comet サーブレットを実装) を使用しています。それはうまく機能しますが、私は現在、その獣のスケーリングを検討しており、現在、接続されている各クライアントに約 85kb の RAM が割り当てられていることを確認しています。10.000 クライアント @ 900MB 未満で、直線的にスケーリングします。(私はまだ接続を保持する以外に何もしていません)それは私の意見ではかなり多いので、TomcatまたはJavaがNIO実装でより多くのメモリを節約できるようにするための調整があるかどうか疑問に思っています。これまでに試したすべての Tomcat 設定は、これにまったく影響しませんでした。
ソケット接続に関してJavaまたはTomcatをメモリダイエットに入れる方法を経験した人はいますか?
更新: ソケット バッファーとその他の tomcat 内部をトリミングすることで、接続あたり 70kb 未満になりました。これがスループットにどのように影響するかはわかりません。32ビット/ 64ビットLinuxでも試してみましたが、同じ結果でした。