12

オープン ソース プロジェクトで Apache MINA を使用しています。ただし、モバイル デバイスからサーバーにアップロードされた大きなペイロードを処理できないというパフォーマンス上の障害に遭遇しました。メモリ不足エラーが発生しています。私は Netty を使用したことがなく、MINA を Netty に交換しようとしています。

Netty チームへの私の質問は、大きなサイズの受信ペイロードの負荷の下で、Netty がどのように機能するかということです。私のパフォーマンス テストでは、それぞれ 1MByte サイズのペイロードを送信する 1000 台の同時デバイスを使用して負荷を生成しています。5 分で 1GIG のアップロード データが生成される傾向があります。この負荷は MINA を壊す傾向があります。

Netty はこの負荷などをサポートできますか。これに関するご意見をお待ちしております。

ところで: JProfiler を使用してアプリケーションのプロファイルを作成しました。それは、MINA スタックが原因であることを示しています。サーバー側のスタックを完全に切断し、データを消費してデータを返すプレーンな MINA サーバーに残しました。このモードでは、バックエンドで実際の処理が行われていないにもかかわらず、約 15 ~ 20 分でメモリが不足し始めます。

4

2 に答える 2

1

ライブラリ自体の問題というよりは、ライブラリの使い方が間違っているように思われます。ユーザーエラーでなければ、IMO Netty はおそらく同じことをするでしょう。以前、高帯域幅アプリケーションで MINA を使用したことがありますが、この結果はありませんでした。ネットワークが飽和していて、バッファがアップロードを待っているすべてのメモリを消費している可能性があります。ちょうど私の2¢。

于 2012-11-22T04:54:25.783 に答える
0

私は過去に Netty をプロジェクトに使用したことがあります。そこでは、HTTP 経由で大量のデータをストリーミングできるプラットフォームを構築しようとしていました。あなたが概説したシナリオでは、テスト Netty をロードする機会がありません。MINAや他の同様のフレームワークよりもパフォーマンスとAPIが優れているため、どのフレームワークNettyを選択したかを検討していたとき. Netty と MINA の比較を行った Web サイトは多数あります。IMO Direct ByteBuffers の組み合わせを使用し、読み取り中にデータをディスク/ストレージに書き込むことで、ユースケースを満たすことができるはずです。

于 2012-12-27T22:32:59.697 に答える