^ Die Störempfindlichkeit von Power-LAN fällt für mich wirklich unter "Ironie des Schicksals", wurde doch die Technik anfangs gerade wegen des Risikos erheblicher Störaussendungen gefürchtet (nämlich von denen, die auch die Kurzwelle nutzen wollen). So kommen dann u.U. glatt Befürworter und Gegner zusammen, wenn man mit dem portablen Weltempfänger nach Störquellen am Stromnetz Ausschau hält, um den Durchsatz zu optimieren und die benötigte HF-Leistung und damit auch eventuelle Störausstrahlung zu reduzieren...
Die marginale Steigerung ist eher gering, da die Datenströme die selben Kanäle verwenden und das wie ein "Nachbar-Wlan" wirkt, das zeigen nahezu alle Charts.
Das mußte ich doch jetzt glatt mal näher untersuchen. Also iperf 3.0.11 geschnappt, dazu als Hardware mein großer Kasten über Gigabit am TL-WR1043ND (V1.8 mit OpenWRT BB 14.07 - 3x3:2) und als Gegenstelle das Latitude E6520 mit 6205er Intel (2x2), knapp 1m Luftlinie. Also 2x2 auf 2,4 GHz 11n, 40 MHz, nominell 300 MBit/s.
Ergebnis: Kommt stark auf die "window size / socket buffer size" (-w) an (das ist wohl das "TCP receive window"?). Bei 1-2M ist der Effekt marginal und die Verbindung bereits am Ende (~160 MBit/s), bei 64K sieht man es aber schon recht deutlich. (Laut
hier wurden über SMB zumindest Stand Anfang 2009 maximal 60K am Stück übertragen, tlw. auch nur 16664 Bytes.) Ab 11n werden ja gern mehrere Frames für die Übertragung zusammengefaßt (
Frame Aggregation, siehe auch
Abschnitt 2.1 hier).
1 Stream:
Code:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 124 MBytes 104 Mbits/sec sender
[ 4] 0.00-10.00 sec 124 MBytes 104 Mbits/sec receiver
2 Streams:
Code:
[ ID] Interval Transfer Bandwidth
[SUM] 0.00-10.00 sec 151 MBytes 126 Mbits/sec sender
[SUM] 0.00-10.00 sec 150 MBytes 126 Mbits/sec receiver
3 Streams:
Code:
[ ID] Interval Transfer Bandwidth
[SUM] 0.00-10.00 sec 182 MBytes 153 Mbits/sec sender
[SUM] 0.00-10.00 sec 182 MBytes 153 Mbits/sec receiver
Darüber dann wieder etwas weniger.
Noch deutlich krasser wird es bei weiterer Verringerung, etwa 16K:
1 Stream:
Code:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 64.6 MBytes 54.2 Mbits/sec sender
[ 4] 0.00-10.00 sec 64.6 MBytes 54.2 Mbits/sec receiver
2 Streams:
Code:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 47.3 MBytes 39.7 Mbits/sec sender
[ 4] 0.00-10.00 sec 47.3 MBytes 39.7 Mbits/sec receiver
[ 6] 0.00-10.00 sec 47.2 MBytes 39.6 Mbits/sec sender
[ 6] 0.00-10.00 sec 47.1 MBytes 39.5 Mbits/sec receiver
[SUM] 0.00-10.00 sec 94.4 MBytes 79.2 Mbits/sec sender
[SUM] 0.00-10.00 sec 94.4 MBytes 79.2 Mbits/sec receiver
3 Streams:
Code:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 38.7 MBytes 32.5 Mbits/sec sender
[ 4] 0.00-10.00 sec 38.7 MBytes 32.5 Mbits/sec receiver
[ 6] 0.00-10.00 sec 38.4 MBytes 32.2 Mbits/sec sender
[ 6] 0.00-10.00 sec 38.3 MBytes 32.2 Mbits/sec receiver
[ 8] 0.00-10.00 sec 38.0 MBytes 31.9 Mbits/sec sender
[ 8] 0.00-10.00 sec 38.0 MBytes 31.9 Mbits/sec receiver
[SUM] 0.00-10.00 sec 115 MBytes 96.5 Mbits/sec sender
[SUM] 0.00-10.00 sec 115 MBytes 96.5 Mbits/sec receiver
4 Streams:
Code:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 30.5 MBytes 25.6 Mbits/sec sender
[ 4] 0.00-10.00 sec 30.5 MBytes 25.6 Mbits/sec receiver
[ 6] 0.00-10.00 sec 30.3 MBytes 25.5 Mbits/sec sender
[ 6] 0.00-10.00 sec 30.3 MBytes 25.5 Mbits/sec receiver
[ 8] 0.00-10.00 sec 30.2 MBytes 25.3 Mbits/sec sender
[ 8] 0.00-10.00 sec 30.2 MBytes 25.3 Mbits/sec receiver
[ 10] 0.00-10.00 sec 30.0 MBytes 25.2 Mbits/sec sender
[ 10] 0.00-10.00 sec 30.0 MBytes 25.2 Mbits/sec receiver
[SUM] 0.00-10.00 sec 121 MBytes 102 Mbits/sec sender
[SUM] 0.00-10.00 sec 121 MBytes 102 Mbits/sec receiver
6 Streams:
Code:
Interval Transfer Bandwidth
0.00-10.00 sec 24.7 MBytes 20.7 Mbits/sec sender
0.00-10.00 sec 24.7 MBytes 20.7 Mbits/sec receiver
0.00-10.00 sec 24.5 MBytes 20.6 Mbits/sec sender
0.00-10.00 sec 24.5 MBytes 20.6 Mbits/sec receiver
0.00-10.00 sec 24.3 MBytes 20.4 Mbits/sec sender
0.00-10.00 sec 24.2 MBytes 20.3 Mbits/sec receiver
0.00-10.00 sec 24.1 MBytes 20.2 Mbits/sec sender
0.00-10.00 sec 24.0 MBytes 20.2 Mbits/sec receiver
0.00-10.00 sec 23.8 MBytes 20.0 Mbits/sec sender
0.00-10.00 sec 23.8 MBytes 20.0 Mbits/sec receiver
0.00-10.00 sec 23.5 MBytes 19.8 Mbits/sec sender
0.00-10.00 sec 23.5 MBytes 19.8 Mbits/sec receiver
0.00-10.00 sec 145 MBytes 122 Mbits/sec sender
0.00-10.00 sec 145 MBytes 122 Mbits/sec receiver
8 Streams:
Code:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 23.3 MBytes 19.6 Mbits/sec sender
[ 4] 0.00-10.00 sec 23.3 MBytes 19.6 Mbits/sec receiver
[ 6] 0.00-10.00 sec 26.0 MBytes 21.8 Mbits/sec sender
[ 6] 0.00-10.00 sec 26.0 MBytes 21.8 Mbits/sec receiver
[ 8] 0.00-10.00 sec 23.6 MBytes 19.8 Mbits/sec sender
[ 8] 0.00-10.00 sec 23.6 MBytes 19.8 Mbits/sec receiver
[ 10] 0.00-10.00 sec 28.0 MBytes 23.5 Mbits/sec sender
[ 10] 0.00-10.00 sec 28.0 MBytes 23.5 Mbits/sec receiver
[ 12] 0.00-10.00 sec 23.1 MBytes 19.3 Mbits/sec sender
[ 12] 0.00-10.00 sec 23.1 MBytes 19.3 Mbits/sec receiver
[ 14] 0.00-10.00 sec 16.1 MBytes 13.5 Mbits/sec sender
[ 14] 0.00-10.00 sec 16.1 MBytes 13.5 Mbits/sec receiver
[ 16] 0.00-10.00 sec 26.9 MBytes 22.6 Mbits/sec sender
[ 16] 0.00-10.00 sec 26.9 MBytes 22.5 Mbits/sec receiver
[ 18] 0.00-10.00 sec 14.4 MBytes 12.1 Mbits/sec sender
[ 18] 0.00-10.00 sec 14.4 MBytes 12.1 Mbits/sec receiver
[SUM] 0.00-10.00 sec 181 MBytes 152 Mbits/sec sender
[SUM] 0.00-10.00 sec 181 MBytes 152 Mbits/sec receiver
Das Optimum für kleine Pakete wird hier anscheinend erreicht, wenn windowsize * connections ~= 1-2M.
NetIO meint zu der Verbindung übrigens
Code:
NETIO - Network Throughput Benchmark, Version 1.31
(C) 1997-2010 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 15.00 MByte/s Tx, 16.01 MByte/s Rx.
Packet size 2k bytes: 15.02 MByte/s Tx, 15.76 MByte/s Rx.
Packet size 4k bytes: 16.33 MByte/s Tx, 16.94 MByte/s Rx.
Packet size 8k bytes: 16.45 MByte/s Tx, 18.65 MByte/s Rx.
Packet size 16k bytes: 17.38 MByte/s Tx, 17.98 MByte/s Rx.
Packet size 32k bytes: 17.78 MByte/s Tx, 18.71 MByte/s Rx.
Done.
Gute Chips mit einem Datenstrom schaffen überproportional gute Werte, hier ein Beispiel 1T/1R mit 40MHz Kanalbündelung bei ~135mbit brutto 1. Stockwerk unterhalb eines APs.
Zeige mir eine 450mbit Karte 3T/3R die 36MB/s Datentransfer schafft, das wären ~290 mbit netto.
12 MB/s (also 100 MBit/s) für 1x1 bei 135 MBit/s brutto ist auch ein Topwert. (Ich vermute, der AP macht mindestens 2x2? Das erhöht den Durchsatz etwas gegenüber einer reinen SISO-Verbindung.) Wobei es aber generell recht normal ist, daß bei langsamerer Verbindung die Performance mit einem Stream erst nur relativ wenig leidet, weil 11n dann erst einmal stärker zusammenfaßt, also den Durchsatz auf Kosten einer höheren Latenz erhält. Deine 1x1-Verbindung hat wahrscheinlich keinen so tollen Ping, vielleicht 2 ms. Whatever. Bei 3x3 auf 40 MHz kann man mit vielleicht 200-230 MBit/s rechnen (also nicht ganz 50% mehr als bei mir, wo wahrscheinlich die 3. Empfangsantenne am AP gegenüber rein 2x2 noch ein bißchen was rausholt). Erst Hardware mit von 11ac "rückportierten" Modulationseinstellungen (Broadcom zu Broadcom o.ä., z.B. 2011 Macbook Pro zum seinerzeitigen Airport Extreme), also "3x3 mit 600 MBit/s", gibt auch mal 300 MBit/s her.