0

Netty (3.6.6-Final) を使用した高レートの UDP サーバーを使用していますが、バックエンド サーバーの応答に 1 ~ 10 秒かかる場合があることに気付きました。それらを制御できないため、遅延を改善できません。

何が起こるかというと、すべてのハンドラー ワーカー スレッドが応答待ちでビジー状態になり、新しい要求が処理されるまで待機する必要があり、時間の経過とともにこの応答が非常に遅くなります。特定のリクエストに対して、スレッド プールが使い果たされていることを発見して、リクエストを早期に傍受し、サーバー ビジー応答を発行することは可能ですか?

4

1 に答える 1

0

最大スレッド数とバインドされたタスク キューを使用ExecutionHandlerして、適切な で構成されたを使用します。ThreadPoolExecutor別のRejectedExecutionHandlerポリシーを選択することで、「サーバー ビジー」で応答するようにキャッチするかRejectedExecutionException、「呼び出し元実行ポリシー」を使用することができます。この場合、IO ワーカー スレッドはタスクを実行し、プッシュ バックを作成します避けたかった)。

いずれにせよ、容量が制限された実行ハンドラーが前進する方法です。

于 2013-06-25T20:04:29.350 に答える