Gluon: Schlechte VXLAN-Leistung

Erstellt am 21. Jan. 2018  ·  5Kommentare  ·  Quelle: freifunk-gluon/gluon

Beim Testen des aktuellen Masters stellte ich einen signifikanten Leistungsabfall fest, wenn VXLAN für Wiremesh anstelle der altmodischen Methode verwendet wurde, mit der das Wiremesh-Interface direkt an bat0 gebunden wird:

Testeinstellung: TP-Link TL-WDR4300 v1 gegen Siemens Futro S550, beide an denselben GBE-fähigen Switch angeschlossen, VPN am WDR4300 ausgeschaltet:

  1. Test mit Legacy Wiremesh:

Initiiert von WDR4300:

root<strong i="10">@ffnoc12</strong>:~# batctl tp -t 10000 a6:07:f9:5a:71:db
Test duration 10010ms.
Sent 382825692 Bytes.
Throughput: 36.47 MB/s (305.95 Mbps)

Vom Offloader initiiert

root<strong i="14">@ffnocoffloader</strong>:~# batctl tp -t 10000 46:3d:e1:c3:7f:63
Test duration 10020ms.
Sent 457679556 Bytes.
Throughput: 43.56 MB/s (365.41 Mbps)
  1. Gleicher Test mit VXLAN:

Initiiert am WDR:

root<strong i="20">@ffnoc12</strong>:~# uci set network.mesh_wan.legacy='0'
root<strong i="21">@ffnoc12</strong>:~# uci commit network
root<strong i="22">@ffnoc12</strong>:~# /etc/init.d/network restart
root<strong i="23">@ffnoc12</strong>:~# batctl tp -t 10000 a6:07:f9:5a:71:db
Test duration 10020ms.
Sent 30967956 Bytes.
Throughput: 2.95 MB/s (24.72 Mbps)

Auf Offloader initiiert:

root<strong i="27">@ffnocoffloader</strong>:~# batctl tp -t 10000 46:3d:e1:c3:7f:63
Test duration 10110ms.
Sent 47189196 Bytes.
Throughput: 4.45 MB/s (37.34 Mbps)

Zur Verhinderung von Domain-Shortcut ist VXLAN (oder eine beliebige Option zur Authentifizierung des Wiremesh) eine gute Idee, für RF-Backbone-Zwecke jedoch zu langsam.

bug regression

Hilfreichster Kommentar

Diese Prüfung wurde mit iperf auf dem WDR3600 durchgeführt. Dies beeinträchtigte offensichtlich die Testleistung, aber ich wollte nur die relative Leistung mit und ohne VXLAN testen und nicht den maximal erreichbaren Durchsatz.

Alle 5 Kommentare

Ich habe dies sowohl mit iperf als auch mit batctl tp getestet. Ich konnte den extremen Leistungsabfall mit batctl reproduzieren, aber nicht mit iperf (oder besser gesagt, mit iperf war die Leistung selbst im Legacy-Modus ziemlich schlecht). Der Grund ist die Fragmentierung: Die vom Durchsatzmesser von batctl verwendete Paketgröße wird so gewählt, dass sie eine 1500-Byte-Verbindung ohne Fragmentierung durchläuft, jedoch über eine 1430-Byte-Verbindung fragmentiert werden muss.

Daher sind die von iperf angegebenen Zahlen für reale Szenarien genauer, da eine Fragmentierung normalerweise sowohl im VXLAN- als auch im Legacy-Modus erforderlich ist (oder in keinem von beiden mit ordnungsgemäßer MSS-Klemmung). Ich habe einige Optimierungen für die drahtgebundene Vernetzung vorgenommen (2950cc3f596d5565390aaa1188cdb67d2401840b wirkt sich sowohl auf den Legacy- als auch auf den VXLAN-Modus aus. In einigen Tagen wird es auch ein Follow-up zu 7ae8a511267e7f280862fcd57f8ae394b947b799 geben.

Mit all diesen Patches (einschließlich der Nachverfolgung) habe ich die folgenden Zahlen mit iperf auf einem WDR3600 (mit meinem Notebook auf der anderen Seite) ohne MSS-Klemmung gemessen:

  • Legacy-RX: 96,9 Mbit / s
  • Legacy-TX: 107 Mbit / s
  • VXLAN RX: 56,5 Mbit / s
  • VXLAN TX: 46,2 Mbit / s

Wenn ich das MSS reduziere, um eine Fragmentierung zu vermeiden, erhalte ich die folgenden Zahlen:

  • Legacy-RX: 164 Mbit / s
  • Legacy-TX: 149 Mbit / s
  • VXLAN RX: 88,5 Mbit / s
  • VXLAN TX: 74,3 Mbit / s

VXLAN kostet also zweifellos Leistung, ist aber keineswegs so schlecht, wie es batctl tp vermuten lässt. Ich werde weitere Optimierungsoptionen untersuchen (z. B. ip6tables, die für einen erheblichen Teil des Leistungsabfalls verantwortlich sind).

hast du iperf auf dem wdr3600 ausgeführt? Wenn ja, war dieser Test nicht durch die von iperf selbst verwendete CPU-Leistung eingeschränkt?
Wir haben iperf immer nur mit echten x86-Maschinen an beiden Enden gemacht.
Wenn ich auf dem falschen Weg bin, ignoriere bitte :-D

Diese Prüfung wurde mit iperf auf dem WDR3600 durchgeführt. Dies beeinträchtigte offensichtlich die Testleistung, aber ich wollte nur die relative Leistung mit und ohne VXLAN testen und nicht den maximal erreichbaren Durchsatz.

Mit d87a798ac3d1e8cef3d83c22c4482afd21886c34 wurden alle leicht möglichen Durchsatzoptimierungen vorgenommen. Die Firewall-Leistung wird nach der nächsten Version erneut überprüft.

Vielleicht könnten wir dokumentieren, um wie viel die Leistung im Vergleich zu den Messungen von @lephisto und @NeoRaider im Januar verbessert wurde?
oder umgekehrt, wie stark die Leistung im Vergleich zu Legacy-Meshing noch leidet.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen