Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performance der Datenbank überwachen und steigern » Datenbankperformance steigern » Tipps zur Performance-Verbesserung

 

Dynamische Cachedimensionierung unter Unix

Bei Unix verwendet der Datenbankserver Auslagerungsspeicher und Arbeitsspeicher zum Verwalten der Cachegröße. Der Auslagerungsspeicher ist eine systemweite Ressource bei den meisten Unix-Betriebssystemen, jedoch nicht bei allen. In diesem Abschnitt wird die Summe aus Arbeitsspeicher und Auslagerungsspeicher Systemressourcen genannt. Weitere Hinweise finden Sie in Ihrer Dokumentation zum Betriebssystem.

Beim Starten weist die Datenbank die angegebene maximale Cachegröße von den Systemressourcen zu. Sie lädt einen Teil in den Speicher (die anfängliche Cachegröße) und behält den Rest als Auslagerungsspeicher.

Die Summe der vom Datenbankserver benutzten Systemressourcen ist konstant, bis der Datenbankserver heruntergefahren wird, aber das Verhältnis der in den Speicher geladenen Daten ändert sich. Jede Minute bewertet der Datenbankserver die statistischen Daten zum Cache und zum Betriebssystem. Wenn der Datenbankserver arbeitet und Speicher anfordert, kann er Cacheseiten vom Auslagerungsspeicher in den Arbeitsspeicher verlegen. Wenn die anderen Prozesse im System Speicher erfordern, entfernt der Datenbankserver möglicherweise Cacheseiten aus dem Speicher, um Speicherplatz auszulagern.

Anfängliche Cachegröße

Standardmäßig ist die anfängliche Cachegröße aufgrund heuristischer Daten in Bezug auf die verfügbaren Systemressourcen zugewiesen. Die anfängliche Cachegröße ist immer niedriger als das 1,1-fache der gesamten Datenbankgröße.

Wenn die anfängliche Cachegröße über 3/4 der verfügbaren Systemressourcen liegt, bricht der Datenbankserver mit dem Fehler Zu wenig Speicher ab.

Sie können die anfängliche Cachegröße mit der Option -c ändern. Weitere Hinweise finden Sie unter Serveroption -c.

Maximale Cachegröße

Die maximale Cachegröße muss niedriger sein als die verfügbaren Systemressourcen des Computers. Standardmäßig wird die maximale Cachegröße aufgrund heuristischer Daten zugewiesen, die auf den verfügbaren Systemressourcen und den gesamten Speicher des Computers basieren. Die Cachegröße übersteigt nie die angegebene bzw. implizite maximale Cachegröße oder die Summe aller offenen Datenbanken und temporären Dateien plus der Größe des Haupt-Heaps.

Wenn Sie eine maximale Cachegröße angeben, die größer als die verfügbaren Systemressourcen ist, bricht der Datenbankserver mit dem Fehler ZU WENIG SPEICHER ab. Wenn Sie eine maximale Cachegröße angeben, die größer als der verfügbare Speicher ist, warnt der Datenbankserver vor Performance-Verschlechterung, bricht jedoch nicht ab.

Der Datenbankserver weist die gesamte maximale Cachegröße von den Systemressourcen zu und gibt sie erst frei, wenn der Datenbankserver beendet wird. Sie sollten darauf achten, eine maximale Cachegröße zu wählen, die gute SQL Anywhere-Performance gewährleistet, jedoch Speicher für andere Anwendungen frei lässt. Die Formel für die standardmäßige maximale Cachegröße ist ein heuristischer Wert, der versucht, dieses Gleichgewicht zu erzielen. Sie brauchen lediglich den Wert abzustimmen, wenn der Standardwert für das System ungeeignet ist.

Sie können die Serveroption -ch zur Bestimmung der maximalen Cachegröße und zum Begrenzen der automatischen Cachevergrößerung verwenden. Weitere Hinweise finden Sie unter Serveroption -ch.

Minimale Cachegröße

Wenn die Option -c angegeben ist, ist die Mindestcachegröße identisch mit der anfänglichen Cachegröße. Wenn die Option -c nicht angegeben ist, beträgt die minimale Cachegröße unter UNIX 8 MByte.

Sie können die Serveroption -cl verwenden, um die minimale Cachegröße anzupassen. Weitere Hinweise finden Sie unter Serveroption -cl.