Intel S5000PSL-Board Problem mit Netzwerk

17/04/2009 - 11:02 von Reinhard Richter | Report spam
Hallo NG,

ich habe hier einen neuen Server in einem Intel SC5400-Gehàuse mit einem
Intel S5000PSL-Board, 2 x Quadcoreprozessoren 2,5 GHz und 16 GB RAM.
Auf dem Board sind 2 interne Netzwerkkarten Intel PRO/1000 integriert.
Es ist Windows Server 2008 Standard X64 und und MSSQL-Server 2005 X64
installiert.

Nun habe ich folgendes Problem:

Der SQL-Server soll eine Datenbank für unser Warenwirtschaftssystem
betreiben, die làuft z.Z. noch auf einem alten Server, Tyan-Board,
2 x PIII/1,1GHz, 2 GB RAM, Windows 2000 Server.

Der neue Server sollte in Betrieb gehen, dabei wurde festgestellt,
daß bestimmte Funktionen des Warenwirtschaftssystems auf dem neuen
SQL-Server etwa um den Faktor 5 langsamer abgearbeitet wurden als
auf dem Alten. Diese Funktionen sind dadurch gekennzeichnet, daß
sehr viele einzelne SQL-Kommandos abgeschickt werden, jeweils auf
Antwort gewartet wird und erst dann weitergearbeitet wird.
Wird der neue Server selbst auch als Client verwendet (lokal), làuft
alles super schnell, also vermutete ich ein Netzwerkproblem.
Diverse Checks lieferten kein Ergebnis, das Netzwerk lief auf voller
Geschwindigkeit. Traces auf der Datenbank und Netzwerksniffer zeigten
jedoch eine konstante Verzögerung von ca. 10 Millisekunden zwischen
SQL-Kommando und Serverantwort, die bei der lokalen Abarbeitung
nicht zu beobachten war, also doch ein Netzwerkproblem.

Nun habe ich -sozusagen als Gegenprobe- einen ganz normalen PC
(ASUS/AMD 2 x 2,6 GHz, 2GB RAM, RTL8139 Netzwerkkarte) genommen
und die gleiche Software installiert. Und siehe da, es gibt KEINE
Verzögerung, die Anwendung làuft auch schneller als mit dem alten
Server.

Meine Theorie betreffs der Ursache für die Verzögerung sieht nun
folgendermaßen aus:
Die Netzwerkkarte auf dem Intel-Board arbeitet mit einem internen
Cache um den Prozessor zu entlasten. Sendet der Client nun ein
SQL-Kommando, so wird dieses erst mal im Netzwerk-Cache gespeichert.
Dieser Cache wird erst geleert, wenn entweder weitere Netzwerkanfragen
den Cache füllen oder ein Timeout (10 Millisekunden?) erfolgt.
Da es keine weiteren Netzwerkaktivitàten gibt, wird der Timeout aktiv
und verzögert jede Anfrage um 10 Milisekunden.

Gestützt wird diese Theorie durch folgenden Versuch:
Parallel zur Abarbeitung der Funktion im Warenwirtschaftssystem wurden
Dateien zum Server kopiert und die Funktion lief mit normaler
Geschwindigkeit (Schnell). Sobald die Kopie zu Ende war, verlangsamte
sich die Abarbeitung wieder um Faktor 5. Man kann das regelrecht
umschalten, kopieren --> schnell, nicht kopieren --> langsam.

Ich habe folgendes versucht:
- nacheinander Microsoft-Treiber und Intel-Treiber installiert,
keine Verbesserung.
- Separate PCI-Express-Netzwerkkarte eingebaut, allerdings leider mit
dem gleichen Chipsatz wie die Internen (andere nicht verfügbar),
verzögert genau so.
- In der Netzwerkkartenkonfiguration alles ausgeschaltet, was nach
Cache oder Verringerung der Interruptrate aussieht, keine Verbesserung.

Mein Hàndler meint, es wàre die Kombination Server 2008 und Intel-
Netzwerkchipsatz, er ràt mir, das Betriebssystem auf Windows Server 2003
zu àndern, aber dann habe ich hier für teuer Geld ein Betriebssystem
rumliegen.

Meine Frage ist nun:
Kann ich diesen internen Cache der Netzwerkkarte abschalten oder
diese Verzögerung irgendwie anders beseitigen?
Kann ich das Problem durch Einsatz einer Netzwerkkarte mit anderem
Chipsatz beheben? Wenn ja, welche wàre da empfehlenswert?
Gibt es irgendwelche anderen Lösungsansàtze?


Gruß Reinhard
 

Lesen sie die antworten

#1 Hendrik van der Heijden
17/04/2009 - 18:18 | Warnen spam
Reinhard Richter schrieb:
Kann ich diesen internen Cache der Netzwerkkarte abschalten oder
diese Verzögerung irgendwie anders beseitigen?



In den Einstellungen der Netzwerkkarte sollte es eine Option
"Interrupt Moderation" geben, die etwas derartiges macht.
IM abschalten verringet Latenz und erhöht CPU-Last.
Ich glaube aber nicht, daß IM 10ms Latenz ausmacht.


Hendrik vdH

Ähnliche fragen