NFsec Logo

Intel(R) 10 Gigabit PCI Express Network Driver performance degradation

02/10/2015 w Administracja, Debug Brak komentarzy.  (artykuł nr 487, ilość słów: 378)

O

statnio podczas testów linków 10G zauważyłem ciekawą zależność. Testując różne wersje jądra w systemie Ubuntu 12.04 ze względu na różne problemy z obsługą systemu plików ext4 na świat wyszedł inny błąd powiązany z sterownikiem sieciowym. Dla wersji jądra: Linux darkstar 3.13.0-32-generic #57~precise1-Ubuntu SMP test linków za pomocą iperf prezentuje się następująco:

Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.1.1.1 port 5001 connected with 10.1.1.2 port 52049
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  11.0 GBytes  9.40 Gbits/sec

Wersja sterownika ixgbe to: 3.15.1-k. Testy dla wersji jądra: 3.19.7-031907-generic uzyskały wydajność:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.1.1.1 port 5001 connected with 10.1.1.2 port 51458
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  9.69 GBytes  8.32 Gbits/sec

Z kolei dla 4.0.6-040006-generic:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.1.1.1 port 5001 connected with 10.1.1.2 port 43605
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  9.69 GBytes  8.33 Gbits/sec

Widać tutaj obniżenie wydajności o około 1.1 Gbit/s. Wspólnym mianownikiem tych dwóch ostatnich pomiarów był sterownik ixgbe w wersji 4.0.1-k.
Bonus: Dla ciekawości powtórzyłem test dla jądra 3.13 z wyłączonym timestamp (net.ipv4.tcp_timestamps=0), aby przekonać się, jaki jest nakład na obliczenia znaczników czasu:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.1.1.1 port 5001 connected with 10.1.1.2 port 53722
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  11.1 GBytes  9.49 Gbits/sec
[  5] local 10.1.1.1 port 5001 connected with 10.1.1.2 port 53723
[  5]  0.0-10.0 sec  11.1 GBytes  9.49 Gbits/sec

Jak widać testy powtórzone dwa razy wskazują różnicę 92.16 Mb/s dla przepustowości oraz 102.4 MB dla ilości przetransferowanych danych. Testowaną kartą sieciową była: Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection dostarczonej w platformie: Dell PowerEdge R730xd.

Więcej informacji: Linux ixgbe* Base Driver Overview and Installation

Kategorie K a t e g o r i e : Administracja, Debug

Tagi T a g i : , , , , , , , , , , ,

Komentowanie tego wpisu jest zablokowane.