現在のマスターをテストしているときに、ワイヤーメッシュインターフェイスを直接bat0にバインドする昔ながらの方法の代わりにワイヤーメッシュにVXLANを使用すると、パフォーマンスが大幅に低下することに気付きました。
テスト設定:TP-Link TL-WDR4300v1とSiemensFutro S550、どちらも同じGBE対応スイッチに接続され、WDR4300でVPNがオフになっています。
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)
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バックボーンの目的ではこれは遅すぎます。
私はこれをiperfとbatctltpの両方でテストしました。 batctlを使用すると、パフォーマンスの極端な低下を再現できましたが、iperfを使用することはできませんでした(つまり、iperfを使用すると、レガシーモードでもパフォーマンスがかなり悪くなりました)。 理由は断片化です。batctlのスループットメーターで使用されるパケットサイズは、断片化せずに1500バイトのリンクを通過するように選択されていますが、1430バイトのリンクで断片化する必要があります。
したがって、通常、VXLANモードとレガシーモードの両方で(または適切なMSSクランプではどちらも)断片化が必要になるため、iperfによって与えられる数値は実際のシナリオではより正確です。 有線メッシュのいくつかの最適化をプッシュしました(2950cc3f596d5565390aaa1188cdb67d2401840bはレガシーモードとVXLANモードの両方に影響し、a9edd43693a02e0829d04a83a13ebbf0f7eef3eeとe54b37d835624059d005bdb771442bb3f1dd4605はVXをわずかに改善します)。 数日中に7ae8a511267e7f280862fcd57f8ae394b947b799へのフォローアップもあります。
これらすべてのパッチを適用して(フォローアップを含む)、MSSクランプなしでWDR3600(反対側のノートブックを使用)でiperfを使用して次の数値を測定しました。
断片化を回避するためにMSSを減らすと、次の数値が得られます。
したがって、VXLANは間違いなくコストパフォーマンスを発揮しますが、 batctl tp
が示唆するほど悪く
wdr3600でiperfを実行しましたか? もしそうなら、このテストはiperf自体が使用するCPUパフォーマンスによって制限されていませんでしたか?
私たちは常に両端でのみ実際のx86マシンでiperfを実行しました。
私が間違った方向に進んでいる場合は、無視してください:-D
このチェックは、WDR3600のiperfで行われました。 これは明らかにテストパフォーマンスに悪影響を及ぼしましたが、VXLANを使用した場合と使用しない場合の相対的なパフォーマンスのみをテストしたかったので、達成可能な最大スループットはテストしませんでした。
d87a798ac3d1e8cef3d83c22c4482afd21886c34を使用すると、簡単に実行できるすべてのスループットの最適化が行われました。 ファイアウォールのパフォーマンスは、次のリリース後に再検討されます。
@lephistoと@NeoRaiderが1
またはその逆に、レガシーメッシュと比較してパフォーマンスが依然としてどれだけ低下するか。
最も参考になるコメント
このチェックは、WDR3600のiperfで行われました。 これは明らかにテストパフォーマンスに悪影響を及ぼしましたが、VXLANを使用した場合と使用しない場合の相対的なパフォーマンスのみをテストしたかったので、達成可能な最大スループットはテストしませんでした。