Firebird-SQL: Hohe Single-Core-Auslastung durch CPU-Affinity optimieren

<< Klicke, um Inhaltsverzeichnis anzuzeigen >>

Navigation:  Installation und Updates >

Firebird-SQL: Hohe Single-Core-Auslastung durch CPU-Affinity optimieren

Problem

Bei Firebird-SQL kann es vorkommen, dass die CPU-Auslastung hauptsächlich auf einem einzelnen Prozessorkern liegt. Typische Auswirkungen:

sehr lange Laufzeiten bei Importen oder Verarbeitungsvorgängen

geringe Gesamtauslastung der CPU trotz hoher Last

schlechte Parallelisierung auf Mehrkernsystemen

Besonders auffällig wird dies beispielsweise beim Einlesen großer Kontoauszüge oder umfangreicher Datenimporte.

 

 

Ursache

Standardmäßig nutzt Firebird unter Umständen nicht optimal alle verfügbaren CPU-Kerne.

Über den Parameter CpuAffinityMask in der Datei firebird.conf kann festgelegt werden, welche CPU-Kerne Firebird verwenden darf.

Offizielle Dokumentation:

https://firebirdsql.org/rlsnotesh/config-fb-conf.html

 

 

Lösung

Datei firebird.conf öffnen und anpassen

Die Datei befindet sich üblicherweise im Installationsverzeichnis von Firebird.

Dort folgenden Parameter anpassen:

CpuAffinityMask = 15

 

 

Berechnung der Werte

Die Berechnung erfolgt nach folgendem Schema:

(2^Anzahl_Kerne) - 1

Beispiele

CPU-Kerne

Wert

1 Kern

1

2 Kerne

3

4 Kerne

15

8 Kerne

255

 

 

Änderung aktivieren

Nach dem Speichern der Konfiguration muss der Firebird-Dienst neu gestartet werden.

Beispielsweise über die Windows-Dienstverwaltung:

Dienst stoppen

Dienst wieder starten

Erst danach greift die neue Einstellung.