UDP パケット処理に Active MQ ストレージ メカニズムを使用しています。1 つの UDP パケット処理プログラムが UDP パケットをリッスンし、構成されている 4 つのキューに挿入します。4 つのスレッドを作成してこれら 4 つのキューから消費する 1 つのコンシューマー プログラムがあります。各スレッドはパケットを処理して db に挿入し、Web サービスを呼び出してさまざまな機能を実行し、次のパケットのみを処理します。私の問題は、パケットを取得する頻度が非常に高く、消費者が速く消費せず、キューイングが発生している日です。ただし、キューイング時間と非キューイング時間では、パケットの Web サービス処理時間は同じで、50 ミリ秒でほぼ一定です。
そのため、この Quing の時間中に、Web サービスを停止して問題を復元する必要があります。Web サービスを停止すると、デキューが高速に行われます。でもWebサービスの機能は全部使いたいし、処理も高いはず。この待ち行列の問題のため、最近、Q の数を 4 から 6 に増やしたところ、しばらくの間、問題が回復しました。しかし、パケット数が高くなると、キューイングが発生し、処理速度が速くなりません。
どうすれば問題を解決できますか?
ありがとうございました。