solip.de
Intel Channel Partner
Lancom Reseller

Performance-Probleme unter Last bei Netzwerkkarten durch Interrupt-Drosselung/Moderation

Erstellt von solip am 14. Januar 2012

Moderne Netzwerkkarten bzw. deren Treiber-Software ist bemüht, die Belastung des Rechners bei Datentransfers gering zu halten. Normalerweise würde jedes Paket eine Unterbrechungsanforderung (Interrupt) auslösen und die CPU veranlassen, die Daten zu behandeln. Dadurch entsteht natürlich eine Last für den Rechner. Die Netzwerkkarte verfügt aber über mehr oder minder große Zwischenspeicher (Buffer), die es ihr erlauben in einem Vorgang größere Mengen Daten zu verarbeiten. Für jeden Vorgang ist dann nur ein Interrupt notwendig.

Dieser eigentlich sehr sinnvolle Vorgang nennt sich Interrupt-Drosselung oder auch Interrupt Moderation.

Die Implementierung dieses Features ist jedoch sehr unterschiedlich. Qualitativ hochwertige Netzwerk-Adapter wie die Intel Produkte tun dies meist in einem adapativen Modus und passen sich an die Anforderungen und an die CPU-Last an. Das funktioniert in den allermeisten Fällen problemlos. Billigere Technik wie z.B. RealTek NICs lösen diese Thematik schlechter und machen öfter Probleme.

Ursachen für solche augenscheinlich zunächst schwer erklärbaren Probleme:

1.) Man transferiert Daten in einem Gigabit-Ethernet und lastet die Netzwerkverbindung weitgehend aus. Andere Übertragungen kommen ins Stocken, auch wenn sie nur sehr geringe Anforderungen an die Bandbreite stellen.

2.) Die CPU des Rechners wird stark belastet (Beispiel: Abspielen eines AVC Films ohne Hardware-Beschleunigung aus dem Netzwerk) und der Durchsatz der Netzwerkverbindung bricht so stark ein, das der Film stockt.

Beide Szenarien haben nicht als Ursache, dass das Netzwerk oder der Rechner nicht leistungsfähig genug wären. Es entstehen lediglich zu große Pausen im Datentransfer. Im Fall 1 wird die Interrupt-Drosselung so stark ausgereizt, das ein zeitlicher Versatz für andere Verbindungen entsteht. Je nach Anwendung ist dies zuviel für die einwandfreie Funktion. Im Fall 2 wird die CPU stark belastet und dadurch die Interrupt-Leistung für den Netzwerk-Bereich stark reduziert, die Datenrate sinkt unter das nötige Minimum.

Bei billigen Netzwerk-Adaptern ist es sehr oft vonnöten die Interrupt-Drosselung abzuschalten um einen einwandfreien Betrieb unter hoher Last zu gewährleisten. Je aggressiver der Rechner zudem Stromspartechniken anwendet, desto mehr Probleme kann es geben.

In jedem Fall bieten die Hersteller der Netzwerk-Adapter Optionen um die Interrupt-Drosselung oder auch Interrupt-Moderation zu ändern. Oft bleibt jedoch nur das Ausschalten, denn nur so wird der Rechner wirklich gezwungen den Netzwerkverkehr im „normalen“ Zeitrahmen zu gewährleisten.

Nun könnte man denken die CPU würde über Gebühr belastet und der Rechner beeinträchtigt wenn man dies tut. Dem ist nicht so. Aktuellen Prozessoren bereitet ein Gigabit-Netzwerk ohne Interrupt-Behandlung keine nennenswerte Zusatz-Last.

Die Optionen hierzu findet man in den Adapter-Einstellungen des Netzwerks in der Systemsteuerung. Beispiel:

Abgelegt unter Hardware, Windows | Keine Kommentare »