同時接続数が約 100000 になる Netty ベースのサーバーを開発しています。ただし、その数を 100 に設定するとメモリ不足にはなりませんが、数を 10000 に増やすと outmoemory バッファ例外が発生します。Netty は、私が期待しているものよりもさらに多くの処理ができることを知っているので、そのような多数に対応するためにサーバーブートストラップを設定する方法を知りたいと思います。
ありがとうございました。
このプログラムをどのくらいのメモリで実行していますか? OutOfMemoryException
スローされているので、-Xmx
設定を次のように変更して、-Xmx2048m
動作するかどうかを確認できるようです。これは netty 自体とは何の関係もないかもしれません。
リークがあると確信している場合は、visualvm (ちなみにこれは無料です) などのツールを使用して、要求/gc が完了した後でも、ヒープ上に netty オブジェクトがあるかどうかを分析します。
Linux では、too many open files
非常に多くの同時接続を実行すると一般に例外が発生します。その解決方法については、大量のドキュメントが公開されています。