Eine Überwachung des MS-SQL Datenbankservers wird implementiert, hierbei wird auf die generelle Erreichbarkeit des Systems und die Auslastung eingegangen. Es wird aufgezeigt, welche Performancecounter des SQL Servers unter Windows überwacht werden sollten, um einen reibungslosen Betrieb zu gewährleisten. Die aus der Überwachung gewonnenen Performancedaten werden mittels NagiosGrapher dargestellt, benötigte Templates werden ebenfalls erstellt.
DWX 2016 - Load Testing mit Visual Studio richtig gemacht
OSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
1. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Monitoring Microsoft SQL Server
Michael Streb
NETWAYS GmbH
2. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Einführung
Welche Software kommt zum Einsatz
SQL Server
Microsoft Windows 2003 Server x64
Microsoft SQL Server 2008 x64 Standart
NSClient++ 0.3.3 aus MSI Paket
NAGIOS Server
Debian Etch 4.0
NAGIOS 3.0.3
Nagios-Plugins 1.4.12
Verschiedene SQL Plugins
3. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Grundlagen
Welche Parameter sollten überwacht werden und wie ?
Betriebssystem und Hardware
Systemüberwachung mittels NSClient
System Performancecounter
Herstellertools für Hardware
SQL Server
Dienste
SQL spezifische Performancecounter
Datenbankabfragen (Queries / Stored Procedures)
Netzwerk
Latenz
Auslastung der Netzwerkinterfaces
4. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Grundlagen
Wie sind die Messwerte zu betrachten ?
Einzelne Parameter sind nur bedingt aussagekräftig
Zusammenhang verschiedener Parameter finden
Durch zeitgleiche Alarmierungsmeldungen
grafische Darstellung der Messwerte über einen bestimmten Zeitraum
– NagiosGrapher
– PNP
5. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / CPU
CPU Auslastung
Gesamt genutzte Prozessorzeit in %
(über alle Prozessoren und Core`s)
sollte unter 80% bleiben
Privileged CPU Zeit
Wieviel Prozessorzeit in % braucht das System selbst (z.B. für IO Operationen)
< 15 % der gesamten CPU Auslastung ist ok
6. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / CPU
Benutzer CPU Zeit
Wieviel % der gesamten CPU Zeit wird für Benutzerprozesse verwendet
<= 80% der gesamten benutzen CPU Zeit
SQLServer CPU Zeit
Wieviel % der gesamten CPU Zeit wird für den SQL Serverprozess verwendet
<= 80% der gesamten benutzten CPU Zeit
Prozessor Queue
Wie viele Threads warten auf Abarbeitung
<= 4 pro CPU ist sehr gut
<= 8 pro CPU ist gut
<= 20 pro CPU ist ok
>20 pro CPU suboptimal
7. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Zusammenfassung CPU
CPU Auslastung
< 80 % optimal
Prozessor Queue
< 4 pro CPU optimal
< 8 pro CPU gut
> 20 pro CPU problematisch
Privileged CPU Zeit
<= 15% der gesamten CPU Auslastung
Benutzer CPU Zeit
<= 80% der gesamten CPU Auslastung
SQL Server CPU Zeit
<= 80% der gesamten CPU Auslastung
8. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / Speicher
Verfügbarer Speicher
Freier Arbeitsspeicher für neue Prozesse
> 100MB mimimum
Seiteneingaben / s
Wieviele Speicherseiten (Pages) werden pro Sekunde in den Speicher geladen
< 10 pro Sekunde optimal
Seiten / s
Wieviele Pages werden pro Sekunde gesamt gelesen und geschrieben
grobe Werte für den Optimalzustand
– < 100 auf langsamen Festplattensystemen
– < 600 auf schnelleren Festplattensystemen
9. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / Speicher
SQL MemoryManager: Grants pending
Auf Speicher wartende Prozesse
Je näher der Wert an 0 ist desto besser
Pagefile Benutzung
< 70% durchaus normal und nicht bedenklich
10. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / IO
Direct Attached Storage (DAS) Parameter
Festplattenplatz prüfen
Wie viel Festplattenplatz ist noch frei
– sehr grob 10% der Laufwerksgröße
Mittlere Sek./Lesevorgänge
Wie lange dauert der lesende Festplattenzugriff
– < 8ms optimal
– > 20ms problematisch
11. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / IO
Direct Attached Storage (DAS) Parameter
Mittlere Sek./Schreibvorgänge
Wie lange dauert der schreibende Festplattenzugriff
Writecache nur mit Battery Backup Unit (BBU)
-> Geschwindigkeitssteigerung
– mit Write Cache (nur mit BBU)
» < 1 ms optimal
» < 4 ms gut
» > 4 ms schlecht
– ohne Write Cache
» < 8 ms optimal
» < 20 ms gut
» > 20 ms schlecht
12. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / IO
Direct Attached Storage (DAS) Parameter
Durchschnittl. Warteschlangenlänge des Datenträgers
Wie lange warten Anfragen an den Datenträger bis sie verarbeitet werden
– > 30 weist auf mögliche Probleme hin
Durch Read-Ahead nicht genau prognostizierbar
– Performancetests um den genauen Wert zu ermitteln
RAID Controller / BBU
Herstellertools
– DELL OpenManage
– HP SIM
– FSC Serverview
– IBM Director
– 3ware tw_cli
– Areca cli32
– ...
13. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / IO
SAN Parameter
Herstellertools nutzen
auf Clientseite nur bedingt aussagekräftig
kein Allheilmittel für IO Performanceprobleme
14. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Zusammenfassung IO
DAS Parameter
Freie Kapazität
sehr grob > 10%
Mittlere Sek. / Lesevorgänge
< 8 optimal
> 20 schlecht
Mittlere Sek. / Schreibzugriffe
Cached: < 1 ms optimal, > 4 ms schlecht
Non-cached: < 8 ms optimal, > 20 ms schlecht
Durchschnittl. Warteschlangenlänge des Datenträgers
Kein allgemeingültiger Wert
– > 30 weist auf mögliche Probleme hin
BBU des RAID Controllers prüfen
SAN Parameter
Herstellertools nutzen
15. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Betriebssystem / Dienste
SQL Server Dienste
SQL Server selbst
MSSQLSERVER
evtl. Analyse Service für SQL Server
16. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Software / SQL Server
Verbindung zum MSSQL aufnehmen um Abfragen mit NAGIOS Plugins
auszuführen
meist Perl Plugins
DBD::Sybase
– keine Konfiguration notwendig
– benötigte Pakete
» libdbd-sybase-perl
TDS und ODBC
– Konfiguration notwendig
– benötigte Pakete
» libdbd-odbc-perl
» unixodbc
» Tdsodbc
MS SQL spezifische Performancecounter
17. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Software / Konfiguration ODBC
/etc/odbcinst.ini
Welche Datenbanktreiber stehen zur Verfügung
[FreeTDS]
Description=MSSQL DB
Driver=/usr/lib/odbc/libtdsodbc.so
UsageCount=1
23. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Software / SQL Server / Performancecounter
SQLServer:Access Methods
Forwarded Records
Einträge einer Tabelle die zur Laufzeit vergrößert wurden und nun mittels
Zeiger an eine andere Stelle verweisen
– unter 10 pro 100 Batch requests / s optimal
nur bei Heap Tabellen interessant
Index Searches / sec
Wie viele Suchen werden über Indexes abgearbeitet
– Je mehr indizierte Suchen desto besser
Full Scans / sec
Wie viele Suchen erfordern einen Fullscan der Tabellen
– So gering wie möglich halten, evtl. Indexes anpassen
Page Splits
Speicherseiten die verschoben werden müssen
– < 20 per 100 Batch requests / s
24. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Software / SQL Server / Performancecounter
SQLServer:Buffer Manager
Buffer Cache Hit Ratio
Wie viele Anfragen werden aus dem Buffer Cache beantwortet
– > 90% optimal
Free List Stalls / sec
Aus Speichergründen abgewiesene Anfragen an den Buffer
– < 2 Sekunden optimal
– Indikator für zu wenig Speicher
Page Life Expectancy
Wie lange bleiben bereits vorhandene Pages im Speicher bestehen
– > 300 Sekunden optimal
» Werte darunter deuten auf Speichermangel hin
25. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Software / SQL Server / Performancecounter
SQLServer:Buffer Manager
Page Reads / Writes per sec
Von SQL aus verursachte Speicher Lese/Schreibzugriffe
– < 90 Zugriffe optimal
Lazy Writes / sec
Wie oft müssen benutzte Pages aus dem Speicher auf die Festplatte
geschrieben(ausgelagert) werden
– < 20 ist optimal
– > 20 weist auf einen Speichermangel hin
26. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Zusammenfassung SQL Performancecounter
SQLServer:Access Methods
Forwarded Records
unter 10 pro 100 Batch requests / s
Index Searches / sec
Full Scans / sec
Page Splits
< 20 per 100 Batch requests / s
SQLServer:Buffer Manager
Buffer Cache Hit Ratio
> 90% optimal
Free List Stalls / sec
< 2 Sekunden optimal
Page Life Expectancy
> 300 Sekunden optimal
SQLServer:Buffer Manager
Page Reads / Writes per sec
Lazy Writes / sec
27. http://www.netways.de
NETWAYS GmbH | Deutschherrnstr. 47a | 90429 Nürnberg | www.netways.de | info@netways.de
Netzwerk
Netzwerkauslastung
Prüfung durch:
Performancecounter
SNMP Abfrage auf den Windows Host
SNMP Abfrage(n) auf den/die entsprechenden Switches
Latenz
Prüfung vom NAGIOS Server aus per PING
Prüfung von den SQL Client Systemen per PING