Hardware: ZyXEL PLA-4201 Twin Pack - throughput test

From Luky-Wiki
Revision as of 00:15, 20 March 2013 by Lukas Dzunko (talk | contribs) (1000baseTx-FD)

Jump to: navigation, search

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:

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.

ZyXEL PLA-4201 - direct connection.jpg

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