かなり大規模なMSMQ環境のセットアップがあり、今日停止することにしました。
(すべてがvSphere 4.0 Update 1のVMです)
ネット上のクライアントからデータを受信する8つのWebサーバーがあります。これらのマシンにはすべてMSMQがインストールされており、MSMQメッセージをメインのMSMQサーバーに送信するだけです。メッセージは現在、送信キューに蓄積されています。これらのマシンは、2 GBのRAMと2つのvCPUを搭載したWindows 2008 Web Editionです。
8つのWebサーバーからメッセージを取得するクラスター化されたMSMQサーバー(Windows Cluster Server)があります。キューに入れることができるデータの量に制限はありません。ハードドライブは50 GBで、空き領域は46 GBです。これらのマシンは、8ギガのRAMと4つのvCPUを備えたWindows 2008 Enterprise Editionです。クラスターには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間にファイアウォールはありません。
また、どのマシンでも、アプリケーションまたはシステムのログには何も役に立ちません。