Gluon: VXLANのパフォーマンスが悪い

作成日 2018年01月21日  ·  5コメント  ·  ソース: freifunk-gluon/gluon

現在のマスターをテストしているときに、ワイヤーメッシュインターフェイスを直接bat0にバインドする昔ながらの方法の代わりにワイヤーメッシュにVXLANを使用すると、パフォーマンスが大幅に低下することに気付きました。

テスト設定:TP-Link TL-WDR4300v1とSiemensFutro S550、どちらも同じGBE対応スイッチに接続され、WDR4300でVPNがオフになっています。

  1. 従来のWiremeshでテスト:

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)

オフローダーから開始

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. VXLANと同じテスト:

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)

オフローダーで開始:

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)

ドメインショートカット防止の場合、VXLAN(またはWiremeshを認証するための任意のオプション)は良い考えですが、RFバックボーンの目的ではこれは遅すぎます。

bug regression

最も参考になるコメント

このチェックは、WDR3600のiperfで行われました。 これは明らかにテストパフォーマンスに悪影響を及ぼしましたが、VXLANを使用した場合と使用しない場合の相対的なパフォーマンスのみをテストしたかったので、達成可能な最大スループットはテストしませんでした。

全てのコメント5件

私はこれをiperfbatctltpの両方でテストしました。 batctlを使用すると、パフォーマンスの極端な低下を再現できましたが、iperfを使用することはできませんでした(つまり、iperfを使用すると、レガシーモードでもパフォーマンスがかなり悪くなりました)。 理由は断片化です。batctlのスループットメーターで使用されるパケットサイズは、断片化せずに1500バイトのリンクを通過するように選択されていますが、1430バイトのリンクで断片化する必要があります。

したがって、通常、VXLANモードとレガシーモードの両方で(または適切なMSSクランプではどちらも)断片化が必要になるため、iperfによって与えられる数値は実際のシナリオではより正確です。 有線メッシュのいくつかの最適化をプッシュしました(2950cc3f596d5565390aaa1188cdb67d2401840bはレガシーモードとVXLANモードの両方に影響し、a9edd43693a02e0829d04a83a13ebbf0f7eef3eeとe54b37d835624059d005bdb771442bb3f1dd4605はVXをわずかに改善します)。 数日中に7ae8a511267e7f280862fcd57f8ae394b947b799へのフォローアップもあります。

これらすべてのパッチを適用して(フォローアップを含む)、MSSクランプなしでWDR3600(反対側のノートブックを使用)でiperfを使用して次の数値を測定しました。

  • レガシーRX:96.9メガビット/秒
  • レガシーTX:107メガビット/秒
  • VXLAN RX:56.5メガビット/秒
  • VXLAN TX:46.2メガビット/秒

断片化を回避するためにMSSを減らすと、次の数値が得られます。

  • レガシーRX:164メガビット/秒
  • レガシーTX:149メガビット/秒
  • VXLAN RX:88.5メガビット/秒
  • VXLAN TX:74.3メガビット/秒

したがって、VXLANは間違いなくコストパフォーマンスを発揮しますが、 batctl tpが示唆するほど悪く

wdr3600でiperfを実行しましたか? もしそうなら、このテストはiperf自体が使用するCPUパフォーマンスによって制限されていませんでしたか?
私たちは常に両端でのみ実際のx86マシンでiperfを実行しました。
私が間違った方向に進んでいる場合は、無視してください:-D

このチェックは、WDR3600のiperfで行われました。 これは明らかにテストパフォーマンスに悪影響を及ぼしましたが、VXLANを使用した場合と使用しない場合の相対的なパフォーマンスのみをテストしたかったので、達成可能な最大スループットはテストしませんでした。

d87a798ac3d1e8cef3d83c22c4482afd21886c34を使用すると、簡単に実行できるすべてのスループットの最適化が行われました。 ファイアウォールのパフォーマンスは、次のリリース後に再検討されます。

@lephisto@NeoRaiderが1
またはその逆に、レガシーメッシュと比較してパフォーマンスが依然としてどれだけ低下するか。

このページは役に立ちましたか?
0 / 5 - 0 評価