[Cerowrt-devel] speedtest.sh script available
Dave Taht
dave.taht at gmail.com
Tue Mar 25 12:35:15 EDT 2014
I suggest renaming it to something like bloattest, to avoid copyright
and trademark issues. If you can come up with a sexier name,
goferit... (I have had a name in hiding for a while, "lul" - latency
under load,
you are welcome to it)
ahh... my old friend... awk...
If you change the script to use /bin/sh it works directly on cero!
I have longed to have some sort of sane test server infrastructure in
place, tied to a domain that did geographic dns, for a long time. Are
you going to incur any costs in doing this? community driven and
ad-supported seems like a way to go except that shell scripts don't
have ads...
I'd argue in favor of throwing out the first 25 sec of the test if you
aren't already due to speedboost.
1) This is a box connected directly to the internet:
cero2 at snapon:~/t$ ./speedtest.sh
Testing against netperf.richb-hanover.com while pinging gstatic.com
(60 seconds in each direction)
.......................................................................
Download: 261.94 Mbps
Latency: (in msec, 71 pings, 0.00% packet loss)
Min: 0.868
10pct: 0.930
Median: 1.070
Avg: 1.056
90pct: 1.150
Max: 1.420
.......................................................................
Upload: 333.91 Mbps
Latency: (in msec, 71 pings, 0.00% packet loss)
Min: 0.812
10pct: 0.900
Median: 1.020
Avg: 1.273
90pct: 2.040
Max: 2.770
Yes, I'm less than a ms away from gstatic.
cero2 at snapon:~/t$ ping gstatic.com
PING gstatic.com (74.125.239.143) 56(84) bytes of data.
64 bytes from nuq05s02-in-f15.1e100.net (74.125.239.143): icmp_req=1
ttl=59 time=0.924 ms
64 bytes from nuq05s02-in-f15.1e100.net (74.125.239.143): icmp_req=2
ttl=59 time=0.915 ms
2) Run from my nuc
d at nuc:~/t$ ./speedtest.sh
Testing against netperf.richb-hanover.com while pinging gstatic.com
(60 seconds in each direction)
.......................................................................
Download: 21.6 Mbps
Latency: (in msec, 71 pings, 0.00% packet loss)
Min: 16.100
10pct: 16.600
Median: 19.700
Avg: 19.966
90pct: 23.900
Max: 27.600
.......................................................................
Upload: 3.55 Mbps
Latency: (in msec, 71 pings, 0.00% packet loss)
Min: 15.900
10pct: 17.500
Median: 22.800
Avg: 22.821
90pct: 26.400
Max: 32.000
I then tried the armory's comcast connection...
3) Run from cero
root at dave-gw:~# ./speedtest.sh
Testing against netperf.richb-hanover.com while pinging gstatic.com
(60 seconds in each direction)
.............................................................
Download: 19.48 Mbps
Latency: (in msec, 61 pings, 0.00% packet loss)
Min: 16.782
10pct: 17.921
Median: 20.288
Avg: 21.067
90pct: 25.415
Max: 38.299
.............................................................
Upload: 3.92 Mbps++
Latency: (in msec, 61 pings, 0.00% packet loss)
Min: 18.355
10pct: 20.160
Median: 24.675
Avg: 24.385
90pct: 27.600
Max: 30.972
So we still have some variance in calculating up/download speeds...
4) Run from cero with sqm off:
root at comcast-gw:~# ./speedtest.sh
Testing against netperf.richb-hanover.com while pinging gstatic.com
(60 seconds in each direction)
.............................................................
Download: 28.1 Mbps
+the sqm system is set to 30000 down
Latency: (in msec, 61 pings, 0.00% packet loss)
Min: 17.246
10pct: 151.227
Median: 219.129
Avg: 197.213
90pct: 230.134
Max: 237.868
..............................................................
Upload: 4.55 Mbps
Latency: (in msec, 62 pings, 0.00% packet loss)
Min: 16.744
10pct: 384.688
Median: 586.156
Avg: 579.208
90pct: 755.223
Max: 872.024
5) for comparison, a rrul test is at
http://snapon.lab.bufferbloat.net/~d/richb-hannover/richb-compare.svg
So not doing 4 up and down at the same time gives you latency results
at max that are quite a bit
larger than a single flow (which makes sense for tcp without
congestion avoidance working)
and microscopic upload performance compared to what the upload along claims.
sqm settings
config queue 'ge00'
option interface 'ge00'
option script 'simplest.qos'
option linklayer 'none'
option enabled '1'
option download '30000'
option upload '4400'
option qdisc_advanced '1'
option ingress_ecn 'ECN'
option egress_ecn 'ECN'
option qdisc_really_really_advanced '1'
option iqdisc_opts 'target 5ms'
option eqdisc_opts 'target 5ms'
option qdisc 'nfq_codel'
On Tue, Mar 25, 2014 at 8:16 AM, Rich Brown <richb.hanover at gmail.com> wrote:
> I have created a 'speedtest.sh' shell script that simulates the http://speedtest.net, but does it one better.
>
> The default options for the script do a separate TCP_MAERTS and TCP_STREAM for 60 seconds while collecting ping latency. The output of the script shows the down/upload speed as well as a summary of the ping latency, including min, max, average, median, and 10th and 90th percentiles.
>
> The script makes it easier to optimize my settings because it makes the latency figures more concrete. (I used to eyeball the ping output, saying, "Hmmm. I think there were fewer outliers than before...")
>
> You can see the script on the "Quick Test for Bufferbloat" page on the wiki at:
>
> http://www.bufferbloat.net/projects/cerowrt/wiki/Quick_Test_for_Bufferbloat#Speedtestsh-shell-script
>
> Enjoy!
>
> Rich
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
--
Dave Täht
Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
More information about the Cerowrt-devel
mailing list