Raspberry Pi B+ WiFi Throughput Test


Raspberry Pi B+ with Comfast CF-WU810N Adapter
Raspberry Pi B+ with Comfast CF-WU810N Adapter

The Raspberry Pi makers only consent to rather humble educational targets for their invention, but enthusiasts have left no stone unturned in their quest to re-purpose the device into a Home Theatre Media Player, Home Automation Server, Advanced Router with Firewall & Onion Routing, Bitcoin Mining Machine, Torrent Downloader, NAS & DLNA Server, FM Radio Station and what not.

In fact, I hear rumours that the country’s premier technical institutions are trying to re-purpose the Pi into taking over the most important function in an Indian Household – The Bai Pi! 😉

Core to many of these functions is the device’s Network performance. Case in point, the Raspberry Pi B+ features 10/100 Mbps Ethernet over USB2.0 bus. While the USB 2.0 bus has a theoretical speed of 480 Mbps, everyone is aware that in the real-world you will probably get half the theoretical speed as the practical speed. Coupled with the fact that all storage devices on the Raspberry Pi also share the same bus, it becomes all too possible that storage-read/writes can slow down Network RX/TX.

My B+ device is currently configured as a Torrent downloader (using Deluge). While my maximum Internet connection speed is about 15 Megabits / Second (about 1.5 Megabytes / second), and is unlikely to face limitations of USB bus, if I were to re-purpose the B+ as NAS & DLNA server, the suspected network speed limitations will become a reality.

On a Sunday that had some spare time, I set about testing the device for network throughput.

The Raspberry B+ device is configured with a Sandisk 8 GB Class 4 MSD card as the boot/os device and a Sandisk 16GB Class 10 USB Pendrive that is used for secondary storage. The device was connected to the Router using a USB Wireless Adapter. An Acer 5745 Laptop was used as the anchored device to test against. The laptop was connected to the Router using a short 10/100 Mbps Cat-5 cable.

Most tests were conducted at-least three times and the best-case results accepted.

Test Results:

Location Test Tool Test Description Throughput
RPi placed adjacent to Router netcat RPi sending data to Server 3.2 MB/s
-same- netcat RPi receiving data from Server 8.3 MB/s
-same- smbclient RPi sending data to Server 3.9 MB/s
-same- smbclient RPi receiving data from Server 5.7 MB/s
RPi placed 20 feet away from Router netcat RPi sending data to Server 3.5 MB/s
-same- netcat RPi receiving data from Server 8.3 MB/s
RPi placed in adjacent room with 2 walls in-between netcat RPi sending data to Server 3.7 MB/s
-same- netcat RPi receiving data from Server 8.1 MB/s

Test Set-up:

Parameter Description
Ubuntu Acer 5745 Laptop featuring Intel i5-430M CPU, 6GB RAM, 10/100 Mbps NIC, Ubuntu 14.04 (Kernel: 3.13.0-53-generic)
Rpi Raspberry Pi B+ featuring Broadcom 700Mhz CPU, 512MB RAM, Raspbian (Kernel: 3.12.26-rpi-aufs), Comfast CF-WU810N USB WiFi-N150 Adapter
netcat server nc -v -l 2222 > /dev/null
netcat client (Ras Pi) dd if=/dev/zero bs=100K count=1000 | nc -v 192.168.1.22 2222
netcat client (Ubuntu) dd if=/dev/zero bs=100K count=1000 | nc -v 192.168.1.33 2222
WiFi Router NetGear N300 4-Port 10/100 Mbps WiFi-N300 Switch
Loc A Ubuntu Connected to Switch via 100Mbps Cat-5 Cable, Rpi placed next to Router
Loc B Ubuntu Connected to Switch via 100Mbps Cat-5 Cable, Rpi placed approx 20 feet away with drawing room furniture as obstructions
Loc C Ubuntu Connected to Switch via 100Mbps Cat-5 Cable, Rpi placed approx 10 feet away with two walls as obstructions

Inferences:

  • The Comfast WiFi adapter was able to transmit data at about 40 Mbps at maximum but was able to receive data at 85 Mbps. These are expected to be symmetrical but were not.
  • In the smbclient test, a 600MB file was downloaded and uploaded. Here the speed (class) of the storage device came into play. The Class 4 MSD Card limited Network performance to 4Mbps due to maximum write-speed of the Card being 4Mbps. Performing the same test with the Class 10 Pen Drive improved the performance to approx. 60 Mbps.
  • The netcat test did not use the storage devices and thus resulted in faster throughput. If I were to re-purpose the device as a Router / NAS etc., I will try and use ramfs to minimize dependence on physical storage.
  • Distances and obstructions did not have significant effect on network throughput as long as they were moderate. If I were to move the Pi into my Home-Office, it would still perform equally well as before.

I have ordered an Orange Pi from China as yet another low-cost Single Board Computer (SBC) addition to the electronic junk. This board is supposed to have dedicated channel for the Ethernet on the main CPU (Amlogic SM-812) itself. Once it arrives, it will be interesting to test it out against these results.


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.