2012-04-19 10 views
1

私たちは、HTTPリクエストを処理するためにNettyフレームワークを使用してリアルタイムシステムを構築しました。サービスへの呼び出しの20%は本物の長い投票で、ほとんどのケースで55秒後に返信します。高負荷のNettyサーバでのリクエストに長時間を要する

負荷が増加すると応答時間が徐々に増加し、高負荷状態(20000の長いポーリング接続と10000の短いポーリング接続が確立されます)では、応答時間が5秒を超えます。

リクエストがNettyサーバーレベルで遅れていることが確認されました。その他の要因(クライアント、Nginx、サーバービジネスロジック)はすべて問題ではないことが確認されています。私たちは、ビジネスロジックを完全に削除してテストを実行しようとしました。それでも結果は同じでした。

誰かがこのような負荷を処理するためにNettyをチューニングする方法についていくつかの光を投げてもらえますか?

Shiva。

+0

あなたの質問の一部が切断しまったように思えます。編集の残りの部分を追加できますか? – cha0site

+0

はい、投稿の欠落部分を追加してください。 –

+0

申し訳ありません。投稿中にそれを逃した。今すぐ完全なテキストを追加しました。 –

答えて

1

パイプラインでExecutionHandlerの背後にあるこの20%の要求の処理をまだ入れていないようですね。その場合、ワーカースレッドが待機していて、新しい要求を処理できません。すぐに処理できる要求は、そのExecutionHandlerの前に処理されることを確認できますが、

org.jboss.netty.handler.execution.ExecutionHandler

+0

音が面白いです。私はそれを試してみましょう。 –

関連する問題