0

Microsoft はドキュメントでこの値を変更しないように警告していますが、ドキュメント自体は正しくないようです。デフォルト値は 50 ミリ秒と記載されていますが、テストでは実際には 10 ミリ秒であることが示されています。値を 50 ミリ秒まで安全に上げることができれば、おそらく満足できるでしょう。問題は、MSMQ が提供するトランザクションの保証を失うことなく、それを行うことができるかということです。

PS。「一体なぜこの値をいじりたいのか」について簡単に説明すると、いくつかのトランザクション MSMQ キューの上にあるアプリケーションがあります。アプリケーションはキューの 1 つを定期的にポーリングし、メッセージが見つかった場合は処理を開始します。アプリケーション自体は正常に動作します。しかし、キューから読み取りを行うとすぐに、MSMQ は 1 秒あたり 50 回以上の書き込み速度でディスクへの書き込みを開始し、読み取りが 1 回実行されるたびに約 10 秒間書き込みを続けます。アプリケーション (トランザクション ログのフラッシュのようです)。LogMgrFlushInterval の値を 50 ミリ秒に増やすと、書き込み速度は 1 秒あたり約 12 に低下します。これを考慮する理由は、1 秒あたり 50 回の書き込みに、実行中のアプリケーション インスタンスの数を掛けると、結果として生じる負荷は、基本的に NAS の CPU を圧倒します。他のオプション (実行中のインスタンスの数を減らす、アプリケーションのポーリング間隔を 10 秒以上に増やす、より大きな NAS を取得する) を検討していますが、これらはすべて、フラッシュ間隔を変更する場合と比較して、より多くの時間/費用がかかります.

4

1 に答える 1