Difference between revisions of "Hardware: ZyXEL PLA-4201 Twin Pack - throughput test"

From Luky-Wiki
Jump to: navigation, search
(Wifi)
(Power line tests)
Line 142: Line 142:
 
== Power line setup ==
 
== Power line setup ==
 
== Power line tests ==
 
== Power line tests ==
=== Side by Side ===
+
=== "Side by Side" ===
=== Without noise ===
+
=== "Alone on line" ===
=== With noise on line ===
+
=== "Noise on line" ===
 +
== Summary ==

Revision as of 00:24, 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:

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

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        

Wifi

Power line setup

Power line tests

"Side by Side"

"Alone on line"

"Noise on line"

Summary