作成した MSMQ アプリケーションのスケーラビリティ テストを行っています。約 20 万件のメッセージを送信してサーバーで受信しようとすると、一部のメッセージが期限切れになっていることがわかります (TimeToBeReceived = 30 秒を使用)。メッセージで UseDeadLetterQueue を使用して、これらのメッセージを配信不能キューに移動できるようにします。すべてが期待どおりに機能しています。しかし、受信側で数千のメッセージが期限切れになっているのを見ても、デッドレター キューには 1000 のメッセージしか表示されません。
誰かがこの動作を見ました。もしそうなら、どうすればこれを解決できますか?
更新: 2 つのカウンターを保持しています。1 つはシステム (送信者) にメッセージを供給している間、もう 1 つはシステムからメッセージを消費している間です。受信側で 200,000 件のメッセージをフィードすると、約 190,000 件しか消費されません。そのため、10,000 件のメッセージが失われました (おそらく TimeToBeReceived の有効期限が切れたためです)。これらの 10,000 件のメッセージが DeadLetterQueue に表示されることを期待しています。しかし、そこには1kしかありません。それで、DeadLetterQueue が保持できる数に制限があるかどうか疑問に思っていますか?