# GBit Perfomance Realtek RTL8111/8168B PCI Express

## DaBash0r

Hi Leute,

ich wollte mal Fragen, ob ihr euch mit dem Realtek "RTL8111/8168B PCI Express" Ethernet Controller bezüglich der möglichen Gigabit Perfomance auskennt.

Ich habe hier ein Netzwerk mit 3 PCs, einem Gigabit Switch und CAT6-Flachband Patchkabeln.

Zwischen 2 PCs habe ich mit netio in beide Richtungen Datenraten von 110.000-115.000 kbit gemessen. Ich denke diese Werte sind ganz akzeptabel  :Smile:  Bei beiden Rechnern werkelt eine OnBoard-Nvidia Karte mit NForce Treiber.

Beim dritten Rechner mit der o.g. Realtek Karte erreiche ich von diesem Rechner aus gesehen im Download nur Raten zwischen 40.000 und 60.000 kbit und ca. 80.000 kbit im Upload. Dazu muss man sagen, dass der Realtek Controller auch OnBoard verarbeitet ist und der PC nur eine Intel Atom 330 (DualCore) CPU besitzt. Diese hat jedoch dank Hyperthreading vier logische Kerne, von denen drei im Netio-Test 0-5% Auslastung haben und der erste bei ca. 99% Auslastung steht.

Ich habe bereits das R8169-Kernelmodul aus den Gentoo-Sourcen und das R8168-Modul von der Realtek-Homepage ausprobiert. Beide zeigen das Verhalten, wie ich es grade beschrieben hab.

Wälzt der Netzwerkadapter wirklich so viel Arbeit auf den Kernel, bzw. die CPU ab. Oder gibt es noch ein paar Tricks um die Performance zu verbessern?

Btw: Ist der Netzwerkstack des Kernels bei einkompilierter SMP-Unterstützung nicht in der Lage, die Arbeit auf die beiden physikalischen Cores zu verteilen?

Grüße,

Sascha

----------

## py-ro

 *DaBash0r wrote:*   

> 
> 
> Ich habe bereits das R8169-Kernelmodul aus den Gentoo-Sourcen und das R8168-Modul von der Realtek-Homepage ausprobiert. Beide zeigen das Verhalten, wie ich es grade beschrieben hab.
> 
> Wälzt der Netzwerkadapter wirklich so viel Arbeit auf den Kernel, bzw. die CPU ab. Oder gibt es noch ein paar Tricks um die Performance zu verbessern?
> ...

 

Nein, dazu ist der Kernel noch nicht in der Lage, wobei in der letzten Version sich was getan haben soll, dass muss man aber wohl auch erst aktivieren. Und die Leistung bei Gigabit mit dem Atom, ich bekomme per rsyncd maximal 24-26MB/s zustande. Mehr schafft er aber intern von Platte zu Platte auch nicht.

Zu ersterem mal nen Link http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-35-1045229.html?artikelseite=2

Bye

Py

----------

## Mr_Maniac

Ich betreibe auch einen Atom 330 als Serverchen...

Direkt von Platte bekomme ich auch etwa 20-30 MB/s. Aber wenn eine Datei gecached ist, dann werden es tatsächlich 60-110 MB/s.

Anscheinend ist (bei mir) wohl die Platte / der Zugriff auf diese der begrenzende Faktor.

Ich habe übrigens WD Caviar Green Platten verbaut.

----------

## StephanX

 *DaBash0r wrote:*   

> Hi Leute,
> 
> Ich habe hier ein Netzwerk mit 3 PCs, einem Gigabit Switch und CAT6-Flachband Patchkabeln.
> 
> 

 

Hi Sascha,

ich wollte mir damals auch CAT6-Flachband-Kabel zulegen. Der Hersteller sagte mir aber, dass damit kein Gigabit-Ethernet möglich wäre.

Vielleicht ist das ja bei dir das Problem?

Grüße,

 Stephan

----------

## DaBash0r

Hi,

danke schon mal für eure Antworten, ich hatte in den letzten Tagen leider ziemlich wenig Zeit :/

 *py-ro wrote:*   

> Nein, dazu ist der Kernel noch nicht in der Lage, wobei in der letzten Version sich was getan haben soll, dass muss man aber wohl auch erst aktivieren. Und die Leistung bei Gigabit mit dem Atom, ich bekomme per rsyncd maximal 24-26MB/s zustande. Mehr schafft er aber intern von Platte zu Platte auch nicht.
> 
> Zu ersterem mal nen Link http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-35-1045229.html?artikelseite=2
> 
> Bye
> ...

 

Das ist ein interessanter Punkt, ich hatte in der Tat noch nen recht alten Kernel laufen (2.6.32). Ein Update hat alllerdings leider auch keine Veränderung gebracht :/

Was für ein Atom läuft denn bei dir? Dual oder Single Core? Hast du in beiden Richtungen die gleichen Übertragungsraten? Das ist der Punkt der mich am meisten wundert, 40Mbit im Download und 80Mbit im Upload....

 *Mr_Maniac wrote:*   

> Ich betreibe auch einen Atom 330 als Serverchen...
> 
> Direkt von Platte bekomme ich auch etwa 20-30 MB/s. Aber wenn eine Datei gecached ist, dann werden es tatsächlich 60-110 MB/s.
> 
> Anscheinend ist (bei mir) wohl die Platte / der Zugriff auf diese der begrenzende Faktor.
> ...

 

Jo, davon ging ich bei mir eigentlich auch aus, da ich zudem letztens festgestellt hab, dass die HDD im BIOS per IDE-Emulation (vor-)eingestellt ist. Aber scheinbar ist die Karte auch nen Flaschenhals :/ Bei mir läuft btw. die Caviar Green 1TB (WD10EARS) mit deaktiviertem Power Management  :Wink: 

 *StephanX wrote:*   

> Hi Sascha,
> 
> ich wollte mir damals auch CAT6-Flachband-Kabel zulegen. Der Hersteller sagte mir aber, dass damit kein Gigabit-Ethernet möglich wäre.
> 
> Vielleicht ist das ja bei dir das Problem?
> ...

 

Das würde mich wundern, da es zwischen den beiden anderen PCs ja auch mit dem GBit klappt  :Wink: 

Störquellen kann ich eigentlich auch ausschließen, da ich das Kabel, das sonst in nem Kabelkanal liegt, zum Test durch nen freies "baugleiches" flachbandkabel ersetzt hab und auch nur die gleichen Übertragungsraten kriege...

Grüße,

Sascha

----------

## asmbuster

 *py-ro wrote:*   

>  *DaBash0r wrote:*   
> 
> Ich habe bereits das R8169-Kernelmodul aus den Gentoo-Sourcen und das R8168-Modul von der Realtek-Homepage ausprobiert. Beide zeigen das Verhalten, wie ich es grade beschrieben hab.
> 
> Wälzt der Netzwerkadapter wirklich so viel Arbeit auf den Kernel, bzw. die CPU ab. Oder gibt es noch ein paar Tricks um die Performance zu verbessern?
> ...

 

aktivieren von rps (ab Kernel 2.6.35)

echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus

hierbei ist 'f' eine bitmaske über die cpus auf welche verteilt werden soll (hier cpu 0-3 für einen 4 Kerner) also 3f für einen 6 Kerner

Gruss

----------

