Performance-Optimierung für Microsoft Dynamics AX

PrintMailRate-it

​​​​​​​​​​​​​Performance Optimierung für Microsoft Dynamics AXDie Performance von Microsoft Dynamics AX ist immer wieder Thema in den unterschiedlichsten Projekten. Sie​ zieht sich von der Implementierung bis ​in den Live-Betrieb des Systems und muss fortlaufend analysiert und optimiert werden. Der Bedar​f dieser fortlaufenden Optimierung ergibt sich aus dem Wachstum der Datenbank im laufenden Betrieb – und dadurch, dass auch in einem schon Jahre bestehenden System immer wieder neue Anpassungen und Änderungen eingespielt werden.


Die Ursachen für schlechte Performance eines Systems können mannigfaltig sein. Dies geht von der dem System zugrunde liegenden Hardware bis hin zu einer nicht optimalen Programmierung des Systems. Leider sind die meist pauschalen Beschwerden der Nutzer („Das System ist langsam“) in den wenigsten Fällen hilfreich, um die Ursachen ergründen zu können.

Microsoft hat dieses Problem erkannt und ein Werkzeug namens DynamicsPerf geschaffen, welches bei der Ursachenfindung und -behebung hilft. Im Netz finden sich einige gute Anleitungen und Blogs zu diesem Thema, die meisten allerdings auf Englisch.

An dieser Stelle wird von den Erfahrungen mit diesem Tool mit den Versionen AX2009, AX2012, AX2012R2 und AX2012R3 in einer losen Folge berichtet. 

Ein besonderes Augenmerk bei der Performance Optimierung von AX sollte auf den SQL-Server gelegt werden. In 95 % der über Jahre hinweg untersuchten Fälle​ lagen die Ursache in schlecht konfigurierten und gewarteten SQL-Servern, in schlechten Datenbankabfragen und fehlenden Indexen. 

Um eine gute Grundlage für die weitere Analyse zu schaffen, sollte als E​rstes die Konfiguration des SQL- Servers untersucht werden.

Die TempDB

Ein wichtiger Bestandteil des SQL-Servers ist die TempDB. In diesem Artikel wird der Aufbau einer optimalen TempDB beschrieben: Configu​re ​SQL Server and storage settings (AX 2012)​
Die Anzahl der Datenfiles einer TempDB richtet sich nach der Anzahl der Prozessoren des SQL-Servers. Pro Prozessor, der im Tab-Reiter „Leistung“ im Task Manager von Windows angezeigt wird, sollte ein Datenfile existieren. 

Performance Optimierung für Microsoft Dynmaics AX

In gezeigter Abbildung wären es also 4 Datenfiles.

Die Datenfiles sollten alle die gleiche Größe haben und im laufenden Betrieb nicht wachsen. Hier sollte von vornherein eine passende Größe gewählt werden. Dies sollte im laufenden Betrieb überwacht werden. Hintergrund dieser Forderung ist, dass der SQL-Server die Datenfiles gleichmäßig versucht zu füllen. Sind jetzt alle Datenfiles bis auf eines, welches größer ist, voll, so wird nur noch in dieses geschrieben und der Effekt der mehreren Datenfiles wird aufgehoben.

Des Weiteren sollten die Datenfiles auf einem separaten möglichst schnellen Laufwerk liegen, auf jeden Fall getrennt von der Daten-Datenbank. Das Log-File der TempDB kann auf demselben Laufwerk liegen, wie die Datenfiles der TempDB.

SQL Server Flags

Diese Flags sollten bei einer Dynamics AX Installation auf dem SQL-Server gesetzt sein. 

Performance Optimierung für Microsoft Dynmaics AX

Die Abfrage der Trace Flags ergab oben gezeigtes Bild. Die Flags 834, 1117, 2371, 3226, 4199 sind gesetzt.
 
Flag 834 beeinflusst die Handhabung von Windows der Memory Page Allocation. Es wird empfohlen für dedizierte SQL-Server dieses Flag zu setzen. Siehe auch: Tuning options for SQL Server when running in high performance workloads​

Flag 1117 beeinflusst die Vergrößerung von Files innerhalb einer Filegruppe. Es bewirkt, dass alle Files einer Filegruppe zur selben Zeit wachsen. Es wird empfohlen dieses Flag zu setzen, wenn die Daten auf mehrere Files verteilt sind. Achtung! Dieses Flag gilt nicht nur für die AX-Datenbank.

Flag 2371 beeinflusst das Update der Statistiken insbesondere von großen Tabellen und wird insbesondere für SQL-Server empfohlen​, die von Microsoft Dynamics AX genutzt werden. Siehe auch: SQL Server Trace Flag 2371 for Dynamics AX​

Flag 3226 beeinflusst die Protokollierung erfolgreicher Sicherungsvorgänge und kann aus Gründen der Übersichtlichkeit der Logs eingeschaltet werden. Somit werden erfolgreiche Sicherungsvorgänge nicht mehr protokolliert. Siehe auch: 
Ablaufverfolgungsflags (Transact-SQL)


Flag 4199 schaltet mehrere Optimierungen für des SQL Servers ein und sollte gesetzt werden. Siehe auch: SQL Server query optimizer hotf​ix trace flag 4199 servicing model​​ 

Sie haben Fragen zu der Dynamics-AX-Beratung von Rödl & Partner? Alexander Schünemann (Tel. +49 [621] 595 708 – 48) ist als Leiter Entwicklung gerne für Sie da.​

zuletzt aktualisiert am 16.02.2017

Kontakt

Contact Person Picture

Alexander Schünemann

Dipl.-Ingenieur, Leiter Anwendungsentwicklung

+49 621 5957 0848

Anfrage senden

Wir beraten Sie gern!

Was macht uns so einzigartig?

Befehle des Menübands überspringen
Zum Hauptinhalt wechseln
Deutschland Weltweit Search Menu