Geringere Leistung auf den neuesten Servern


8

Wir haben mehrere DB-Server in Produktion, 4 davon mit sehr ähnlicher Hardwarekonfiguration. Dell PowerEdge R620, der einzige Unterschied besteht darin, dass 2 neueste (vor 3 Monaten gekaufte und konfigurierte) RAID-Controller v710, 256 GB RAM und 2 physische Xeon E5-2680 2,80 GHz haben. Alte (vor etwa 1 Jahr gekauft und konfiguriert) haben einen RAID-Controller v700, 128 GB RAM und laufen mit 2 physischen Xeon E5-2690 2,90 GHz. Das BIOS wird aktualisiert, alle Treiber werden auf die letzten Versionen aktualisiert usw. Alle laufenden SQL Server 2008R2 Enterprise (SP1) werden auf die letzte CU und Windows 2012R2 Standard aktualisiert. Beide laufen auf 200 GB SSD x5 RAID10. Auf jedem von ihnen wird nur eine Datenbank ausgeführt, die mithilfe eines Jobs synchronisiert wird, der ein SSIS-Paket aufruft. Unser Systemadministrator hat viele Leistungs- und Stresstests durchgeführt, um sicherzustellen, dass wir keine Hardware- oder Netzwerkfehlerkonfiguration oder -fehler haben. Wie erwartet zeigen die neuesten bessere Leistungsergebnisse. So weit, ist es gut.

Das Problem, das wir haben, ist auf dem Screenshot von Kibana zu sehen. Gelb und Orange sind die 2 neueren Server (6,7 in Tabellen) und unter allen anderen Servern. Ist perfekt sichtbar, dass diese 2 neuen Server eine langsamere Antwortzeit haben. Und nicht nur das, sondern auch diese beiden Server sind etwas weniger ausgelastet als die beiden älteren (hell- und dunkelblaue Linien - 4,5 auf Tabellen).

Geben Sie hier die Bildbeschreibung ein Lassen Sie einige Überwachungsskripte Informationen zu Leistungsindikatoren sammeln. Habe mit DMVs und dritten Überwachungstools so weit wie möglich gegraben, habe ich viele Informationen zur Hand. Aber es sollte (ofc) etwas geben, das mir hier fehlt, da ich keine Antwort auf diese langsamere Antwortzeit finden kann.

Die 2 neuesten Server verbrauchen weniger RAM, aber ich denke, das wird im Vergleich zu den anderen älteren erwartet, da diese eine geringere Last haben.

| Server Name| Mem_MB |    Mem_GB    | Server_RAM_GB | SQL_max_mem_GB| SQL_min_mem_GB |
|------------|--------|--------------|---------------|---------------|----------------|
|      4     |  41108 | 40.145263671 |     128       |      120      |      16        |
|      5     |  61272 | 59.836425781 |     128       |      120      |      16        |
|      6     |  34117 | 33.317626953 |     256       |      250      |      16        |
|      7     |  33764 | 32.972656250 |     256       |      250      |      16        |

Weitere RAM-Konfiguration für alle Server ist wie folgt:

| Server Name | Total_Page_File_In_MB | Available_Page_File_MB | Kernel_Paged_Pool_MB | Kernel_Nonpaged_Pool_MB |
|-------------|-----------------------|------------------------|----------------------|-------------------------|
| 4           | 180160                | 130042                 | 249                  | 98                      |
| 5           | 148416                | 77246                  | 249                  | 110                     |
| 6           | 301010                | 260453                 | 132                  | 99                      |
| 7           | 301010                | 260454                 | 143                  | 108                     |

Wenn Sie die folgende Abfrage auf allen Servern ausführen, werden identische Konfigurationsparameter angezeigt:

SELECT * FROM master.sys.configurations

Ich könnte immer mehr Informationen anzeigen, bin mir aber nicht ganz sicher, was benötigt werden könnte. Gibt es einen Hinweis darauf, was ich überprüfen soll?

Ich habe ein bekanntes Whitepaper von MS zur Fehlerbehebung bei Leistungsproblemen in SQL Server 2008 gelesen und viele DMV-Abfragen von dort beantwortet.

BEARBEITEN Auf Anfrage:

EXEC sp_configure 'max server memory (MB)'

| Server Name | name                   | minimum | maximum    | config_value | run_value |
|-------------|------------------------|---------|------------|--------------|-----------|
| 4           | max server memory (MB) | 16      | 2147483647 | 120000       | 120000    |
| 5           | max server memory (MB) | 16      | 2147483647 | 120000       | 120000    |
| 6           | max server memory (MB) | 16      | 2147483647 | 250000       | 250000    |
| 7           | max server memory (MB) | 16      | 2147483647 | 250000       | 250000    |

Was maxdopwir mit ihm spielen und die Ergebnisse wurden , sind:

 EXEC sp_configure 'max degree of parallelism'

| Server Name |            name           | minimum | maximum | config_value | run_value |
|:-----------:|:-------------------------:|:-------:|:-------:|:------------:|:---------:|
|      4      | max degree of parallelism |    0    |   1024  |       1      |     1     |
|      5      | max degree of parallelism |    0    |   1024  |       1      |     1     |
|      6      | max degree of parallelism |    0    |   1024  |       1      |     1     |
|      7      | max degree of parallelism |    0    |   1024  |       1      |     1     |

Kommentare sind nicht für eine ausführliche Diskussion gedacht. Dieses Gespräch wurde in den Chat verschoben .
Paul White 9

Antworten:


1

Dieses Bild sagt alles.

Geben Sie hier die Bildbeschreibung ein

Vielen Dank an Kin für den Hinweis auf Ihre Frage und die damit verbundenen Antworten. Ich habe dabei viel gelernt. Als ich Ihre detaillierte Frage untersuchte, dachte ich darüber nach, dasselbe zu tun und die Ausführungspläne unserer schwersten Abfrage zu vergleichen ... und voila !! Das Problem war, dass ein Job, der ausgeführt werden sollte, bereits einige Wochen mit deaktiviertem Zeitplan war. Jetzt muss ich überprüfen, warum und wann genau deaktiviert wurde. Jetzt läuft alles reibungslos. Blaue Linie ist ein Server, der aufgrund von Wartungsarbeiten keine Anforderungen empfängt und nicht tot ist.

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.