Tailscaleの速度が思うように出ないというメモ。
前提
全PC、同一ノードに参加。
A拠点PC1
- Plala IPoE(DS Lite)接続(確認くんだとASAHINETと表示される古の回線)
- インターネットルーターはEdgeRouter X SPFまたはRTX830
- 性能は最新、通信の足を引っ張る要素なし
A拠点PC2
- 回線はPC1と同じ
- PCはマウスの激安子供向けノート+USB3.0接続の有線LANなのでちょっとは足引っ張るかもね
B拠点PC3
拠点内LAN接続
まずはA拠点PC同士でiperf3。サーバーは性能が低い方で。なんとなく。
>iperf3.exe -c A拠点PC2(拠点内LAN) Connecting to host A拠点PC2(拠点内LAN), port 5201 [ 4] local A拠点PC1(拠点内LAN) port 60277 connected to A拠点PC2(拠点内LAN) port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 113 MBytes 949 Mbits/sec [ 4] 1.00-2.00 sec 113 MBytes 949 Mbits/sec [ 4] 2.00-3.00 sec 113 MBytes 946 Mbits/sec [ 4] 3.00-4.00 sec 113 MBytes 948 Mbits/sec [ 4] 4.00-5.00 sec 112 MBytes 944 Mbits/sec [ 4] 5.00-6.00 sec 109 MBytes 916 Mbits/sec [ 4] 6.00-7.00 sec 108 MBytes 908 Mbits/sec [ 4] 7.00-8.00 sec 113 MBytes 946 Mbits/sec [ 4] 8.00-9.00 sec 113 MBytes 948 Mbits/sec [ 4] 9.00-10.00 sec 113 MBytes 949 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec sender [ 4] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec receiver iperf Done.
ええやん。まー暗号化されてないから。
拠点内Tailscale接続
次、同じ組み合わせでTailscale接続経由。
>iperf3.exe -c A拠点PC2(Tailscale) Connecting to host A拠点PC2(Tailscale), port 5201 [ 4] local A拠点PC1(Tailscale) port 60220 connected to A拠点PC2(Tailscale) port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.01 sec 17.5 MBytes 146 Mbits/sec [ 4] 1.01-2.00 sec 17.0 MBytes 143 Mbits/sec [ 4] 2.00-3.00 sec 17.5 MBytes 147 Mbits/sec [ 4] 3.00-4.00 sec 17.8 MBytes 149 Mbits/sec [ 4] 4.00-5.00 sec 17.8 MBytes 149 Mbits/sec [ 4] 5.00-6.00 sec 17.9 MBytes 150 Mbits/sec [ 4] 6.00-7.00 sec 17.6 MBytes 148 Mbits/sec [ 4] 7.00-8.00 sec 18.1 MBytes 152 Mbits/sec [ 4] 8.00-9.00 sec 14.6 MBytes 123 Mbits/sec [ 4] 9.00-10.00 sec 11.6 MBytes 97.8 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 167 MBytes 140 Mbits/sec sender [ 4] 0.00-10.00 sec 167 MBytes 140 Mbits/sec receiver iperf Done.
この数字をどう見るか。 個人的には運用上問題ないけど思ったより遅い。
この測定結果は同じルーターから出入りしてるけど、ルーター2台使って違うルーターを経由して同じHGWから出る構成でも結果は同じだった。どこでどう折り返しているのだろうか。
拠点間Tailscale接続
次、拠点間。B拠点PC3からA拠点PC2へ。
>iperf3.exe -c A拠点PC2(Tailscale) Connecting to host A拠点PC2(Tailscale), port 5201 [ 4] local B拠点PC3(Tailscale) port 55513 connected to A拠点PC2(Tailscale) port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 2.75 MBytes 23.0 Mbits/sec [ 4] 1.00-2.00 sec 3.88 MBytes 32.6 Mbits/sec [ 4] 2.00-3.01 sec 4.12 MBytes 34.1 Mbits/sec [ 4] 3.01-4.01 sec 4.25 MBytes 35.9 Mbits/sec [ 4] 4.01-5.01 sec 4.88 MBytes 40.8 Mbits/sec [ 4] 5.01-6.01 sec 5.38 MBytes 45.0 Mbits/sec [ 4] 6.01-7.01 sec 5.25 MBytes 44.4 Mbits/sec [ 4] 7.01-8.01 sec 3.50 MBytes 29.4 Mbits/sec [ 4] 8.01-9.00 sec 4.00 MBytes 33.7 Mbits/sec [ 4] 9.00-10.00 sec 4.00 MBytes 33.5 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 42.0 MBytes 35.2 Mbits/sec sender [ 4] 0.00-10.00 sec 42.0 MBytes 35.2 Mbits/sec receiver iperf Done.
えぇ・・・遅い・・・
なぜなのか。
サーバーを高性能なPCに変更
なおA拠点PC1をサーバーにしたら、さらに悪化した。
[ 4] 0.00-10.00 sec 17.9 MBytes 15.0 Mbits/sec sender [ 4] 0.00-10.00 sec 17.8 MBytes 14.9 Mbits/sec receiver [ 4] 0.00-10.00 sec 23.0 MBytes 19.3 Mbits/sec sender [ 4] 0.00-10.00 sec 22.9 MBytes 19.2 Mbits/sec receiver [ 4] 0.00-10.00 sec 22.0 MBytes 18.5 Mbits/sec sender [ 4] 0.00-10.00 sec 21.9 MBytes 18.4 Mbits/sec receiver
なぜなのか。 A拠点PC2にサーバーを戻してみる。
[ 4] 0.00-10.01 sec 54.9 MBytes 46.0 Mbits/sec sender [ 4] 0.00-10.01 sec 54.8 MBytes 46.0 Mbits/sec receiver [ 4] 0.00-10.01 sec 45.2 MBytes 37.9 Mbits/sec sender [ 4] 0.00-10.01 sec 45.2 MBytes 37.9 Mbits/sec receiver [ 4] 0.00-10.00 sec 53.1 MBytes 44.6 Mbits/sec sender [ 4] 0.00-10.00 sec 53.1 MBytes 44.6 Mbits/sec receiver
えぇ・・・再現性あんの・・・どゆこと・・・逆ならまだしも・・・
よくわからない
それぞれの拠点でooklaのスピードテストしても上下数百Mbps出てる。
Tailscaleの端末間通信はChaCha20-Poly1305を使うP2Pと理解している。ので、経路ボトルネック最小となる同一拠点Tailscale端末間通信は、消去法的に暗号化負荷が支配的になると思う。
まー他拠点からでもそんなに速度はへこまんであろう、くらいに思ってたのです。根拠ないけど8割程度は出るだろうと。
でもこの結果を見ると全然そうはなっておらず、見えてはいないがしかし確固たる何かがありそう。へっぽこスペックの端末のが速いってのも、わからない。
さてどこにボトルネックがあるのやら。
ボトルネックの探し方から探す感じかね・・・