PHuV
2017-09-04, 00:50:24
Vorwort
Wenn ich dem Forum trauen darf, installierte ich ca. März 2005 (https://www.forum-3dcenter.org/vbulletin/showthread.php?t=208509&highlight=Gigabit)mein erstes Gigabit-Netzwerk. Der Wechsel von 10/100 MBit-Lan ab ca. 1998 zu Gigabit-Lan lag bei mir ca. 7 Jahre, als die ersten Karten und Gigabit-Switches 2005 einigermaßen erschwinglich wurden. Damals, als Realtek- und Marvel-Karten lange nicht so gut waren, mußte man für gute Intel-Lan-Karten ebenfalls Preise von 100-150 € hinlegen, und ein günstiger Gigabit-Switch kostete ca. 300-400 € aufwärts.
Nun sind bereits 12 weitere Jahre vergangen. Mittlerweile gilt Gigabit-Lan als ethabliert, selbst neuere Router - die bisher hier stiefmütterlich nur mit 100 MBit versorgt wurden - verfügen nun endlich auch über Gigabit-Lan-Anschlüsse, und viele können sich zu Hause einen dafür vorher notwendigen Switch (wenn die 4 Ports ausreichten) sparen. Da die Internetprovider mit 100 MBit Internetgeschwindigkeit und mehr voranschreiten, ist dieser Schritt notwendig und überfällig.
Doch wo bleibt dieser Schritt für die Netzwerkschnittstellen auf den Mainboards? Kann ein Gigabit-Lan-Netzwerk bisher die Lese- und Schreibgeschwindigkeiten der Festplatten von 100-120 MB/s ohne Probleme ausreizten, ist seit dem Aufkommen der SSDs und NVMe-SSDs mit Lese- und Schreibgeschwindigkeiten von 500-540 MB/s kein Land mehr hier zu sehen. Darunter leiden auch alle, die mit NAS- und Raidsystemen arbeiten, die über diverse Raid-Stufen selbst mit Festplatten hier entsprechend hohe Übertragungsraten verfügen. Beispielsweise liefert der LSI 9271-8i in meinem Server mit 8x4 TB WD Red HDDs ca. 450 MB/s lesend und schreibend. Backups über das Netzwerk und Netzwerkfreigaben für allerlei Datenaustausch unterfordert somit schon lange die Übertragungsgeschwindigkeiten, welche aktuelle Datenträger heute liefern.
Welches Gigabit-Ethernet paßt? (https://www.computerwoche.de/a/welches-gigabit-ethernet-passt,2517945)
Seit langem schaue ich schon nach einer schnelleren Möglichkeit. Bisher hatte es nur den Nachteil, daß die Anbieter für 10Gbit-Lan Karten sehr dürftig und zudem recht teuer sind. Als ich am Anfang des Jahres mal nach Karten schaute, lagen die Intel X540 (PCI 2.1 8x) und Intel X550 (PCIe 3.0 4x) noch bei ca. 320-350 € pro Karte! Ebenso sind auf Mainboards selten 10Gbit-NICs aufzufinden. Schau man bei den aktuellen Chipsätzen von Intel und AMD wie Z170, X299 und X399, findet man nichts.
Preislich hoch sind weiterhin entsprechende Switches, die günstigsten bewegten sich zu Jahresanfang um die 800 €.
Bei 10GBit-Hardware muß man aufpassen, da es hier verschiedenen Anschlußarten gibt:
SFP+, über Kupfer und Glasfaser
RJ45, mit Cat5-7e-Kabeln
Glasfaser und SFP+ sind als PCIe-Karten günstiger, jedoch hat man mit Zubehör deutlich höhere Kosten als bisherige Kupferkabel mit RJ45. Daher stand es für mich außer Frage, bei Kupferkabel und dem bewährten RJ45-Stecker zu bleiben. Selbst damit würde ein Gigabit-Netzwerk mit 3 Karten sich auf ca. 1760 € (3x320 € Lan-Karten + 800 € Switch) summieren, daher wartete ich ab.
Asus bringt einen günstigen 10GBit-LAN-Adapter
Erste Informationen gab es Anfang Juni, wo Asus ankündigte, eine 10-Gbit-Netzwerkkarte für günstige 115 € anzubieten. Im Vergleich zu günstigen aktuellen Gbit-LAN-Karten teuer, im Vergleich zu anderen Karten: günstig.
10GbE- und NBase-T-Adapter kostet 115 Euro (https://www.golem.de/news/asus-xg-c100c-10gbe-und-nbase-t-adapter-kostet-115-euro-1707-128726.html)
c't hatte das Glück, als einer der ersten diese zu testen.
c't 11/2017, S. 68 - LAN-Turbo (https://www.heise.de/ct/ausgabe/2017-11-NBase-T-LAN-Karte-Asus-XG-C100C-3707560.html)
Angekündigt für Juli 2017 dauerte es doch bei einigen bis Mitte August, bis diese verfügbar waren. Der günstigste Switch Asus XG-U2008 verfügt über 2 10 Gbit RJ45- und 8 1GBit-Lan-Anschlüsse und ist mit ca. 250 € aktuell der günstigste Einstieg in das 10Gbit-Netzwerk. Er wird aber hier nicht getestet.
Ich habe für die ersten Tests 2 von den Asus-Karten bei Amazon gekauft.
Die Karten selbst
Da Asus bisher selbst keine NICs herstellte, ist nun die große Frage, wer der Hersteller dahinter ist? Während die Windows-Installation keine Hinweise auf den Hersteller liefert, wird man bei den Linux Treibern etwas schlauer. Sie unterstützen die beiden Karten mit den Bezeichnungen AQN-108 (http://www.aquantia.com/wp-content/uploads/AQN-108%20Brief%20051117.pdf) und AQN-107 (http://www.aquantia.com/wp-content/uploads/AQN-107%20Brief%20051117.pdf). Die AQN-108 (http://www.aquantia.com/wp-content/uploads/AQN-108%20Brief%20051117.pdf) ist eine 5 GBit-Karte, die AQN-107 (http://www.aquantia.com/wp-content/uploads/AQN-107%20Brief%20051117.pdf) die 10-Gbit-Version. Dahinter steckt vermutlich die Firma Aquantia (http://www.aquantia.com/), welche bereits seit 2012 10Gbit-NICs für Server anbietet und 2016 bereits ein 100Gbit-NICs vorgestellt hatte. Ihnen ist es vermutlich zu verdanken, daß Asus so günstig diese Karten anbieten kann, siehe auch Aquantia AQtion Network Adapters Introduce New Levels of Multi-Gigabit Connectivity for High-Performance PCs and Professional Workstations (http://www.aquantia.com/2017/05/15/aquantia-aqtion-network-adapters-introduce-new-levels-multi-gigabit-connectivity-high-performance-pcs-professional-workstations/).
Unboxing
Den Karten liegt bei
ein verkürztes Slotblech
eine Installations-CD und
die üblichen Garantie- und CE-Papiere
ein Quickstart-Guide in verschiedenen Sprachen
Im Quickstart-Guide wird vermerkt:
Cable lenght limit (for 10 Gbps network speed):
Cat5e up to 30 meters
Cat6 up to 55 meters
Cat6a and upper level cables up to 100 meters
Diese Infos sind weder in den PDF-Dateien auf der CD noch Online bei Asus zu finden.
https://i.imgur.com/D0sjmRE.jpg
Zur Sicherheit habe ich mir jedoch ein Cat7e-Kabel 5m für ca 9 €, ebenfalls bei Amazon, gekauft.
Einbau und Treiberinstallation
Der Einbau erfordert einen freien PCIe 3.0 x4 Slot und 4 freie PCIe-Lanes. Der Treiber kann nur mit dem Setup der beigelegten CD installiert werden. Der Treiber in der gleichen Version kann auch von der Asus-Homepage geladen werden. Ebenso liegen Treiber für Linux dabei. Hier muß man jedoch diese zuerst mit gcc übersetzen und von Hand per Hand als Modul laden (> insmod atlantic.ko), was für den erfahrenen Linuxer an sich kein Problem darstellen dürfte.
Konfiguration
Windows
Sind mehrere Netzwerkkarten im Computer vorhanden, muß man beachten, wie mal alle weiteren Netzwerkkarten konfiguriert. Gas Gateway und der DNS-Server müssen frei bleiben, da sich sonst die verschieden Konfigurationen in die Quere kommen.
https://i.imgur.com/SamLjcm.jpg
Eigentlich wählt Windows automatisch den schnellsten Netzwerkadapter, jedoch kann man sich nicht immer darauf verlassen. Daher werden alle Rechner direkt per IP-Adresse mit UNC-Notation angesprochen:
https://i.imgur.com/DoGeIgf.jpg
Linux
Man beachte die beiliegende Readme-Datei. Hier packt man den Treiber, welcher als bz2-Format vorliegt, erst mal aus. Dann kann man mit dem vorhandenen Makefile als User root einfach per
> make
den Code übersetzen, und den Treiber per
> insmod atlantic.ko
welches auf der aktuellen Desktop-Version von Ubuntu 17.04. anstandslos funktionierte.
> insmod atlantic.ko
Wer Lust hat, den Code zu verändert, kann per
> modprobe -r atlantic.ko
das Modul wieder löschen, per
> make clean
entfernen und die Prozedur wieder erneut starten.
Netzwerkeinbindung erfolgt wie bei Windows als 2. Adapter. Eine Ramdisk unter Linux (https://wiki.ubuntuusers.de/RAM-Disk_erstellen/) läßt sich einfach per device tmpfs erstellen:
> mkdir /ramdisk
> mount -t tmpfs -o size=40G none /ramdisk
Auf Windows-Freigaben kann man ebenso einfach per SMB zugreifen
> smb://198.168.1.80/r
Testumgebungen
Alle Rechner werden direkt miteinander per Cat7e-Kabel verbunden. Da die heutigen Karten Auto-MDI-X (https://de.wikipedia.org/wiki/Medium_Dependent_Interface)-fähig sind, sind keine Crosslinkkabel ab 1GB-Netzwerkkarten mehr notwendig. Man kann jedes beliebige Cat5/6/7e-Kabel dazwischen schalten. Das Programm Netio (http://www.nwlab.net/art/netio/netio.html), welches ich bisher immer gerne zum Testen der Lan-Performance verwendete, ist leider veraltet und liefert nur ca. 280 MB/s, und damit etwas mehr als ein Viertel der möglichen Performance.
Testrechner
R1: Server, Asrock Z170 Extreme7+, Intel i7-6700k, 48 GB Ram (DDR4 2400), Samsung 951 512 GB über PCIe 3.0 4x mit Adapter-Karte, Logitech G15-Tastatur mit LCD, LSI 9271-8i mit 8x4 TB Raid 5 mit ca. 27 TB.
R2: Anwendung, Gigabyte GA-X99-UD7, Intel i7-5820k, 96 GB Ram (DDR4 2400), Samsung 950 Pro 512 GB über M.2-Anschluß Mainboard, Logitech G19-Tastatur mit LCD
R3: Spiele, Z97 Extreme6-3.1, Intel i7-4970k, 16 GB Ram (DDR3 1333), 2 TB Samsung 850 Pro SSD, Logitech G19-Tastatur mit LCD
Keiner der Rechner wird übertaktet
Verwendete Software
Windows 10 Pro 1703 mit allen aktuellen Updates
Ubuntu 17.04. mit aQuantia Corporation Network Driver
SoftPerfect RAM Disk 3.4.8 64-Bit
Windows Task-Manager mit Leistungsanzeige
Aida64 Extreme Edition
Auf allen Rechnern wurde die aktuelle Treiber-Version 1.40.37.0 von Asus installiert.
Teststellung
Kein Switch und Hub dazwischen.
Auf den Rechnern R1, R2 sind 40 und 35 GB-Ramdisks und NVmes vorhanden, auf R3 nur eine 11 GB große Ramdisk und eine SSD
Übertragen werden jeweils 8-30 GB große Dateien über die im Netzwerk freigegebenen Laufwerke R (Ramdisk) und F (NVMe-Laufwerke) und D (Samsung 850 Pro SSDs)
Mit den Taskmanagern und den LCD-Bildschirmen der G15/G19-Tastaturen wurden alle Aktivitäten beobachtet
Alle RamDisks liefern laut AS SSD Benchmark über 5 GB/s lesend und schreibend.
Beide NVMes schaffen >3GB/s lesen und ca. 2-2,5 GB/s schreibend
LSI 9271-8i Raid 5 schafft ca. 450 MB/s lesend und schreibend
Ergebnisse
Windows und Windows
Die ersten Tests verwunderten. Das Kopieren von R1 nach R2 brachte nur ca. 510 MB/s, während die gleiche Übertragung von R2 nach R1 mit ca. 1,05 GB/s lief. Tests mit R3 nach R1 und umgekehrt brachten immerhin 670 MB/s lesend und schreibend 715 MB/s. Dabei spielte es keine Rolle, ob per schnelle SSD (Samsung 850 Pro in allen Rechnern), NVMe SSDs oder die RamDisks verwendet wurden.
Schaut man in die Netzwerkeinstellungen, findet man schnell die Ursache des Problems, die Jumbo-Frames (hier als Jumbo Packet bezeichnet) sind per default deaktiviert.
https://i.imgur.com/tZ2kTkm.jpg
Setzt man diese auf den höchsten Wert, schon klappt es schneller.
https://i.imgur.com/ZqcqxW2.jpg
Übertragung R1->R2 (pull oder get)
https://i.imgur.com/rXAZN5w.png
Übertragung R2->R1 (push oder put)
https://i.imgur.com/2HSRHGm.png
Interessant ist wieder das Phänomen, daß das Holen von Dateien pull/get (FTP-User erinnern sich) auf einem beliebigen Rechner immer etwas langsamer ist als Dateien als etwas dorthin zu kopieren push/put.
Pull ergibt 850 Mbit-1,05 GBit/s, push dagegen liefert fast immer konstant 1,05-1,14 GBit/s, egal welcher Rechner und welches Medium (NVMe-SSD und RamDisk). Sind die Medien langsamer (HDDs, SSDs, Raid5), so wird hier trotz allem die volle Performance der Medien bis zu ihrem Maximum ausgereizt.
Werden viele kleine Dateien übertragen, bricht in allen Fällen die Datenübertragungsrate dramatisch auf bis zu 15 MB/s ein, je nach Größe und Anzahl der kleinen Dateien. Somit lohnt sich das 10GBit-Netzwerk nur für große Dateien.
Linux und Windows
Hier sind die Ergebnisse erst mal ernüchternd. Mehr als 150-160 MB/s sind nicht drin, egal von welcher Seite und von welchem Medium. Selbst das Konfigurieren als einzige Netzwerkkarte brachte keine Verbesserung. Es wird im Readme auf eine Konfigurationsdatei aq_cfg.h verwiesen, die aber nur sehr dürftig dokumentiert ist. In der Suche der Sourcen gibt es einige Verweise auf die Jumbo-Frames- Einstellungen als Variable:
hw_atl/hw_atl_a0_internal.h:#define HW_ATL_A0_MTU_JUMBO 9014U
hw_atl/hw_atl_a0_internal.h: .mtu = HW_ATL_A0_MTU_JUMBO,
hw_atl/hw_atl_b0.c: /* jumbo */
hw_atl/hw_atl_b0.c: ++ring->stats.rx.jumbo_packets;
hw_atl/hw_atl_b0_internal.h:#define HW_ATL_B0_MTU_JUMBO (16000U)
hw_atl/hw_atl_b0_internal.h: .mtu = HW_ATL_B0_MTU_JUMBO,
release_notes.txt:+ Linear skb for single descriptor packets (jumbo frames up to 4500 bytes).
Das muß ich mir aber mal in Ruhe und länger anschauen, wie diese zu verwenden sind.
Fazit
Nach 12 Jahre Warten: 10Gbit-Netzwerkkarte für ca 110-115 €, das ist eine Ansage und ein akzeptabler Preis, während vergleichbare Intel-Karten wie die Intel X550-T1 immer noch bei 289 - 300 € liegt. Das heißt zum Preis von einer Intel-LAN-Karte kann man sich fast 3 Asus-LAN-Karten kaufen.
Unter Linux ist die Performance erst mal sehr enttäuschend, und leider für meine Pläne mit BigData-Tests wie Apache Hadoop und HDFS (https://de.wikipedia.org/wiki/Apache_Hadoop)mit Citrix XenServer 7.1. ungeeignet. Gerade hier in Verbindung mit NVMe SSDs wären Performance-Tests sehr interessant geworden. Hier muß man wohl noch auf bessere Treiber warten, oder sich intensiv mit den Quellen des Treibers auseinandersetzen, um das Problem zu finden. Für Linux gibts von mir erst mal keine Empfehlung und ein (no).
Wer unter Windows viel große Dateien zwischen Rechnern, Server und NAS-Server hin- und herschieben will, für den lohnt sich definitiv eine Anschaffung. Dafür muß aber ein PCIe 3.0 x4-Anschluss und entsprechend freie PCIe-Lanes vorhanden sein. Dann kann mal auch mal getrost über das LAN ein Backup mit beispielsweise Acronis True Image direkt auf ein NAS- oder Fileserver mit Raid-Controller erfolgen, wo die Geschwindigkeit der vorhandenen Datenspeicher fast ausgereizt werden kann.
Jetzt müßten nur noch die größeren Switches im Preis deutlich günstiger werden, hier ist man aktuell mit ca. 600 € für den aktuell günstigsten Switch wie NETGEAR XS708E-100NES ProSAFE dabei.
Im Betrieb wird der Kühler der Karte sehr warm bis heiß, was aber als Fingertest noch erträglich ist.
Da die Installation und der Betrieb unter Windows einfach und schnell geht, bekommt diese Karte von mir ein fettes (y) als aktuelle Empfehlung.
Ausblick
Leider kann man selbst mit 10GBit-Lan aktuelle NVMe-SSDs noch nicht ausreizen. Sobald angekündigte PCIe-NVME-SSDs mit PCIe 3.0, x8 und x16 mit Übertragungsraten über 10-12 GB/s erhältlich sind, ist wieder das Netzwerk das Limit, welches man dann nur mit mehreren skalieren LAN-Karten in einem Rechner lösen könnten (genügend Slots und PCIe Lanes vorausgesetzt).
100GBit-Lan (http://www.itwissen.info/100-Gigabit-Ethernet-100-Gigabit-Ethernet-100GbE.html) ist bereits in der Mache, und PCIe wird ebenfalls - erst mal nur bei Server - schneller werden, siehe IDF: PCIe 4.0 läuft, PCIe 5.0 in Arbeit (https://www.heise.de/newsticker/meldung/IDF-PCIe-4-0-laeuft-PCIe-5-0-in-Arbeit-3297114.html). Somit wird es interessant, wann wir erleben werden, daß diese Geschwindigkeiten ebenso im Consumer-Bereich ankommen, und ob ich hier weitere 12 Jahre für den nächsten Schritt warten muß.
Wenn ich dem Forum trauen darf, installierte ich ca. März 2005 (https://www.forum-3dcenter.org/vbulletin/showthread.php?t=208509&highlight=Gigabit)mein erstes Gigabit-Netzwerk. Der Wechsel von 10/100 MBit-Lan ab ca. 1998 zu Gigabit-Lan lag bei mir ca. 7 Jahre, als die ersten Karten und Gigabit-Switches 2005 einigermaßen erschwinglich wurden. Damals, als Realtek- und Marvel-Karten lange nicht so gut waren, mußte man für gute Intel-Lan-Karten ebenfalls Preise von 100-150 € hinlegen, und ein günstiger Gigabit-Switch kostete ca. 300-400 € aufwärts.
Nun sind bereits 12 weitere Jahre vergangen. Mittlerweile gilt Gigabit-Lan als ethabliert, selbst neuere Router - die bisher hier stiefmütterlich nur mit 100 MBit versorgt wurden - verfügen nun endlich auch über Gigabit-Lan-Anschlüsse, und viele können sich zu Hause einen dafür vorher notwendigen Switch (wenn die 4 Ports ausreichten) sparen. Da die Internetprovider mit 100 MBit Internetgeschwindigkeit und mehr voranschreiten, ist dieser Schritt notwendig und überfällig.
Doch wo bleibt dieser Schritt für die Netzwerkschnittstellen auf den Mainboards? Kann ein Gigabit-Lan-Netzwerk bisher die Lese- und Schreibgeschwindigkeiten der Festplatten von 100-120 MB/s ohne Probleme ausreizten, ist seit dem Aufkommen der SSDs und NVMe-SSDs mit Lese- und Schreibgeschwindigkeiten von 500-540 MB/s kein Land mehr hier zu sehen. Darunter leiden auch alle, die mit NAS- und Raidsystemen arbeiten, die über diverse Raid-Stufen selbst mit Festplatten hier entsprechend hohe Übertragungsraten verfügen. Beispielsweise liefert der LSI 9271-8i in meinem Server mit 8x4 TB WD Red HDDs ca. 450 MB/s lesend und schreibend. Backups über das Netzwerk und Netzwerkfreigaben für allerlei Datenaustausch unterfordert somit schon lange die Übertragungsgeschwindigkeiten, welche aktuelle Datenträger heute liefern.
Welches Gigabit-Ethernet paßt? (https://www.computerwoche.de/a/welches-gigabit-ethernet-passt,2517945)
Seit langem schaue ich schon nach einer schnelleren Möglichkeit. Bisher hatte es nur den Nachteil, daß die Anbieter für 10Gbit-Lan Karten sehr dürftig und zudem recht teuer sind. Als ich am Anfang des Jahres mal nach Karten schaute, lagen die Intel X540 (PCI 2.1 8x) und Intel X550 (PCIe 3.0 4x) noch bei ca. 320-350 € pro Karte! Ebenso sind auf Mainboards selten 10Gbit-NICs aufzufinden. Schau man bei den aktuellen Chipsätzen von Intel und AMD wie Z170, X299 und X399, findet man nichts.
Preislich hoch sind weiterhin entsprechende Switches, die günstigsten bewegten sich zu Jahresanfang um die 800 €.
Bei 10GBit-Hardware muß man aufpassen, da es hier verschiedenen Anschlußarten gibt:
SFP+, über Kupfer und Glasfaser
RJ45, mit Cat5-7e-Kabeln
Glasfaser und SFP+ sind als PCIe-Karten günstiger, jedoch hat man mit Zubehör deutlich höhere Kosten als bisherige Kupferkabel mit RJ45. Daher stand es für mich außer Frage, bei Kupferkabel und dem bewährten RJ45-Stecker zu bleiben. Selbst damit würde ein Gigabit-Netzwerk mit 3 Karten sich auf ca. 1760 € (3x320 € Lan-Karten + 800 € Switch) summieren, daher wartete ich ab.
Asus bringt einen günstigen 10GBit-LAN-Adapter
Erste Informationen gab es Anfang Juni, wo Asus ankündigte, eine 10-Gbit-Netzwerkkarte für günstige 115 € anzubieten. Im Vergleich zu günstigen aktuellen Gbit-LAN-Karten teuer, im Vergleich zu anderen Karten: günstig.
10GbE- und NBase-T-Adapter kostet 115 Euro (https://www.golem.de/news/asus-xg-c100c-10gbe-und-nbase-t-adapter-kostet-115-euro-1707-128726.html)
c't hatte das Glück, als einer der ersten diese zu testen.
c't 11/2017, S. 68 - LAN-Turbo (https://www.heise.de/ct/ausgabe/2017-11-NBase-T-LAN-Karte-Asus-XG-C100C-3707560.html)
Angekündigt für Juli 2017 dauerte es doch bei einigen bis Mitte August, bis diese verfügbar waren. Der günstigste Switch Asus XG-U2008 verfügt über 2 10 Gbit RJ45- und 8 1GBit-Lan-Anschlüsse und ist mit ca. 250 € aktuell der günstigste Einstieg in das 10Gbit-Netzwerk. Er wird aber hier nicht getestet.
Ich habe für die ersten Tests 2 von den Asus-Karten bei Amazon gekauft.
Die Karten selbst
Da Asus bisher selbst keine NICs herstellte, ist nun die große Frage, wer der Hersteller dahinter ist? Während die Windows-Installation keine Hinweise auf den Hersteller liefert, wird man bei den Linux Treibern etwas schlauer. Sie unterstützen die beiden Karten mit den Bezeichnungen AQN-108 (http://www.aquantia.com/wp-content/uploads/AQN-108%20Brief%20051117.pdf) und AQN-107 (http://www.aquantia.com/wp-content/uploads/AQN-107%20Brief%20051117.pdf). Die AQN-108 (http://www.aquantia.com/wp-content/uploads/AQN-108%20Brief%20051117.pdf) ist eine 5 GBit-Karte, die AQN-107 (http://www.aquantia.com/wp-content/uploads/AQN-107%20Brief%20051117.pdf) die 10-Gbit-Version. Dahinter steckt vermutlich die Firma Aquantia (http://www.aquantia.com/), welche bereits seit 2012 10Gbit-NICs für Server anbietet und 2016 bereits ein 100Gbit-NICs vorgestellt hatte. Ihnen ist es vermutlich zu verdanken, daß Asus so günstig diese Karten anbieten kann, siehe auch Aquantia AQtion Network Adapters Introduce New Levels of Multi-Gigabit Connectivity for High-Performance PCs and Professional Workstations (http://www.aquantia.com/2017/05/15/aquantia-aqtion-network-adapters-introduce-new-levels-multi-gigabit-connectivity-high-performance-pcs-professional-workstations/).
Unboxing
Den Karten liegt bei
ein verkürztes Slotblech
eine Installations-CD und
die üblichen Garantie- und CE-Papiere
ein Quickstart-Guide in verschiedenen Sprachen
Im Quickstart-Guide wird vermerkt:
Cable lenght limit (for 10 Gbps network speed):
Cat5e up to 30 meters
Cat6 up to 55 meters
Cat6a and upper level cables up to 100 meters
Diese Infos sind weder in den PDF-Dateien auf der CD noch Online bei Asus zu finden.
https://i.imgur.com/D0sjmRE.jpg
Zur Sicherheit habe ich mir jedoch ein Cat7e-Kabel 5m für ca 9 €, ebenfalls bei Amazon, gekauft.
Einbau und Treiberinstallation
Der Einbau erfordert einen freien PCIe 3.0 x4 Slot und 4 freie PCIe-Lanes. Der Treiber kann nur mit dem Setup der beigelegten CD installiert werden. Der Treiber in der gleichen Version kann auch von der Asus-Homepage geladen werden. Ebenso liegen Treiber für Linux dabei. Hier muß man jedoch diese zuerst mit gcc übersetzen und von Hand per Hand als Modul laden (> insmod atlantic.ko), was für den erfahrenen Linuxer an sich kein Problem darstellen dürfte.
Konfiguration
Windows
Sind mehrere Netzwerkkarten im Computer vorhanden, muß man beachten, wie mal alle weiteren Netzwerkkarten konfiguriert. Gas Gateway und der DNS-Server müssen frei bleiben, da sich sonst die verschieden Konfigurationen in die Quere kommen.
https://i.imgur.com/SamLjcm.jpg
Eigentlich wählt Windows automatisch den schnellsten Netzwerkadapter, jedoch kann man sich nicht immer darauf verlassen. Daher werden alle Rechner direkt per IP-Adresse mit UNC-Notation angesprochen:
https://i.imgur.com/DoGeIgf.jpg
Linux
Man beachte die beiliegende Readme-Datei. Hier packt man den Treiber, welcher als bz2-Format vorliegt, erst mal aus. Dann kann man mit dem vorhandenen Makefile als User root einfach per
> make
den Code übersetzen, und den Treiber per
> insmod atlantic.ko
welches auf der aktuellen Desktop-Version von Ubuntu 17.04. anstandslos funktionierte.
> insmod atlantic.ko
Wer Lust hat, den Code zu verändert, kann per
> modprobe -r atlantic.ko
das Modul wieder löschen, per
> make clean
entfernen und die Prozedur wieder erneut starten.
Netzwerkeinbindung erfolgt wie bei Windows als 2. Adapter. Eine Ramdisk unter Linux (https://wiki.ubuntuusers.de/RAM-Disk_erstellen/) läßt sich einfach per device tmpfs erstellen:
> mkdir /ramdisk
> mount -t tmpfs -o size=40G none /ramdisk
Auf Windows-Freigaben kann man ebenso einfach per SMB zugreifen
> smb://198.168.1.80/r
Testumgebungen
Alle Rechner werden direkt miteinander per Cat7e-Kabel verbunden. Da die heutigen Karten Auto-MDI-X (https://de.wikipedia.org/wiki/Medium_Dependent_Interface)-fähig sind, sind keine Crosslinkkabel ab 1GB-Netzwerkkarten mehr notwendig. Man kann jedes beliebige Cat5/6/7e-Kabel dazwischen schalten. Das Programm Netio (http://www.nwlab.net/art/netio/netio.html), welches ich bisher immer gerne zum Testen der Lan-Performance verwendete, ist leider veraltet und liefert nur ca. 280 MB/s, und damit etwas mehr als ein Viertel der möglichen Performance.
Testrechner
R1: Server, Asrock Z170 Extreme7+, Intel i7-6700k, 48 GB Ram (DDR4 2400), Samsung 951 512 GB über PCIe 3.0 4x mit Adapter-Karte, Logitech G15-Tastatur mit LCD, LSI 9271-8i mit 8x4 TB Raid 5 mit ca. 27 TB.
R2: Anwendung, Gigabyte GA-X99-UD7, Intel i7-5820k, 96 GB Ram (DDR4 2400), Samsung 950 Pro 512 GB über M.2-Anschluß Mainboard, Logitech G19-Tastatur mit LCD
R3: Spiele, Z97 Extreme6-3.1, Intel i7-4970k, 16 GB Ram (DDR3 1333), 2 TB Samsung 850 Pro SSD, Logitech G19-Tastatur mit LCD
Keiner der Rechner wird übertaktet
Verwendete Software
Windows 10 Pro 1703 mit allen aktuellen Updates
Ubuntu 17.04. mit aQuantia Corporation Network Driver
SoftPerfect RAM Disk 3.4.8 64-Bit
Windows Task-Manager mit Leistungsanzeige
Aida64 Extreme Edition
Auf allen Rechnern wurde die aktuelle Treiber-Version 1.40.37.0 von Asus installiert.
Teststellung
Kein Switch und Hub dazwischen.
Auf den Rechnern R1, R2 sind 40 und 35 GB-Ramdisks und NVmes vorhanden, auf R3 nur eine 11 GB große Ramdisk und eine SSD
Übertragen werden jeweils 8-30 GB große Dateien über die im Netzwerk freigegebenen Laufwerke R (Ramdisk) und F (NVMe-Laufwerke) und D (Samsung 850 Pro SSDs)
Mit den Taskmanagern und den LCD-Bildschirmen der G15/G19-Tastaturen wurden alle Aktivitäten beobachtet
Alle RamDisks liefern laut AS SSD Benchmark über 5 GB/s lesend und schreibend.
Beide NVMes schaffen >3GB/s lesen und ca. 2-2,5 GB/s schreibend
LSI 9271-8i Raid 5 schafft ca. 450 MB/s lesend und schreibend
Ergebnisse
Windows und Windows
Die ersten Tests verwunderten. Das Kopieren von R1 nach R2 brachte nur ca. 510 MB/s, während die gleiche Übertragung von R2 nach R1 mit ca. 1,05 GB/s lief. Tests mit R3 nach R1 und umgekehrt brachten immerhin 670 MB/s lesend und schreibend 715 MB/s. Dabei spielte es keine Rolle, ob per schnelle SSD (Samsung 850 Pro in allen Rechnern), NVMe SSDs oder die RamDisks verwendet wurden.
Schaut man in die Netzwerkeinstellungen, findet man schnell die Ursache des Problems, die Jumbo-Frames (hier als Jumbo Packet bezeichnet) sind per default deaktiviert.
https://i.imgur.com/tZ2kTkm.jpg
Setzt man diese auf den höchsten Wert, schon klappt es schneller.
https://i.imgur.com/ZqcqxW2.jpg
Übertragung R1->R2 (pull oder get)
https://i.imgur.com/rXAZN5w.png
Übertragung R2->R1 (push oder put)
https://i.imgur.com/2HSRHGm.png
Interessant ist wieder das Phänomen, daß das Holen von Dateien pull/get (FTP-User erinnern sich) auf einem beliebigen Rechner immer etwas langsamer ist als Dateien als etwas dorthin zu kopieren push/put.
Pull ergibt 850 Mbit-1,05 GBit/s, push dagegen liefert fast immer konstant 1,05-1,14 GBit/s, egal welcher Rechner und welches Medium (NVMe-SSD und RamDisk). Sind die Medien langsamer (HDDs, SSDs, Raid5), so wird hier trotz allem die volle Performance der Medien bis zu ihrem Maximum ausgereizt.
Werden viele kleine Dateien übertragen, bricht in allen Fällen die Datenübertragungsrate dramatisch auf bis zu 15 MB/s ein, je nach Größe und Anzahl der kleinen Dateien. Somit lohnt sich das 10GBit-Netzwerk nur für große Dateien.
Linux und Windows
Hier sind die Ergebnisse erst mal ernüchternd. Mehr als 150-160 MB/s sind nicht drin, egal von welcher Seite und von welchem Medium. Selbst das Konfigurieren als einzige Netzwerkkarte brachte keine Verbesserung. Es wird im Readme auf eine Konfigurationsdatei aq_cfg.h verwiesen, die aber nur sehr dürftig dokumentiert ist. In der Suche der Sourcen gibt es einige Verweise auf die Jumbo-Frames- Einstellungen als Variable:
hw_atl/hw_atl_a0_internal.h:#define HW_ATL_A0_MTU_JUMBO 9014U
hw_atl/hw_atl_a0_internal.h: .mtu = HW_ATL_A0_MTU_JUMBO,
hw_atl/hw_atl_b0.c: /* jumbo */
hw_atl/hw_atl_b0.c: ++ring->stats.rx.jumbo_packets;
hw_atl/hw_atl_b0_internal.h:#define HW_ATL_B0_MTU_JUMBO (16000U)
hw_atl/hw_atl_b0_internal.h: .mtu = HW_ATL_B0_MTU_JUMBO,
release_notes.txt:+ Linear skb for single descriptor packets (jumbo frames up to 4500 bytes).
Das muß ich mir aber mal in Ruhe und länger anschauen, wie diese zu verwenden sind.
Fazit
Nach 12 Jahre Warten: 10Gbit-Netzwerkkarte für ca 110-115 €, das ist eine Ansage und ein akzeptabler Preis, während vergleichbare Intel-Karten wie die Intel X550-T1 immer noch bei 289 - 300 € liegt. Das heißt zum Preis von einer Intel-LAN-Karte kann man sich fast 3 Asus-LAN-Karten kaufen.
Unter Linux ist die Performance erst mal sehr enttäuschend, und leider für meine Pläne mit BigData-Tests wie Apache Hadoop und HDFS (https://de.wikipedia.org/wiki/Apache_Hadoop)mit Citrix XenServer 7.1. ungeeignet. Gerade hier in Verbindung mit NVMe SSDs wären Performance-Tests sehr interessant geworden. Hier muß man wohl noch auf bessere Treiber warten, oder sich intensiv mit den Quellen des Treibers auseinandersetzen, um das Problem zu finden. Für Linux gibts von mir erst mal keine Empfehlung und ein (no).
Wer unter Windows viel große Dateien zwischen Rechnern, Server und NAS-Server hin- und herschieben will, für den lohnt sich definitiv eine Anschaffung. Dafür muß aber ein PCIe 3.0 x4-Anschluss und entsprechend freie PCIe-Lanes vorhanden sein. Dann kann mal auch mal getrost über das LAN ein Backup mit beispielsweise Acronis True Image direkt auf ein NAS- oder Fileserver mit Raid-Controller erfolgen, wo die Geschwindigkeit der vorhandenen Datenspeicher fast ausgereizt werden kann.
Jetzt müßten nur noch die größeren Switches im Preis deutlich günstiger werden, hier ist man aktuell mit ca. 600 € für den aktuell günstigsten Switch wie NETGEAR XS708E-100NES ProSAFE dabei.
Im Betrieb wird der Kühler der Karte sehr warm bis heiß, was aber als Fingertest noch erträglich ist.
Da die Installation und der Betrieb unter Windows einfach und schnell geht, bekommt diese Karte von mir ein fettes (y) als aktuelle Empfehlung.
Ausblick
Leider kann man selbst mit 10GBit-Lan aktuelle NVMe-SSDs noch nicht ausreizen. Sobald angekündigte PCIe-NVME-SSDs mit PCIe 3.0, x8 und x16 mit Übertragungsraten über 10-12 GB/s erhältlich sind, ist wieder das Netzwerk das Limit, welches man dann nur mit mehreren skalieren LAN-Karten in einem Rechner lösen könnten (genügend Slots und PCIe Lanes vorausgesetzt).
100GBit-Lan (http://www.itwissen.info/100-Gigabit-Ethernet-100-Gigabit-Ethernet-100GbE.html) ist bereits in der Mache, und PCIe wird ebenfalls - erst mal nur bei Server - schneller werden, siehe IDF: PCIe 4.0 läuft, PCIe 5.0 in Arbeit (https://www.heise.de/newsticker/meldung/IDF-PCIe-4-0-laeuft-PCIe-5-0-in-Arbeit-3297114.html). Somit wird es interessant, wann wir erleben werden, daß diese Geschwindigkeiten ebenso im Consumer-Bereich ankommen, und ob ich hier weitere 12 Jahre für den nächsten Schritt warten muß.