(I’m not pretending to be a Linux Guru I’m just a simple Windows System and Network administrator which every now and then uses Linux)
The following might be helpful for people who like to measure their local network throughput.
You can use iPerf, but the lack of decent (affordable) iOS apps made me decide to search for a better alternative.
Three months ago I found the AppNeta PathTest App in the Apple Store, installed it (client) on my iPad Mini and ran the PathTest server executable from the command line on my Windows 2008 server (running on VMware).
Because of the network sharing of my physical network adapters with other virtual servers on my home network VMware server I’ve decided to try and run PathTest (server) on my QNAP TS-659 Pro II which has two trunked 1Gb ports and plenty of bandwidth available.
PathTest is preferable over iPerf because of the more options it has to offer, you can configure from protocol (TCP, UDP, ICMP) to port number and even QoS settings.
Both the command line software and the App are free.
It’s pretty simple to run PathTest on your QNAP. Below I’ve noted what you will need and have to do to make it work.
First, download the files you’ll need. In my case Linux_32-bit.zip (for the QNAP, server), Windows_32-bit.zip (for my Windows machine, client) and the App (for the iPad Mini, client):
- AppNeta PathTest, Windows 32-bit
- AppNeta PathTest, Linux 32-bit
- AppNeta PathTest, Linux 64-bit
- AppNeta PathTest App for iOS
Before installing, first check your QNAP if it has the Optware IPKG installed, if not make sure to install it first.
After that, make an SSH connection to your QNAP -for example with Putty– and upload the PathTest file to the “/tmp” directory and extract it.
After extracting the “Linux_32-bit.zip” you’ll find a directory called “/tmp/Linux_32-bit” which contains the “pathtest” program.
If you run the program for the first time you will probaly get the following Error:
[/tmp] # ./pathtest -s ./pathtest: error while loading shared libraries: libcrypto.so.4: cannot open shared object file: No such file or directory
The above Error is because PathTest can’t find libcrypto.so.4 in its path, which can be easily solved by making symbolic links to the missing files.
[/] # cd /usr/lib [/usr/lib] # ln -s libcrypto.so.1.0.0 libssl.so.4 [/usr/lib] # ln -s libcrypto.so.1.0.0 libcrypto.so.4 [/usr/lib] # cd /tmp [/tmp] # ./pathtest -s PathTest (TM) v.4.6.0 build 4639 Copyright (c) 2011, AppNeta Inc. All Rights Reserved. Running in server mode on port 3236 ...
Now your QNAP is running PathTest in server-mode. If you like, you can add the “-d” option to run PathTest in Deamon mode.
To test the network throughput of a Windows or Linux machine with PathTest, just run the PathTest (command line) with the “-c” option (pointing to your QNAPs IP-address).
For your iOS device you can install the AppNeta PathTest App (client, graphical) and point your test to the QNAP with the running PathTest server.
The App works like a charm with a nice interface, albeit with one annoying bug when sending a mail with the test results from inside the App.
The recieved mail misses the test results.
The generated data is shown on the client and server side, which can be seen in the screen dumps below.
I had to move the PathTest binary to the “/Opt” directory to not lose it after a reboot of the QNAP.
Still had two issues to solve running PathTest:
- Symbolic links are deleted after the Qnap reboot.
- QNAP doesn’t automatically start PathTest when booted.
While searching for a solution for the earlier mentioned problems I’ve found a post of Patrick M. Wilson on the Qnap forum were he gives a forum member with a similar problem the advice to use the “/share/homes/admin/bin” directory.
So I created the “bin” directory and copied the “PathTest” binary to it.
# mkdir /share/homes/admin/bin
To automate the start of “PathTest” I opened “vi” to edit the “autorun.sh” file:
# mount -t ext2 /dev/sdx6 /tmp/config # vi /tmp/config/autorun.sh
I added the “/share/homes/admin/bin/pathtest -s -d” string and tje symbolic links to the “autorun.sh” file:
cd /usr/lib ln -s libcrypto.so.1.0.0 libssl.so.4 ln -s libcrypto.so.1.0.0 libcrypto.so.4 cd / cd /opt ./pathtest -s -d
After doing this I saved and unmounted the “autorun.sh” file:
# chmod +x /tmp/config/autorun.sh # umount /tmp/config
Restarted the Qnap, and it worked flawlessly.
[/] # ps cax | grep pathtest 8257 admin 1520 S /share/homes/admin/bin/pathtest -s -d 25426 admin 544 R grep pathtest [/] #
The Linux Top-command below showed activity when I started the PathTest client on my Windows machine, which took 2 x 5 seconds.
Mem: 1045288K used, 2031192K free, 0K shrd, 72388K buff, 451824K cached Load average: 0.25, 0.12, 0.13 (State: S=sleeping R=running, W=waiting) PID USER STATUS RSS PPID %CPU %MEM COMMAND 8257 admin S 1520 1 22.0 0.0 pathtest
Please feel free to leave a comment below.