Einstellungen und Parameter in der AGVIP.AGDB

~ 0 min
23.03.2016 16:31

In der Verbindungsdatein werden primär die Zugangsdaten zur SQL Datenbank hinterlegt.

Zusätzlich können über die Verbindungsdatei von AG-VIP SQL weitere Parameter mit gesetzt werden, die sie Performance und das Verhalten von Hintergrundprozessen und auch die Ausführung von SQL Statements kontrollieren.

Insbesondere die Aktualisierung der Statistiken im Hintergrund und auch das Verhalten der Hintergrundprozesse werden durch diese Einstellungen beeinflusst.

Aktualisierung der Statistiken (Abschnitt [DisableBackgroundWorker])

Um die Aktualisierung der Statistiken in bestimmten Zeitabschnitten auszusetzen, kann für jeden Wochentag (Montag=1, Dienstag=2, ... Sonntag=7), ein Eintrag in der AGDB Datei erzeugt werden gefolgt von zwei Uhrzeiteinträgen.

Ist Zeit1<Zeit2, dann wird für die Zeit von Zeit1<JETZT und JETZT<Zeit2 kein Statistikupdate druchgeführt.
Ist Zeit1>Zeit2, dann wird für die Zeit von Zeit1<JETZT oder JETZT<Zeit2 kein Statistikupdate druchgeführt.

Beispiel:

[DisableBackgroundWorker]
; Mo=1, Tu=2, ... Su=7
; Time1 separator Time2 (Separator is ;.,/ or blank)
; Time1<Time2	The time inbetween time1 and time2 ist disabled.
; Time1>Time2	Any time before Time2 and after Time1 is disabled.
2=17:00 20:00
3=20:00 06:00

In diesem Beispiel wird am Dienstag zwischen 17:00 und 20:00 kein Statistikupdate ausgeführt. Sowie am Mittwoch vor 06:00 Uhr und nach 20:00 Uhr. 

Begrenzung der CPU Nutzung für das Statistikupdate (Abschnitt [BackgroundWorkerOptions])

Der SQL Server versucht Statements so schnell wie möglich auszuführen. Dazu werden auch mehr als ein Prozessor verwendet, wenn diese verfügbar und frei sind.

Unter Umständen führt das aber nicht zu einer schnelleren Bearbeitung, weil ein komplexer Statistikupdate Prozess evtl. alle CPUs belegt. Dadurch werden weitere Anfragen an den SQL Server blockiert bis alle CPUs Ihre Arbeit erledigt haben. Durch den Eintrag MaxDOP (Maximum Degree of Parallism), kann die maximale Nutzung der CPUs eingeschränkt werden. Der Wert gibt die Anzahl der CPUs in Prozent an (Werte zwischen 1 und 100). Die Berechnung erfolg mit kaufmännischer Rundung und garantiert, dass im Minimum eine CPU eingesetzt wird.
Wenn dieser Wert auf Empfehlung des Supports eingerichtet wird, ist meistens ein Wert von 50% ratsam.

Beispiel:

[BackgroundWorkerOptions]
MaxDOP=50

 

Begrenzung und Kontrolle von Hintergrundprozessen (Abschnitt [JobSchedulerOptions])

Wenn sehr viele Hintergrundprozesse definiert sind, kann dies auf Servern schnell zu einem Ressourcen Problem werden. Je Hintergrundprozess werden im Minimum 13 Threads und damit ca. 13MB virtueller Speicher benutzt. Da die Jobagents im 32bit Adressraum ablaufen ist nach ca. 130 Prozessen der maximale Speicher aufgebraucht, auch wenn theoretisch noch mehr physikalischer Speicher zur Verfügung steht.

Die maximale Anzahl der Hintergrundprozesse wird durch den Eintrag MaxRunningJobs begrenzt. Sind bereits diese Anzahl an Hintergrundprozessen gestartet, werden keine weiteren Prozesse gestartet, bis einer der Prozesse endet.
Ist dieser Wert in der AGDB Datei nicht angegeben, gilt ein Maximum von 50 Prozessen.

Der gleichzeitige Start von vielen Hintergrundprozessen kann auch für den SQL Server ein Problem darstellen, wenn er auf einmal mit sehr vielen Anfragen zum Öffnen von SQL Verbindungen geflutet wird. Mit dem Eintrag StartJobDelay kann der Start einzelner Hintergrundprozesse verzögert werden. StartJobDelay gibt dabei die Anzahl von Millisekunden an, die vergehen müssen bis ein neuer Hintergrundprozess gestartet werden darf.
Ist derr Wert in der AGDB Datei nicht angegeben gilt eine Verzögerung von 500msec. D.h. in einer Sekunde dürfen maximal 2 Prozesse neu gestartet werden. Werden also 20 Prozesse fällig, wird der Start der Prozesse über die nächsten 10 Sekunden verteilt. 

[JobSchedulerOptions]
; Standardvalues
MaxRunningJobs=50
StartJobDelay=500

 

 

Durchschnittliche Bewertung 0 (0 Abstimmungen)

Kommentieren nicht möglich