Server in Standardkonfiguration sollen möglichst viele Anwendungsfälle abdecken. Für den Betrieb als Datenbankserver gibt es aber Optimierungsmöglichkeiten, um die Datenbankperformance zu verbessern. Eine Möglichkeit ist bei vielen aktuellen Netzwerkkarten beziehungsweise Onboard-Anschlüssen vorhanden.
Um beim Senden und Empfangen größerer Datenmengen die CPU-Belastung zu reduzieren, verfügen viele Netzwerktreiber über eine Einstellung zur verzögerten Generierung von Interrupts, die sogenannte Interrupt-Moderation. Die Einstellung ist standardmäßig aktiviert, führt aber zu einer Verzögerung bei der Verarbeitung ankommender Datenpakete.
Das Ausschalten der Interrupt-Moderation auf dem Server beschleunigt den Anfragedurchsatz der CONZEPT 16-Clients, die Anzahl der bearbeiteten Anfragen pro Sekunde kann bis zum Faktor Drei steigen. Selbstverständlich kann diese Einstellung auch auf den Client-Rechnern angepasst werden.
5 Antworten
Klasse, Danke Euch!
@George: Unter Linux kann die Anzahl der Interrupts ebenfalls beeinflusst werden. Ob diese Möglichkeit unterstützt wird, hängt allerdings vom Treiber ab.
Über das Linux-Kommando "modinfo" lassen sich die Parameter des Kernel-Moduls ermitteln. Den Namen des Moduls lässt sich über "ethtool -i eth0" ausgeben. Bei dem von uns verwendeten Treiber lautet der Parameter "InterruptThrottleRate". Über diesen Parameter wird die maximale Anzahl der Interrupts pro Sekunde, die der Adapter für eingehende Pakete generiert, festgelegt. Bei der Angabe von 0 wird die Drosselung deaktiviert. Die Latenz verbessert sich hiermit.
Unter Linux kann die Einstellung oft per "insmod" gesetzt werden, sie ist in jedem Fall treiberspezifisch. Beispiel für Intel-NICs:
#insmod e1000.ko InterruptThrottleRate=0
Siehe auch:
http://download.intel.com/design/network/applnots/ap450.pdf
Hallo,
kennt jemand die Einstellungen für Unix/Linux-Systeme?
Die Steigerung des Datendurchsatzes lässt sich sehr gut mit den Kommunikationstest des CONZEPT 16-Clients dokumentieren.
Der Kommunikationstest "Antwortzeiten" führte bei unserem Test zu nachfolgenden Ergebnissen:
a)
Netzwerkkarte mit Interrupt-Moderation
7.500 Anfragen pro Sekunde
Entspricht einer Latenz von 0.132 ms
b)
Netzwerkkarte ohne Interrupt-Moderation
12.500 Anfragen pro Sekunde
Entspricht einer Latenz von 0.080 ms
Sind Sie zu ähnlichen Resultaten gelangt?