Difference between revisions of "Hardware: ZyXEL PLA-4201 Twin Pack - throughput test"
Lukas Dzunko (talk | contribs) (→1000baseTx-FD) |
Lukas Dzunko (talk | contribs) (→100baseTx-FD) |
||
Line 90: | Line 90: | ||
=== 100baseTx-FD === | === 100baseTx-FD === | ||
+ | Test 1: | ||
+ | <pre> | ||
+ | 10 packets transmitted, 10 received, 0% packet loss, time 8998ms | ||
+ | rtt min/avg/max/mdev = 0.304/0.365/0.442/0.038 ms | ||
+ | </pre> | ||
+ | |||
+ | Test 2: | ||
+ | <pre> | ||
+ | 10000 packets transmitted, 10000 received, 0% packet loss, time 4248ms | ||
+ | rtt min/avg/max/mdev = 0.206/0.300/0.555/0.032 ms, ipg/ewma 0.424/0.303 ms | ||
+ | </pre> | ||
+ | |||
+ | Test 3: | ||
+ | <pre> | ||
+ | 10000 packets transmitted, 10000 received, 0% packet loss, time 7185ms | ||
+ | rtt min/avg/max/mdev = 0.480/0.579/0.849/0.042 ms, ipg/ewma 0.718/0.562 ms | ||
+ | </pre> | ||
+ | |||
+ | Test 4: | ||
+ | <pre> | ||
+ | MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET | ||
+ | Recv Send Send | ||
+ | Socket Socket Message Elapsed | ||
+ | Size Size Size Time Throughput | ||
+ | bytes bytes bytes secs. 10^6bits/sec | ||
+ | |||
+ | 87380 16384 16384 60.27 94.15 | ||
+ | </pre> | ||
+ | |||
+ | Test 5: | ||
+ | <pre> | ||
+ | OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET | ||
+ | Local Local Remote Remote Request Response Elapsed Throughput Throughput | ||
+ | Send Socket Recv Socket Recv Socket Send Socket Size Size Time Units | ||
+ | Size Size Size Size Bytes Bytes (sec) | ||
+ | Final Final Final Final | ||
+ | 23400 87380 87380 22600 1 1 60.00 2445.96 Trans/s | ||
+ | </pre> | ||
+ | |||
+ | Test 6: | ||
+ | <pre> | ||
+ | OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET | ||
+ | Minimum Maximum 50th 90th 99th Mean Stddev | ||
+ | Latency Latency Percentile Percentile Percentile Latency Latency | ||
+ | Microseconds Microseconds Latency Latency Latency Microseconds Microseconds | ||
+ | Microseconds Microseconds Microseconds | ||
+ | 209 3627 410 429 486 405.87 41.78 | ||
+ | </pre> |
Revision as of 00:17, 20 March 2013
It is not so easy to add wires/connection once flat or house is build. Even when people think about devices placement they can end up with missing Ethernet connection for some device. WiFi connection is not usable for all kind of network communication due to nature of it. WiFi have limited throughput, jitter and other kind of problems caused by "wireless" connection. So is powerline connection solution to this problem ? At beginning of this document i can say: "I don't know", but i try to find answer.
I bought ZyXEL PLA-4201 recently and I use this device during tests to find answers. I know how this device work by theory but I don't know what is in real word. In theory it should modulate all data to mains with hope that second device "catch" those data without too much distortion but there are several problems:
- switching power supplies and power regulators (light dimmer, vacuum cleaner "speed" settings) are creating serious noise covering wide range of frequencies
- power cables are not optimized to transfer "data". Most of the filters kill anything else that 50/60 Hz.
- if sockets are not on same power line then communication (as expected) is not possible
- communication can't pass transformers, surge protectors and other similar devices
Power cables are definitely not "polite" place for Ethernet data, but why don't test it ? Right ? In office I heard opinions like: "it will work only on 10 meter cable or shorter", "noise kill all transferred data", etc. Will it be true ?
I prepared several tests. Here is description of tests:
Contents
Methodology of synthetic tests
First of all i waited for everything to settle down and then at each test point I executed following tests. I run first test once mode if it result in high response rate. It looks like that ZyXEL powerline adapters needs some traffic to "sync" and configure connection.
Test #1
ping -c 10 server
Simple ping test to see reaction of connection on as little traffic as possible (no other communication was flowing thought extenders during this and also other tests)
Test #2
ping -c 100000 -f server
Ping food test with default ping size. This test is generating relatively small packets at speed of source network card. Purpose of this test is to see packet lost and response time if queuing occur.
Test #3
ping -c 100000 -f -s 1400 server
Same as Test #3 but with size close to MTU. I selected smaller size as devices from some vendors have great throughput at size of MTU but can't maintain it when packed size is smaller.
Test #4
netperf -l 60 -H host
"One minute" classic netperf test to see maximu throughput.
Test #5
netperf -t omni -j -l 60 -H host -- -d rr
Omni netperf test mainly to see number of transactions but other results of this tests are also interesting.
Test #6
netperf -t omni -j -l 60 -H host -- -d rr -O \ "MIN_LATENCY,MAX_LATENCY,P50_LATENCY,P90_LATENCY,P99_LATENCY,MEAN_LATENCY,STDDEV_LATENCY"
Same omni test as in #5 but configured to show latency. I expect that test #2 and #3 show min/avg/max but it is also interesting to see this via percentile calculation. (e.g. several delayed packets can affect average calculation but they will be omitted in percentile output)
Direct connection test
First of all I need reference data. I connected two included 1 meter long Ethernet cables together and connected them directly to server's wire. Other end i connected to my laptop.
Computers negotiated 1000baseTx-FD with flow-control but later i discovered that ZyXEL PLA-4201 have only 100baseTx-FD (flow-control) connection. Package of this product is little bit misleading. It claims "500Mbps" throughput and support for 10/100/1000baseTx but Ethernet port on device is 10/100baseTx only. 500Mbps technology mean that you have more "power" to survive interference and one "powerline" segment can handle higher throughput resulting in seamless communication between several devices at same time. Tested powerline device provide hardware flow control at Ethernet ports. This is very good benefit as computer know possible transmission speed depending of powerline status
Here are both reference tests:
1000baseTx-FD
Test 1:
10 packets transmitted, 10 received, 0% packet loss, time 8998ms rtt min/avg/max/mdev = 0.303/0.396/0.830/0.150 ms
Test 2:
100000 packets transmitted, 100000 received, 0% packet loss, time 40339ms rtt min/avg/max/mdev = 0.158/0.279/1.716/0.030 ms, ipg/ewma 0.403/0.286 ms
Test 3:
100000 packets transmitted, 100000 received, 0% packet loss, time 47555ms rtt min/avg/max/mdev = 0.150/0.347/3.282/0.030 ms, ipg/ewma 0.475/0.347 ms
Test 4:
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.03 842.27
Test 5:
OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET Local Local Remote Remote Request Response Elapsed Throughput Throughput Send Socket Recv Socket Recv Socket Send Socket Size Size Time Units Size Size Size Size Bytes Bytes (sec) Final Final Final Final 23400 87380 87380 22600 1 1 60.00 2538.77 Trans/s
Test 6: (it looks like i don't saved data from this test, but it is not so important)
100baseTx-FD
Test 1:
10 packets transmitted, 10 received, 0% packet loss, time 8998ms rtt min/avg/max/mdev = 0.304/0.365/0.442/0.038 ms
Test 2:
10000 packets transmitted, 10000 received, 0% packet loss, time 4248ms rtt min/avg/max/mdev = 0.206/0.300/0.555/0.032 ms, ipg/ewma 0.424/0.303 ms
Test 3:
10000 packets transmitted, 10000 received, 0% packet loss, time 7185ms rtt min/avg/max/mdev = 0.480/0.579/0.849/0.042 ms, ipg/ewma 0.718/0.562 ms
Test 4:
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 60.27 94.15
Test 5:
OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET Local Local Remote Remote Request Response Elapsed Throughput Throughput Send Socket Recv Socket Recv Socket Send Socket Size Size Time Units Size Size Size Size Bytes Bytes (sec) Final Final Final Final 23400 87380 87380 22600 1 1 60.00 2445.96 Trans/s
Test 6:
OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to host () port 0 AF_INET Minimum Maximum 50th 90th 99th Mean Stddev Latency Latency Percentile Percentile Percentile Latency Latency Microseconds Microseconds Latency Latency Latency Microseconds Microseconds Microseconds Microseconds Microseconds 209 3627 410 429 486 405.87 41.78