I've been trying to set up a Beaglebone Black as a lightweight autonomous
networking appliance to monitor and analyse connection performance at
remote locations, the method is fairly straightforward. I'm using a simple
bash script to run speedtest-cli and then pipe the output into an email
with mailutils/ssmtp and to that end, everything performs flawlessly,
except that the actual results from speedtest-cli are complete mince.
We've ruled out the basics at this point, iperf is showing the NIC is
capable of transfer rates of around 90mbps on a 100mbps link which is
optimal when one takes into account TCP overheads etc, we've run a few
different incarnations of the same type of test under different languages
such as C++ but to no avail, the device still reports erroneous results.
We've tried running under a few different Kernels both old and more recent,
we've tried running under python 2.7 and 3.1
Some example outputs (all wired on a 100/1000 syncronous fibre,
uncomplicated flat network with <10 devices, 2 users):
>From a debian VM on a Laptop with plenty of poke
root@test-VirtualBox:/etc/ssmtp# ./speedtest-cli --server 226
Retrieving speedtest.net configuration...
Testing from [insert ISP here] (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Structured Communications (London) [2.56 km]: 30.928 ms
Testing download
speed................................................................................
Download: 31.86 Mbit/s
Testing upload
speed................................................................................................
Upload: 52.86 Mbit/s
This result, although not indicative of 100/1000 performance is considered
optimal as such tests are not designed for synchronous services and often
report silly results, the key factor is that it executed swiftly (10-15ish
seconds) and is in line with what we would expect from running its online
cousin in flash/html5.
Beagleboard output
debian@beaglebone:~/speedtest$ ./speedtest-cli
Retrieving speedtest.net configuration...
Testing from [insert ISP here] (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Cybersmart Pty Ltd (London) [2.56 km]: 2548.699 ms
Testing download
speed................................................................................
Download: 3.18 Mbit/s
Testing upload
speed................................................................................................
Upload: 3.37 Mbit/s
The execution time on the beagleboard is on the order of a couple of
minutes, with max CPU spikes being noted during the process, mostly from
python. Take particular note of the ludicrous ping and strange Tx/Rx
numbers. In mentioning pings too, we've noted that while reported latency
from ICMP packets is nominal, again the execution is sluggish, running
significantly slower than even the oldest most hacked up x86 box we have
kicking about. Some discrepancy is expected due to the differing
architectures but surely not so noticeable??
A network trace during the test shows no significant anomalies in packet
transmission (too large to post) and we have reproduced the issue on a
couple of units reducing the likelihood of it being a hardware fault,
everything seems to point to some oddity in how the device is handling the
job and we cant for the life of us put a finger on it.
Any insight from those who better understand the nuts and bolts of these
wee beasties would be hugely appreciated, we can work around this by using
iperf if we have to but would prefer to be able to deploy these as
standalone units (iperf would require us to run a box on our end long term).
Current Kernel - 4.14.17-ti-r32
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/25273e2c-34e2-4751-bbd9-b449e9876814%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.