[[labs.beatcraft.com]]
[bc10-router]
#contents

* Measuring the Network Performance of bc10-router [#v105cf02]
>
Connecting with a PC, the network performance of bc10-router is measured. The details of how to create bc10-router is described at [[bc10-router/arago-project]]. This article explains the structure of tested network, measuring equipments, measuring tools, and measuring method.~


** Network structure and the connections of equipments [#nd5b805e]
>
The structure of network is shown in the diagram below.~
#ref(network.jpg,,80%);~

** Measuring equipments [#xa5ee6a5]
>
The measurement of throughput is influenced by the capability of machines that the measuring tools run. The machines used here are netbook-type. The specifications and capability of the measuring equipments are shown below.~
~
>
bc10-router~
- CPU: ARMv7 Processor rev3 (v71) (OMAP3530 600NHz)~
-- BogoMIPS: 585.04~
- OS: arago-project based Linux~
-- kernel: 3.3.7~
- USB AC Powered Hub~
- WAN Side Interface: USB-Either Adapter Buffalo LUA3-U2-ATX (ASIX AX88772)~
- LAN Side Interface (Access point): USB Wi-Fi Adapter Buffalo WLI-UG-G301N (Ralink 2870USB)~

>
PC1~
- CPU: Intel(R) Atom(TM) CPU N280 @1.66GHz~
-- CPU MHz: 800.000 x2~
-- BogoMIPS: 3324.89~
- OS: Ubuntu 12.04 (32bit)~
-- kernel: 3.2.0-34-generic-pae~
- Network interface: Atheros Communications Inc. AR8132 Fast Ethernet~

>
PC2~
- CPU: Intel(R) Atom(TM) CPU N270 @1.60GHz~
-- CPU MHz: 800.000 x2~
-- BogoMIPS: 3191.84~
- OS: Ubuntu 12.10 (32bit)~
-- kernel: 3.5.0-19-generic~
- Network interface: USB Wi-Fi Adapter LAN-W150N/U21PH (Ralink 2870USB)~
~
** Measuring tools [#j4153a31]
>
The applications, which used to measuring the performance of the networks, are shown below.~

*** iperf [#b05e1941]
>
[[http://iperf.surceforge.net/]]~
This application measures the throughput of a network. It created at Distributed Application Support Team (DAST) of the National Laboratory for Applied Network Research (NLANR). This organization does not exist anymore, and the application has been maintained by an open source project. This application does have both server side and client side functionalities. To execute the same command, the applications act as the server and client at the ends of the network and measure the throughput between the two points.~
~
>
- Example of Command
-- Server Side
 # iperf -s
 ------------------------------------------------------------
 Server listening on TCP port 5001
 TCP window size: 85.3 KByte (default)
 ------------------------------------------------------------
 [  4] local 192.168.0.121 port 5001 connected with 192.168.0.138 port 57944
 [ ID] Interval       Transfer     Bandwidth
 [  4]  0.0-10.1 sec   113 MBytes  93.9 Mbits/sec
Executing the command, the server side waits the signal from the client side. When it receives the signal from the client side, then it displays the result of measurement.~

>
-- Client Side
 # iperf -c 192.168.0.121
 ------------------------------------------------------------
 Client connecting to 192.168.0.121, TCP port 5001
 TCP window size: 20.7 KByte (default)
 ------------------------------------------------------------
 [  3] local 192.168.0.138 port 57944 connected with 192.168.0.121 port 5001
 [ ID] Interval       Transfer     Bandwidth
 [  3]  0.0-10.0 sec   113 MBytes  94.4 Mbits/sec
To measure throughput, the client side measures how much data it has sent to the server side per 10 seconds.~

*** nuttcp [#s508a225]
>
[[http://www.nuttcp.net/nuttcp/Welcome%20Page.html]]~
This application is a measurement tool, which assesses the network performance. It is crated based upon nttcp, which is an improved version of ttcp. Like iperf, executing the same command on the both two PCs, one PC runs the command as the server, and the other PC acts as the client. Waiting for data from the client side, the server side measures the benchmark of communication between the client and server sides PCs.~

>
- Example of Command
-- Server Side
 # nuttcp -S
-- Client Side~
In the example below, the client side reports the current status at every second (-i).~
 # nuttcp -i1 192.168.30.1
   3.4375 MB /   1.00 sec =   28.8239 Mbps     0 retrans
   4.2500 MB /   1.00 sec =   35.6477 Mbps     0 retrans
   4.4375 MB /   1.00 sec =   37.2260 Mbps     0 retrans
   4.0000 MB /   1.00 sec =   33.5599 Mbps     0 retrans
   4.1875 MB /   1.00 sec =   35.1245 Mbps     0 retrans
   4.6250 MB /   1.00 sec =   38.7930 Mbps     0 retrans
   5.0625 MB /   1.00 sec =   42.4717 Mbps     0 retrans
   4.7500 MB /   1.00 sec =   39.8342 Mbps     0 retrans
   4.8750 MB /   1.00 sec =   40.8950 Mbps     0 retrans
   4.9375 MB /   1.00 sec =   41.4344 Mbps     0 retrans
 
  44.8750 MB /  10.07 sec =   37.3973 Mbps 3 %TX 18 %RX 0 retrans 2.07 msRTT
The results indicate that 44.8750MB data is sent in 10.07 seconds, it means that the speed of transfer is 37.3972Mbps.~
TX means the occupancy rate of CPU at client side,~
RX indicates the occupancy rate of CPU at server side,~
returns mean TCP retransmission packet number, and~
msRTT indicates Round Trip Time in microsecond.~


** Measuring method [#f3b672b8]
>
To measure the performance of bc10-router, the network, which described in the diagram, is established. To measure the performance of WAN and LAN, throughput is measured between PC1 and bc10-router and between bc10-router and PC2, respectively.~
~
To analyze the quality of network, it is critical to find out the bottlenecks in the network. To exam the bottleneck, throughput is measured between the interfaces of PC1 and bc10-router eth0 for WAN side and between the interfaces of bc10-router wlan0 and PC2 for LAN side, respectively.~

** Measurements of network performance [#ce8f899f]
>
The measurements are done at WAN side and LAN side. WAN side reflects the performance of server side, and LAN side roughly indicates the performance of client side. Each test 10 times and takes the average of the outcomes of 10 tests. The measurements of iperf define only the performance of the client side.~

*** Between PC1 and bc10-router eth0 [#wb53d54f]
>
- Measured by iperf~
WAN side: PCI iperf -s~
LAN side: bc10-router iperf -c 192.168.0.121~
|  N|   1|   2|   3|   4|   5|   6|   7|   8|   9|  10|Avg.|h
>
|N  |   1|   2|   3|   4|   5|   6|   7|   8|   9|  10|Avg.|h
|Mbps|94.3|94.4|94.3|94.4|94.5|94.5|94.5|94.4|94.5|94.5|94.4|

>
- Measured by nuttcp~
WAN side: PC1 nuttcp -S~
LAN side: bc10-roter nuttcp 192.168.0.121~
>
|N     |      1|      2|      3|      4|      5|      6|      7|      8|      9|     10|   Avg.|h
|Mbps   |93.8193|93.8823|93.8867|93.8905|93.8875|93.8842|93.8800|93.8964|93.8765|93.8819|93.8785|
|%TX    |51     |50     |50     |50     |50     |50     |49     |50     |50     |49     |49.9   |
|%RX    |23     |23     |23     |23     |23     |23     |23     |23     |23     |23     |23     |
|retrans|0      |0      |0      |0      |0      |0      |0      |0      |0      |0      |0      |
|msRTT  |0.73   |0.85   |1.17   |0.92   |0.89   |0.89   |0.89   |1.04   |0.85   |1.37   |0.96   |

>
Because it is a wired connection, there is not much fluctuation among the results, and the throughput is close to its maximum, 100M. 
 
*** Between bc10-router wlan0 and PC2 [#se5e57e4]
>
- Measured by iperf~
WAN side: bc10-router iperf -s~
LAN side: PC2 iperf -c 192.168.30.1~
>
|N |   1|   2|   3|   4|   5|   6|   7|   8|   9|  10|Avg.|h
|Mbps|25.9|23.9|18.5|18.8|20.1|18.2|20.0|19.2|18.4|21.3|20.4|

>
- Measured by nuttcp~
WAN side: bc10-router nuttcp -S~
LAN side: PC2 nuttcp 192.168.30.1~
>
|N     |      1|      2|      3|      4|      5|      6|      7|      8|      9|     10|   Avg.|h
|Mbps   |18.8347|17.9976|19.0259|19.7316|18.6814|19.8820|20.3099|20.0888|18.5085|21.3733|19.4434|
|%TX    |1      |1      |1      |1      |1      |1      |1      |1      |1      |1      |1      |
|%RX    |10     |9      |10     |10     |10     |10     |10     |10     |10     |11     |10     |
|retrans|0      |0      |0      |0      |0      |0      |0      |0      |0      |0      |0      |
|msRTT  |2.62   |1.48   |1.65   |1.83   |1.73   |1.75   |1.64   |5.18   |1.68   |1.47   |2.10   |

>
As AP of bc10-router is set for 11n, PC2, the client, is connected with 11n of one-stream. The throughput 11n connection is only little better than the maximum effective performance of 11g. This indicates that the speed of this communication interval is the bottleneck as a wireless router.~

*** Between PC1 and bc10-router and PC2 [#r44aae08]
>
- Measured by iperf~
WAN side: PC1 iperf -s~
LAN side: PC2 iperf -c 192.168.0.121~
>
|Time |   1|   2|   3|   4|   5|   6|   7|   8|   9|  10| Avg.|h
|Mbps|25.1|23.1|25.6|22.8|22.2|22.7|19.5|19.0|17.8|20.7|21.85|

> 
- Measured by nuttcp~
WAN side: PC1 nuttcp -S~
LAN side: PC2 nuttcp 192.168.0.121~
>
|Time     |      1|      2|      3|      4|      5|      6|      7|      8|      9|     10|   Avg.|h
|Mbps   |26.7209|21.7524|23.4219|23.3507|22.5851|21.9455|19.2291|20.6303|19.0659|19.6408|21.8342|
|%TX    |1      |1      |1      |1      |1      |1      |1      |1      |1      |1      |1      |
|%RX    |8      |7      |7      |7      |7      |7      |6      |6      |6      |6      |6.7    |
|retrans|0      |0      |0      |0      |0      |0      |0      |0      |0      |0      |0      |
|msRTT  |1.80   |1.79   |1.71   |2.02   |2.16   |4.13   |1.77   |1.80   |1.93   |2.21   |2.13   |

>
Comparing to the measurement between bc10-router wlan0 and PC2, throughput between PC1 and bc10-router and PC2 is better. Since the capability of their CPUs at the server and client sides, is higher than bc10's. The difference in the capability of CPUs may lead the performance of the network.~
The measurement of the Wireless LAN (AP-PC2) is largely fluctuated. It is due to radio wave condition of surrounding. In the average, its throughput is roughly 22Mbps.~ 

* Revision History [#d17c1feb]
>
- 2013/07/22 This article is initially published.~
 

Front page   Edit Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   RSS of recent changes