非常に大規模なMSMQ環境のセットアップがあり、今日はこれを停止することにしました。
(すべてはVM)です)
ネット上のクライアントからデータを受信する8つのWebサーバーがあります。これらのマシンにはすべてMSMQがインストールされており、MSMQメッセージをメインのMSMQサーバーに送信するだけです。メッセージは現在、送信キューに蓄積されています。これらのマシンは、2ギグのRAM=および2つのvCPUを搭載したWindows 2008 Web Editionです。
8つのWebサーバーからメッセージを取得するクラスター化されたMSMQサーバー(Windows Cluster Server)があります。キューに入れることができるデータの量に制限はありません。ハードドライブは50 GBで、空き領域は46 GBです。これらのマシンはWindows 2008 Enterprise Editionで、RAMおよび8 vCPUの8ギグです。クラスターには2つのvCPUがありましたが、CPU負荷が100%に達していたため、Windowsクラスターの両方のノードを増やしました4 vCPU.
キューからメッセージを読み取って処理する4つのアプリサーバーがあります。
通常、これはすべて完全に機能しますが、今日は機能しません。
今朝はすべてが非常にゆっくりと実行されています。現在、8つのWebサーバーは、最大30万のメッセージを送信キューに保持しています。クラスター化されたサーバーは現在、キューに100万を超えるメッセージを表示します(一部は200k程度です)。
8つのWebサーバーでperfmonを見ると、平均して1秒あたり2つのメッセージが送信されていることがわかります。クラスタのperfmonを見ると、1秒あたり最大7つのメッセージがクラスタに送信されていることがわかります。
読み取りを行っているマシンは、それぞれ多くのメッセージを受け取っていません。最速のサービスは毎秒10〜12通のメッセージを受け取り、最も遅いサービスは0または1を示します。
最近の唯一の変更は、フロントエンドWebサーバーの数を4から8に変更したことです。約2週間前に問題なくこれを実行しました。火曜日に、残りの4人がどのように負荷を処理できるかを確認するために、電源を切りました。水曜日に、4台の新しいマシンをオンに戻しました。
クラスター上のディスクは、非常に低いIOおよびキューイングなしを示しています。
安全のために、PowerPathを最新バージョンに更新しましたが、何の役にも立ちませんでした。
8つのWebサーバーは1つのvLAN上にあり、クラスター化されたサーバーとアプリサーバーは2つ目のvLAN上にあります。 vLAN間にファイアウォールはありません。
また、どのマシンのアプリケーションまたはシステムログにも、何も有用ではありません。
誰かが100万を超えるメッセージを持っていると言うときはいつでも、警報クラクソンが鳴ります!メッセージを管理するには、カーネル(ページプール)メモリが必要です。このような膨大な数のメッセージがある場合、クラスター化されたサーバーで利用できるものを使い果たしている可能性があります。キュー内のメッセージ数の最適な数はゼロです-基本的に、メッセージが到着するよりも速く処理できることを確認してください。
メッセージを再びオンラインに戻す前に、Webサーバーをシャットダウンしてメッセージのバックログを完全に処理することをお勧めします。
このブログ投稿の参照項目4: http://blogs.msdn.com/johnbreakwell/archive/2006/09/18/insufficient-resources-run-away-run-away.aspx
乾杯ジョンブレイクウェル(MSFT)
私のシステム管理者の1人に尋ねたところ、私たちの魔法のポイントは、仮想マシンで最大4台のWebサーバーがMSMQボックスに到達することでしたが、ハードウェアボックスに移動して解決しました。また、パケットキャプチャを試して、何が起こっているかを確認してください。 ADに行く認証にもたくさんありますか? MSMQの雑談では、ネットワークパスと認証パスを制限する必要があります。
HTH、チャック。
リモート管理の欠如についてのコメントを参照してください。そうです、MSMQとパフォーマンスカウンターを使用するのは素晴らしい話ではありません。スレッドをフォローしていて、どのOSの組み合わせが機能するかを知りたい人は、Motley Queueブログをご覧ください。
MSMQ 4.0パフォーマンスカウンターとNetNameForPerfCountersレジストリキー http://blogs.msdn.com/motleyqueue/archive/2007/12/14/msmq-4-0-performance-counters-and-the-netnameforperfcounters-registry -key.aspx
乾杯ジョンブレイクウェル(MSFT)