Posted: Fri Feb 04, 2011 15:03 Post subject: Schnelle Hardware für Gigabit Routing
Servus Leute!
Ich möchte gerne 2,5 Millionen Pakete und einen Datendurchsatz von max. 2 GBit (2x 1GBit) erreichen.
Mit einem nicht optimiertem Linux und einem AMD X2 System schaffe ich ca. 700 MBit, wenn es sich nur um TCP Transfer handelt, und die Pakete 1500 Bytes im Payload besitzen.
Kommen nun mehrere kleinere Pakete dazwischen, bzw. ICMP Pings oder sonstiges, dann wandert der Durchsatz schnell mal runter auf 400 MBit.
Es liegt hier klar das Problem an, dass die Netzwerkkarte Interrupt-Lastig ist, und das Ganze System damit runter zieht.
Jetzt stellt sich mir die Frage, ob ich mit DD-WRT dort Besserung erreichen könnte? Eventuell auch mit pfSense oder sonstigem.
Wie sieht es mit Embedded-Hardware aus?
Kann jemand mir einen Tipp geben, wie ich mein Gigabit Routing effektiv hinbekomme? Ohne einen CISCO, Juniper oder sonstige Hardware zu kaufen, die teurer als 2.000 EUR ist?
Laut meinen Berechnungen muss die Hardware 1.412.818 Pakete mit 1520 Bytes routen können, um 2 GBit (Full Duplex) über die Platine zu bekommen.
ich denke, dass Intel I/O Acceleration Technology (I/OAT) genau das sein dürfte, von dem du gesprochen hast.
Intel® PRO/1000 PT Quad Port Server Adapter
PCI Express x4
2x 82571GB
Linux-Seitig scheint die Hardware auch unterstützt zu sein.
Aktuell habe ich eine INTEL(R) PRO/1000 (82572EI) verbaut, leider sehe ich erst jetzt gerade, dass mein Linux-System 2.6.26.3 für den Treiber e1000e kein NAPI (Rx polling mode) aktiviert hat.
Ich denke mit diesem NAPI RX Polling Mode, sollte man noch einmal etwas mehr aus der Netzwerkkarte heraus bekommen.
Als Interrupt ist aktuell PCI-MSI-edge als Modus gewählt. Ich denke das ist auch in Ordnung so.
Beim Laden des Moduls werden alle Standart-Werte verwendet. InterruptThrottleRate steht auch auf 3 für dynamic conservative.
Vielen Dank schon mal für den Hinweis. Werde mich mit diesem Thema mal mehr auseinander setzen. Eventuell werde ich mir auch einen X4 oder X6 anschaffen, um mehr Interrupts verarbeiten zu können.