Es gibt fünf Hauptfaktoren, die das Thread-Verhalten steuern und die jeweils durch eine Serveroption beeinflusst werden. Nicht alle diese Optionen werden auf jeder Plattform unterstützt.
Multiprogramming-Stufe (Serveroption -gn) Die Option -gn steuert die Multiprogramming-Stufe des Servers. Dieser Wert legt die maximale Anzahl der Aufgaben fest, die gleichzeitig aktiv sein können. Jede Datenbankanforderung verwendet zumindest eine Aufgabe, und möglicherweise mehrere, wenn die abfrageinterne Parallelität verwendet wird. Zusätzlich plant der Server gelegentlich Aufgaben, um interne Bereinigungsaktivitäten durchzuführen. Wenn die Anzahl der Aufgaben im Server die Multiprogramming-Stufe überschreitet, müssen die ausstehenden Aufgaben warten, bis eine derzeit ausgeführte bzw. eine aktive Aufgabe abgeschlossen ist. Standardmäßig kann ein Minimum von 20 Aufgaben beim Netzwerk-Datenbankserver und beim Personal Datenbankserver gleichzeitig ausgeführt werden. Weitere Hinweise finden Sie unter Serveroption -gn und Die Multiprogramming-Stufe des Servers einstellen.
Stackgröße pro internem Ausführungs-Thread (Serveroption -gss) Sie können die Stackgröße pro internem Ausführungs-Thread im Server mit der Option -gss setzen. Mit der Option -gss können Sie die Speichernutzung des Datenbankservers verringern, was in Umgebungen mit begrenztem Speicher nützlich sein kann. Das einzige Windows-Betriebssystem, das diese Option unterstützt, ist Windows Mobile. Weitere Hinweise finden Sie unter Serveroption -gss.
Anzahl der Prozessoren (Serveroption -gt) Wenn Sie mit mehr als einem Prozessor arbeiten, können Sie steuern, wie viele Prozessoren die Threads nutzen, indem Sie die Option -gt angeben. Weitere Hinweise finden Sie unter Serveroption -gt.
Prozessoren-Parallelität (Serveroption -gtc) Sie können die maximale Anzahl der Threads festlegen, die parallel auf einer CPU ausgeführt werden. Standardmäßig läuft der Datenbankserver auf allen Hyperthreads und Kernen auf jedem lizensierten Prozessor. Weitere Hinweise finden Sie unter Serveroption -gtc.
Den Wert von "-gn" zu erhöhen, kann die Wahrscheinlichkeit von Thread-Deadlocks vermindern. Weitere Hinweise finden Sie unter Serveroption -gn.
Den Wert von "-gt" auf "1" zu setzen, kann helfen, Parallelitätsprobleme zu vermeiden. Weitere Hinweise finden Sie unter Serveroption -gt.
Indem Sie die Ausgabe des Systemmonitors unter "Anforderungen: Aktiv" und "Anforderungen: Ungeplant" überprüfen, können Sie einen passenden Wert für die Option -gn unter Windows ermitteln. Wenn die Anzahl der aktiven Anforderungen immer unter "-gn" liegt, können Sie "-gn" senken. Wenn die Gesamtzahl der Anforderungen (Aktiv + Ungeplant) häufig über "-gn" liegt, können Sie den Wert für "-gn" erhöhen. Weitere Hinweise finden Sie unter Systemmonitor-Statistiken und Serveroption -gn.
Das folgende Beispiel zeigt, wie der Datenbankserver, basierend auf den Einstellungen von -gt und -gtc, CPUs auswählt. Im Rahmen des folgenden Beispiels wird angenommen, dass Sie ein System mit 4 Prozessoren haben, mit jeweils 2 Kernen auf jedem Prozessor. Die physischen Prozessoren werden mit Buchstaben und die Kerne mit Zahlen gekennzeichnet, wodurch das System die Verarbeitungseinheiten A0, A1, B0, B1, C0, C1, D0 und D1 enthält.
Szenario | Einstellungen des Netzwerk-Datenbankservers |
---|---|
Eine einzelne CPU-Lizenz oder -gt 1 angegeben |
Threads können auf A0 und A1 ausführen. |
Keine Lizenzeinschränkungen auf der CPU mit angegebenem -gtc 5 |
Threads können auf A0, A1, B0, C0 und D0 ausführen. |
Ein Datenbankserver mit einer 3-CPU-Lizenz und -gtc 5 angegeben |
Threads können auf A0, A1, B0, B1 und C0 ausführen. |
Keine Lizenzeinschränkungen auf der CPU mit angegebenem -gtc 1 |
Threads können nur auf A0 ausführen. |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |