Dynamics NAV Performance Counters
Dynamics NAV Performance Counters und die SQL Server integrierten Performance Counter sind starke Werkzeuge, um Fehlern in der Systemkonfiguration und Flaschenhälsen auf die Schliche zu kommen.
Wir möchen Ihnen die bedeutendsten dieser Leistungsmesser in der NAV Systemumgebung (Dynamics NAV Performance Counters / SQL Server Performance Counters) vorstellen.
Ein NAV System performant zu halten (möglichst ohne Sperren), ist die wichtigste und zugleich schwierigste Aufgabe eines Systemverantwortlichen. Besonders zeitraubend sind die Probleme, deren Ursache tief in der NAV / SQL Server Architektur liegen, oftmals nicht auf den ersten Blick ersichtlich sind. Um den Problemen auf die Schliche zu kommen, ist es sehr hilfreich, die Engpässe und Flaschenhälse des Systems zu kennen und zu lokalisieren.
Genau an diesem Punkt setzen die Dynamics NAV und SQL Server Performance Counter an. Auf den ersten Blick verliert man aufgrund der schieren Masse der verschiedenen Zähler die Übersicht. Die Dynamics NAV Leistungsindikatoren (Data Collector Set) geben Auskunft darüber, wie gut der Microsoft Dynamics NAV Server arbeitet. Durch die Verwendung der V8 NAV SQL Studio Monitoring-Tools können Sie die Daten der Leistungsindikatoren der Komponenten wie Service Tier, Speicher, physischen Datenträger und SQL Server usw. überwachen, um evtl. Optimierungen der Leistung vorzunehmen.
1. Dynamics NAV Performance Counters
Es gibt mehrere Gründe, warum eine Werte der Leistungsindikaturen des SQL Server in Verbindung mit der Dynamics NAV Serverinstanz hoch sein können. Vielleicht gibt es in Ihrer NAV Lösung nicht optimalen Code, der zu viele SQL-Aufrufe verursacht. Es ist auch möglich, dass Ihre Daten oder die Metadaten Cacheeinstellungen zu niedrig eingestellt sind.
Es gibt 2 Dynamics NAV Performance Counters, die dieses Problem aufzeigen:
# | Category | Counter | Beschreibung | Status |
---|---|---|---|---|
1 | Data and caching | % Primary key cache hit rate | Prozentsatz der Treffer im Primärschlüssel-Cache, im Vergleich zu den Gesamtanforderungen im Primärschlüssel-Cache. | >90% |
2 | Data and caching | % Result set cache hit rate | Prozentsatz von Treffern der Ergebnismenge im Cache, im Vergleich zu den Gesamtanforderungen an den Ergebnismengen-Cache. | >90% |
Die Primärschlüssel Cache-Trefferrate sollte über 90% betragen; ansonsten könnte der Cache der Dynamics NAV Serverinstanz zu klein sein.
Data Cache Size (CustomSettings.config)
Sollten Sie feststellen, dass der „Data Cache“ der Dynamics NAV Serverinstanz zu klein ist, können Sie den Wert in dieser Einstellung anpassen:
<add key=“DataCacheSize“ value=“9″ />
Bei der Ausführung eines „Single Tenant“-NAV System der Defaultwert von 9 ist wahrscheinlich gut.
Hier die Werte zum Verändern des „Data Cache Size“:
Value | Memory |
---|---|
9 (default) | 512Mb |
10 | 1Gb |
11 | 2Gb |
12 | 4Gb |
13 | 8Gb |
14 | 16Gb |
15 | 32Gb |
… | … |
Metadata Provider Cache Size
<add key=“MetadataProviderCacheSize“ value=“150″ />
Den „Metadata Provider Cache Size“ des Microsoft Dynamics NAV-Service-Tier sollten Sie nur erhöhen, wenn Sie eine starke Last des Arbeitspeicher über die Performance Counter feststellen.
2. Windows und SQL Server Performance Counters
Hier ist unser Vorschlag der wichtigsten Leistungsindikatoren die Sie überprüfen sollten:
# | Category | Counter | Beschreibung | Status |
---|---|---|---|---|
1 | Memory/Buffer Manager | Buffer Cache Hit Ratio | Angabe des Prozentsatzes der Datenseiten, die im SQL Server-Speicher vorhanden ist, ohne Zugriff auf die Festplatte. Ein Wert kleiner als 90% ist ein deutliches Zeichen für Speicherproblem (SQL Server-RAM erhöhen). | >= 90% |
2 | CPU/ Processor | % User Time | Der Leistungsindikator „% User Time“ entspricht dem Prozentsatz der Zeit, die der Prozessor mit der Ausführung von Benutzer Prozessen wie dem SQL Server verbringt. | =< 70% |
3 | Disk | Avg. Disk Sec/Read | Die durchschnittliche Zeit in Millisekunden für jedes Lesen auf der Festplatte: > 20 gilt als sehr schlecht, < 20 gut, < 12 sehr gut und < 8 optimal | =< 20MS |
4 | Disk | Avg. Disk Sec/Write | Die durchschnittliche Zeit in Millisekunden für jedes Schreiben auf der Festplatte: > 20 gilt als sehr schlecht, < 20 gut, < 12 sehr gut und < 8 optimal.Dieser Indikator unterscheidet sich deutlich von dem Leistungsindikator „cached writes“ wo: > 4 schlecht, < 4 gut, < 2 sehr gut, < 1 optimal ist. | =< 20MS |
5 | Locks | Avg. Wait Time (in ms) | Die durchschnittliche Länge der Wartezeit (in Millisekunden) für jede Sperranforderung, die nicht sofort erfüllt werden konnte. Eine durchschnittliche Wartezeit länger als 500ms deutet auf ein übermäßige blockieren hin. | =< 500MS |
6 | Memory | Available Bytes | Niedrige Werte für den „Available Bytes“-Leistungsindikator können ein Anzeichen sein, dass insgesamt zu wenig Arbeitsspeicher auf dem Computer vorhanden ist oder dass eine Anwendung wie Dynamics NAV keinen Arbeitsspeicher freigibt. | >20MB |
7 | Memory | Pages/sec | Ein hoher Wert für den „Pages/sec“ Leistungsindikator kann auf eine überhöhte Auslagerungen hindeuten. | < 50 |
8 | Network | Output Queue Length | Der Leistungsindikator Output Queue Length gibt die Länge der Ausgabepakete-Warteschlange in Paketen an. | < 2 |
9 | SQL Server: Buffer Manager | Output Queue Length | Ein Wert von über 90 Prozent gibt an, dass mehr als 90 Prozent aller Datenanforderungen vom Datencache erfüllt wurden. Fügen Sie so lange Arbeitsspeicher hinzu, bis der Wert konstant über 90 Prozent liegt. | >90 |
10 | SQL Server Access Methods | Page Splits/sec | Anzahl der Seitenteilungen pro Sekunde, die das Ergebnis eines Überlaufs von Indexseiten sind.1. Defragmentierung der SQL Server Indizes2. Überprüfen der Dynamics NAV C/AL-Keys | 0 |
Fazit:
Performance ist mit die wichtigste nichtfunktionale Anforderung, die an Dynamics NAV gestellt wird, besonders mit dem SQL Server. Inzwischen werden Sie bemerkt haben, dass einige dieser Themen größere Konzepte und Techniken erfordern, um in die Tiefe der Materie vorzudringen. Allerdings ist keines dieser Themen unlösbar für die DBAs.
Sollte dieses oder ähnliche Themen Ihr Interesse geweckt haben, so würden wir uns über einen offenen Dialog mit Ihnen freuen.
Ihr Team von DynamicsProject.com