Hohe Interrupt-Last bei Gbit und aelterem System

MrWeedster

Well-Known Member
Hallo.

Das ganze ist jetzt nicht unbedingt FBSD Spezifisch, aber ich frag trotzdem mal hier nach:

Mein Server hat bei einem Netzwerk Benchmark ueber Gbit mit iperf eine extreme Last von ca. 77% Interrupts und 23% System.
Dabei komm ich mit Iperf nicht ueber 250Mbit/s.

Es ist zwar eine aeltere Kruecke, aber einen Gbit sollte er doch eigentlich mitmachen, oder?

Folgendes System:

Tyan Thunder 2500
2x PIII 500
512MB
Syskonnect 98x irgendwas (Marvell Chipsatz), im 64/33 Steckplatz.

Ich kann TCP-Window Sizes probieren wie ich will, mehr wie 200 - 300 Mbit/s packt er nicht. Am Switch kanns nicht liegen da meine Fuel ~950 Mb/s uebers gleiche Kabel und den gleichen Switch schafft (Bei minimaler Auslastung).

Ist die hohe Interrupt-Last ein phaenomaen von x86 oder liegt da bei mir irgendwas derb im argen?



greetz
 
Kann der Chip (und aktiviert der Treiber) Features wie Checksum Offloading oder Interrupt Moderation?

Du koenntest es mal mit polling(4) versuchen, oder kauf dir nen vernuenftigen GBit Chip :D
 
Die Prozessoren sind einfach zu lahm, um Gigabit Ethernet auszureizen. Deshalb hat man früher Jumbo Frames verwendet.

Intel Pro/1000 em(4) Karten sind übrigens auch effizienter als sk(4).
 
Wie Endorphine sagt, sind deine Prozessoren schlicht zu langsam. Der vollparallelisierte Netzwerkstack in 7.0 könnte minimale Besserung bringen, aber das Problem löst du damit nicht. Eigentlich bleiben dir nur stärkere Prozessoren als Lösung.
Eine andere Netzwerkkarte - wie die schon genannten Intelkarten - kann den CPUs Arbeit abnehmen. Aber auch sie werden das Problem allenfalls dämpfen und sicherlich nicht lösen.
 
@MrFixit:

Also die Karte beherrschts, aber ich weiss nicht ob es aktiviert ist, bzw. wie und wo man dies tut.

Btw: Ich hab ne andere Karte da (hp nc7770, broadcom chip), bei der ist es das gleiche in gruen - Extreme Interrupt last....


Was denkt ihr: Bringt ein upgrade auf 2x 1000 Mhz was?



greetz
 
Ein Upgrade auf 2x1Ghz würde wahrscheinlich soviel kosten wie ein neues Mainboard mit PCIe, AMD X2 3800 und 2g ram (160€).
 
Bei weitem nicht. Ausserdem braeuchte ich auf dem Board unbedingt PCI-X Plaetze, von daher wuerde es eh schon teurer werden.
Und wer will schon nen 'Server' mit Desktop-Komponenten?


greetz
 
Ein Upgrade der CPUs wird auf jeden Fall was bringen, natürlich auch in der Gesamtperformance. Allerdings würde ich denn auch gleich noch das Geld in eine gute Intel-NIC stecken...
Nur sei dir bitte im Klaren darüber, dass der PCI-Bus als Flaschenhals vorhanden bleibt. Mit einer PCI-Karte komme ich auf aktueller Hardware nicht über 750mbit/s hinaus, PCI-e Karten spielen hingegen in Bereichen von 900mbit/s, wenn Switch und Kabel stimmen :)
 
Genau. Also wenn, dann gleich eine Intel PRO/1000 MT Server mit 82545GM kaufen, wenn das Mainboard ohnehin schon 64-Bit Steckplätze hat. 32-Bit/33MHz-PCI bremst Gigabit Ethernet aus.

Eine andere Möglichkeit wäre natürlich, wenn das Board auch 66 MHz-Steckplätze hat, da könnte dann eine 32-Bit Pro/1000 GT für ~25 EUR (neu) auch volle Performance liefern. :) Die Desktop-Kärtchen können nämlich afaik auch 66 MHz.
 
Ein Upgrade der CPUs wird auf jeden Fall was bringen, natürlich auch in der Gesamtperformance. Allerdings würde ich denn auch gleich noch das Geld in eine gute Intel-NIC stecken...
Nur sei dir bitte im Klaren darüber, dass der PCI-Bus als Flaschenhals vorhanden bleibt. Mit einer PCI-Karte komme ich auf aktueller Hardware nicht über 750mbit/s hinaus, PCI-e Karten spielen hingegen in Bereichen von 900mbit/s, wenn Switch und Kabel stimmen :)


Hoi.

Warum sollte der PCI Steckplatz der Flaschenhals sein? Bei 64/33 komme ich rein Rechnerisch auf 264MB/s. Das sollte mehr als ausreichend sein. Ich weiss das man praktisch nicht auf diese Raten kommt, jedoch sollten darueber schon ~100MB/s moeglich sein.


Genau. Also wenn, dann gleich eine Intel PRO/1000 MT Server mit 82545GM kaufen, wenn das Mainboard ohnehin schon 64-Bit Steckplätze hat. 32-Bit/33MHz-PCI bremst Gigabit Ethernet aus.

Eine andere Möglichkeit wäre natürlich, wenn das Board auch 66 MHz-Steckplätze hat, da könnte dann eine 32-Bit Pro/1000 GT für ~25 EUR (neu) auch volle Performance liefern. :) Die Desktop-Kärtchen können nämlich afaik auch 66 MHz.


Ja, es hat 64/66er, leider laufen diese nur bei 66Mhz wenn FSB133 CPUs verwendet werden, was bei mir nicht der Fall ist.
Jedoch wuerden die 2 64/66er Plaetze, welche an einem PCI-Bus haengen, meinem SAS Controller vorbehalten sein um die volle Performance zu liefern.


Naja, wie dem auch sei: Ich habe mich entschieden dieses Board zu kaufen, da ich noch eine passende CPU und RAM auf Lager habe. Da sind zwei Intel NICs schon onboard, von daher kann ich mir die dann sparen.
Das Board gabs(gibts) guenstig auf egay, hab 70 Euros bezahlt.



greetz
 
So, nachdem ich das besagte Board nun seit ca. 2 Wochen habe, ein Resueme:

Es ist ein totales Desaster.

Gut, Netzwerk-Technisch funktioniert alles einwandfrei, jedoch hab ich brutale Probleme mit der Kompatibilitaet mit FreeBSD.

Im Board steckt ein HP P600 SAS Controller an welchem 3x750GB Platten haengen.

Fuer Quick'n'Dirty Tests hab ich zuerst einmal Win2003 installiert, meine Daten von einer 300er Platte hinueberkopiert - Performance passt (40-50MB/s). Dort lagen jetzt die Daten ein bisschen, da ich die 300er anderweitig gebraucht hab.

Vorgestern wollte ich die Daten wieder auf die 300er kopieren, damit ich den Server mit FreeBSD fuer den 'produktiven' Betrieb bestuecken kann.
Kopieren Start: Nach ~10 Minuten haengt der Kopiervorgang einfach - keine Fehlermeldung und nichts. Er haengt einfach und macht nicht weiter.
Zwar funktioniert das OS noch so weit, aber irgendwie lockt er z.b. das zuletzt aktuell kopierte File.
Mittels tools habe ich herausgefunden, dass der Explorer die Dateien lockt. Ok: Explorer.exe im taskmanager abgeschossen - nichts. Explorer.exe haengt nach wie vor im System und laesst sich ums verrecken holen nicht abschiessen - Reboot.

Nach tausenden Reboots hatte ich das meiste drueben. Irgendwie hat dann ein Kanal vom Controller einen spinner und eine Platte ist als 'ausgefallen' bezeichnet worden. Nachdem das zweimal passiert war, war der Array inkonsistent - Vielen Dank. Naja gut, das meiste hatte ich, und es handelte sich um nicht-nicht-wiederbringliche Daten, also nicht so schlimm.

Ok hab ich mir gedacht: jetzt FreeBSD und Probleme ade.

Denkste.


7.0 Beta CD rein - booten. Leider kackt er bei dem Zusammenfassungsfenster (wo man normal boot, safe mode, etc auswaehlen kann) vollgas ab - Alles total durcheinander, Cursor blinkt in unnatuerlichen Abstaenden und richtungen - nichts.

Ok, vielleicht zu neu das OS.

6.1 Release rein - booten. Gleiche Scheisse nochmal. Jedoch bootet er nach 10 Sekunden automatisch -

"1706-Smart Array Controller Extended BIOS Data Area Memory Corrupted
Array Controller Interrupt 14h BIOS Cannot Continue
System Halted"

Ja saugeil - da kommt Stimmung auf.

Server auseinandergerissen, rumgebaut, rumgetan. Try again.

7.0: gleiches wie vorher
6.1: gleiches wie 7.0, jetzt kommt nichtmal mehr die Fehlermeldung.

Hab dann noch Stundenlang rumgetan, aber nichts.


Fazit: Vergesst nen P600 Controller fuer *BSD.

Frage: Welcher SAS-RAID Controller ist fuer BSD epmfehlenswert? Hat damit schon jemand Erfahrungen gemacht?




greetz
 
Frage: Welcher SAS-RAID Controller ist fuer BSD epmfehlenswert? Hat damit schon jemand Erfahrungen gemacht?
Ich hab hier zwei IBM x3250 mit FreeBSD laufen, die haben nen LSI Logic SAS1064E. Der wird schon von FreeBSD 6.x von mpt(4) unterstützt. Leider kenne ich jedoch keine Möglichkeit, mit FreeBSD den RAID-Status auszulesen. Bei Adaptec gibt es ja aaccli... Leider wird der AIC-9405W jedoch nicht von FreeBSD unterstützt.

Da man RAID-1 aber auch Performance-neutral in Software realisieren kann (in Zukunft auch ohne gmirror-Schicht mit ZFS), wär das vielleicht auch ne Überlegung wert, solange man kein RAID-5/6 mit wirklich hoher Performance benötigt.
 
Ich hab hier zwei IBM x3250 mit FreeBSD laufen, die haben nen LSI Logic SAS1064E. Der wird schon von FreeBSD 6.x von mpt(4) unterstützt. Leider kenne ich jedoch keine Möglichkeit, mit FreeBSD den RAID-Status auszulesen. Bei Adaptec gibt es ja aaccli... Leider wird der AIC-9405W jedoch nicht von FreeBSD unterstützt.

Huhu.

Also auf dem Papier wird ja so ziemlich alles unterstuetzt. Auch der P600 steht drin.
Aber vermutlich hakt da beim zusammenspiel der Komponenten irgendwas.

Was meinst du mit der fehlenden Unterstuetzung des AIC-9405W? Lt. Adaptec Page ist der Chip im 3405 drin, welchem ich ins Auge als potentiellen Kandidaten gefasst haette.
Und dieser wird mit der Unterstuetzung von FreeBSD angepriesen.
Oder meinst du einfach nur keine Unterstuetzung fuers RAID Monitoring, bzw. aaccli?

Das waer naemlich einer der Hauptkriterien fuer den Term 'Unterstuetzen' (Also dass ein RAID Tool mitgeliefert bzw. verfuegbar ist/wird in dem ich on-the-fly konfigurationen durchfuehren und rebuild-prozesse anstossen bzw. steuern kann).
Denn was hilft dir ein RAID wenn du gar nicht mitkriegst dass Platten floeten gehen?

Da man RAID-1 aber auch Performance-neutral in Software realisieren kann (in Zukunft auch ohne gmirror-Schicht mit ZFS), wär das vielleicht auch ne Überlegung wert, solange man kein RAID-5/6 mit wirklich hoher Performance benötigt.


Genau das brauch ich :>
 
Vielleicht habe ich ja irgendwas übersehen, aber gibt es einen besonderen Grund, warum du 6.1 nimmst und nicht 6.2?
 
Was meinst du mit der fehlenden Unterstuetzung des AIC-9405W? Lt. Adaptec Page ist der Chip im 3405 drin, welchem ich ins Auge als potentiellen Kandidaten gefasst haette.
Und dieser wird mit der Unterstuetzung von FreeBSD angepriesen.
Oder meinst du einfach nur keine Unterstuetzung fuers RAID Monitoring, bzw. aaccli?
Adaptec hat womöglich "FreeBSD-Support" als Checklisten-Feature angegeben. Gemeint ist damit aber, dass irgendwann mal jemand bei Adaptec einen Binärtreiber für afair FreeBSD 6.0 und 6.1 geschrieben hat. Das Binärmodul steht bei Adaptec zur Verfügung. Es macht aber schon wenig Freude, wenn man schon bei der Installation des Systems über USB-Stick oder sonstwie ein Binärmodul in den Installationsprozess frickeln muss, nur um die Festplatte ansprechen zu können. Und ob das Binärmodul überhaupt noch unter FreeBSD 7.x läuft bezweifle ich auch.

Ich bin ja nicht so sehr gegen Binärtreiber wie viele andere. Aber bei den zwei grundlegenden Komponenten Ethernet-Treiber und Massenspeicher-Treiber würde ich nie Kompromisse eingehen. Die sollten direkt im Betriebssystem unterstützt werden, weil das wirklich die absolute Basis ist.

Mein momentaner Stand mit dem AIC-9405W ist nun, dass der Controller auf dem Board herumlungert und nichts zu tun hat, einfach weil er von FreeBSD nicht unterstützt wird und sich da auch auf absehbare Zeit nichts bewegt. Ich rate daher weiter von dem Controller ab, solange nicht abzusehen ist, dass ein Treiber im offenen Quelltext in's Basissystem einer *BSD wandert.

Das waer naemlich einer der Hauptkriterien fuer den Term 'Unterstuetzen' (Also dass ein RAID Tool mitgeliefert bzw. verfuegbar ist/wird in dem ich on-the-fly konfigurationen durchfuehren und rebuild-prozesse anstossen bzw. steuern kann).
Denn was hilft dir ein RAID wenn du gar nicht mitkriegst dass Platten floeten gehen?
Bei RAID-1 brauch man ja keinen Hardware RAID-Controller, das kann man ohne Kompromisse auch genau so gut (oder imho sogar besser) in Software machen. :) Dank gmirror oder erst recht ZFS holt man sich wenn's nur RAID-0/1 sein soll mit Hardware-RAID Controllern nur unnötige Komplexität, Abhängigkeit und nen zusätzlichen single point of failure in's Haus...
Genau das brauch ich :>
Das war jetzt auf ein großes und sehr leistungsfähiges RAID-5/6 bezogen? Dessen Sinn in einem Host sehe ich auch langsam aber sicher schwinden. Das können spezialisierte SAN/NAS-Systeme besser meiner Meinung nach.

Aber wenn's unbedingt noch ein dicker Storage-Host sein soll: twa(4) 3ware-Karten sind imho gut zu gebrauchen. Siehe auch http://www.freshports.org/sysutils/tw_cli/ und http://www.freshports.org/sysutils/3dm/
 
Zuletzt bearbeitet:
Zurück
Oben