Wir haben eine ziemlich große MSMQ-Umgebung eingerichtet, die heute beschlossen hat, zum Stillstand zu kommen.
(Alles ist eine VM unter vSphere 4.0 Update 1)
Es gibt 8 Webserver, die Daten von Clients im Internet empfangen. Auf diesen Computern ist MSMQ installiert, und die MSMQ-Nachricht wird einfach an den MSMQ-Hauptserver gesendet. Nachrichten werden derzeit in der ausgehenden Warteschlange gestapelt. Diese Computer sind Windows 2008 Web Edition mit 2 GB RAM und 2 vCPUs.
Wir haben einen Clustered MSMQ-Server (Windows Cluster Server), der die Nachrichten von den 8 Webservern erhält. Die Datenmenge in den Warteschlangen ist unbegrenzt. Die Festplatte ist 50 Gigs und es gibt 46 Gigs freien Speicherplatz. Diese Computer sind Windows 2008 Enterprise Edition mit 8 GB RAM und 4 vCPUs. Der Cluster hatte früher 2 vCPUs, aber die CPU-Auslastung lag bei 100%. Daher habe ich beide Knoten des Windows-Clusters auf 4 vCPUs erhöht.
Es gibt 4 App-Server, die die Nachrichten aus den Warteschlangen lesen und verarbeiten.
Normalerweise funktioniert das alles perfekt, aber heute nicht mehr.
Heute morgen läuft alles sehr langsam. Auf den 8 Webservern werden derzeit bis zu 300.000 Nachrichten in den ausgehenden Warteschlangen angezeigt. Der Cluster-Server zeigt derzeit über eine Million Nachrichten in den Warteschlangen an (einige sind nur 200 KB groß).
Wenn ich mir perfmon auf den 8 Webservern ansehe, zeigt dies, dass ich durchschnittlich 2 Nachrichten pro Sekunde sende. Wenn ich mir perfmon im Cluster ansehe, werden ~ 7 Nachrichten pro Sekunde im Cluster angezeigt.
Die Maschinen, die das Lesen durchführen, erhalten nicht jeweils viele Nachrichten. Die schnellsten Dienste erhalten 10-12 Nachrichten pro Sekunde, die langsamsten 0 oder 1.
Die einzige Änderung in letzter Zeit ist, dass wir die Anzahl der Front-End-Webserver von 4 auf 8 geändert haben. Wir haben dies vor ungefähr 2 Wochen ohne Probleme getan. Am Dienstag haben wir sie ausgeschaltet, um zu sehen, wie die restlichen 4 mit der Last umgehen können. Am Mittwoch haben wir die vier neueren Maschinen wieder eingeschaltet.
Die Festplatte im Cluster zeigt sehr niedrige E / A und keine Warteschlangen.
Um sicher zu gehen, habe ich PowerPath auf die neueste Version aktualisiert, aber das hat keinem geholfen.
Die 8 Webserver befinden sich in einem vLAN, und die Cluster-Server und die App-Server befinden sich in einem zweiten vLAN. Es gibt keine Firewalls zwischen den vLANs.
Und es gibt nichts Nützliches in den Anwendungs- oder Systemprotokollen auf einem der Computer.