* [Cerowrt-devel] speedtest.sh script available @ 2014-03-25 15:16 Rich Brown 2014-03-25 16:09 ` Aaron Wood 2014-03-25 16:35 ` Dave Taht 0 siblings, 2 replies; 9+ messages in thread From: Rich Brown @ 2014-03-25 15:16 UTC (permalink / raw) To: cerowrt-devel 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Cerowrt-devel] speedtest.sh script available 2014-03-25 15:16 [Cerowrt-devel] speedtest.sh script available Rich Brown @ 2014-03-25 16:09 ` Aaron Wood 2014-03-25 17:13 ` Dave Taht 2014-03-25 16:35 ` Dave Taht 1 sibling, 1 reply; 9+ messages in thread From: Aaron Wood @ 2014-03-25 16:09 UTC (permalink / raw) To: Rich Brown; +Cc: cerowrt-devel [-- Attachment #1: Type: text/plain, Size: 1962 bytes --] Nice! It gives me what I'd expect for my setup, although the TCP rate is only 2/3 the line rate on DSL (upload is better at 80%). .............................................................. Download: 14.09 Mbps Latency: (in msec, 62 pings, 0.00% packet loss) Min: 30.157 10pct: 30.691 Median: 33.412 Avg: 34.044 90pct: 36.970 Max: 48.250 .............................................................. Upload: 0.87 Mbps Latency: (in msec, 57 pings, 8.06% packet loss) Min: 30.655 10pct: 30.744 Median: 36.658 Avg: 36.379 90pct: 41.414 Max: 46.451 I'm running 21000/1100 as my rate-limiting settings in CeroWRT (3.10.32-12). That packet loss is what kills my UDP ping streams. It doesn't seem to happen if I use the Free.fr box directly, and only shows when I use CeroWRT as the bottle-neck. -Aaron On Tue, Mar 25, 2014 at 4:16 PM, Rich Brown <richb.hanover@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@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cerowrt-devel > [-- Attachment #2: Type: text/html, Size: 2969 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Cerowrt-devel] speedtest.sh script available 2014-03-25 16:09 ` Aaron Wood @ 2014-03-25 17:13 ` Dave Taht 2014-03-25 17:26 ` Dave Taht 2014-03-25 18:29 ` Aaron Wood 0 siblings, 2 replies; 9+ messages in thread From: Dave Taht @ 2014-03-25 17:13 UTC (permalink / raw) To: Aaron Wood; +Cc: cerowrt-devel aaron: tcp is highly sensitive to RTT and I imagine the rtt from paris to his server is rather high. See what happens via demo.tohojo.dk which is much closer to you. (ping times between there and rich's server would be good to have) On Tue, Mar 25, 2014 at 9:09 AM, Aaron Wood <woody77@gmail.com> wrote: > Nice! It gives me what I'd expect for my setup, although the TCP rate is > only 2/3 the line rate on DSL (upload is better at 80%). > > .............................................................. > Download: 14.09 Mbps > Latency: (in msec, 62 pings, 0.00% packet loss) > Min: 30.157 > 10pct: 30.691 > Median: 33.412 > Avg: 34.044 > 90pct: 36.970 > Max: 48.250 > .............................................................. > Upload: 0.87 Mbps > Latency: (in msec, 57 pings, 8.06% packet loss) > Min: 30.655 > 10pct: 30.744 > Median: 36.658 > Avg: 36.379 > 90pct: 41.414 > Max: 46.451 > > I'm running 21000/1100 as my rate-limiting settings in CeroWRT (3.10.32-12). > > That packet loss is what kills my UDP ping streams. It doesn't seem to > happen if I use the Free.fr box directly, and only shows when I use CeroWRT > as the bottle-neck. > > -Aaron > > > On Tue, Mar 25, 2014 at 4:16 PM, Rich Brown <richb.hanover@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@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/cerowrt-devel > > > > _______________________________________________ > Cerowrt-devel mailing list > Cerowrt-devel@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cerowrt-devel > -- Dave Täht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Cerowrt-devel] speedtest.sh script available 2014-03-25 17:13 ` Dave Taht @ 2014-03-25 17:26 ` Dave Taht 2014-03-25 18:29 ` Aaron Wood 1 sibling, 0 replies; 9+ messages in thread From: Dave Taht @ 2014-03-25 17:26 UTC (permalink / raw) To: Aaron Wood; +Cc: cerowrt-devel running a test to snapon (15ms away) gives me much better results for a single tcp flow and downloads set to 30000 (rich: is ecn enabled on your server?) root@comcast-gw:~# ./speedtest.sh -H snapon.lab.bufferbloat.net Testing against snapon.lab.bufferbloat.net while pinging gstatic.com (60 seconds in each direction) ............................................................ Download: 27.63 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 16.205 10pct: 18.351 Median: 20.750 Avg: 21.596 90pct: 24.881 Max: 33.364 ............................................................ Upload: 4.13 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 16.092 10pct: 20.611 Median: 24.177 Avg: 23.993 90pct: 26.961 Max: 31.142 On Tue, Mar 25, 2014 at 10:13 AM, Dave Taht <dave.taht@gmail.com> wrote: > aaron: tcp is highly sensitive to RTT and I imagine the rtt from paris > to his server is rather high. See > what happens via demo.tohojo.dk which is much closer to you. > > (ping times between there and rich's server would be good to have) > > > > On Tue, Mar 25, 2014 at 9:09 AM, Aaron Wood <woody77@gmail.com> wrote: >> Nice! It gives me what I'd expect for my setup, although the TCP rate is >> only 2/3 the line rate on DSL (upload is better at 80%). >> >> .............................................................. >> Download: 14.09 Mbps >> Latency: (in msec, 62 pings, 0.00% packet loss) >> Min: 30.157 >> 10pct: 30.691 >> Median: 33.412 >> Avg: 34.044 >> 90pct: 36.970 >> Max: 48.250 >> .............................................................. >> Upload: 0.87 Mbps >> Latency: (in msec, 57 pings, 8.06% packet loss) >> Min: 30.655 >> 10pct: 30.744 >> Median: 36.658 >> Avg: 36.379 >> 90pct: 41.414 >> Max: 46.451 >> >> I'm running 21000/1100 as my rate-limiting settings in CeroWRT (3.10.32-12). >> >> That packet loss is what kills my UDP ping streams. It doesn't seem to >> happen if I use the Free.fr box directly, and only shows when I use CeroWRT >> as the bottle-neck. >> >> -Aaron >> >> >> On Tue, Mar 25, 2014 at 4:16 PM, Rich Brown <richb.hanover@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@lists.bufferbloat.net >>> https://lists.bufferbloat.net/listinfo/cerowrt-devel >> >> >> >> _______________________________________________ >> Cerowrt-devel mailing list >> Cerowrt-devel@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/cerowrt-devel >> > > > > -- > Dave Täht > > Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html -- Dave Täht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Cerowrt-devel] speedtest.sh script available 2014-03-25 17:13 ` Dave Taht 2014-03-25 17:26 ` Dave Taht @ 2014-03-25 18:29 ` Aaron Wood 1 sibling, 0 replies; 9+ messages in thread From: Aaron Wood @ 2014-03-25 18:29 UTC (permalink / raw) To: Dave Taht; +Cc: cerowrt-devel [-- Attachment #1: Type: text/plain, Size: 3070 bytes --] That was, in fact, to Toke's server, not to Rich's (and pings were to google dns). -Aaron On Tue, Mar 25, 2014 at 6:13 PM, Dave Taht <dave.taht@gmail.com> wrote: > aaron: tcp is highly sensitive to RTT and I imagine the rtt from paris > to his server is rather high. See > what happens via demo.tohojo.dk which is much closer to you. > > (ping times between there and rich's server would be good to have) > > > > On Tue, Mar 25, 2014 at 9:09 AM, Aaron Wood <woody77@gmail.com> wrote: > > Nice! It gives me what I'd expect for my setup, although the TCP rate is > > only 2/3 the line rate on DSL (upload is better at 80%). > > > > .............................................................. > > Download: 14.09 Mbps > > Latency: (in msec, 62 pings, 0.00% packet loss) > > Min: 30.157 > > 10pct: 30.691 > > Median: 33.412 > > Avg: 34.044 > > 90pct: 36.970 > > Max: 48.250 > > .............................................................. > > Upload: 0.87 Mbps > > Latency: (in msec, 57 pings, 8.06% packet loss) > > Min: 30.655 > > 10pct: 30.744 > > Median: 36.658 > > Avg: 36.379 > > 90pct: 41.414 > > Max: 46.451 > > > > I'm running 21000/1100 as my rate-limiting settings in CeroWRT > (3.10.32-12). > > > > That packet loss is what kills my UDP ping streams. It doesn't seem to > > happen if I use the Free.fr box directly, and only shows when I use > CeroWRT > > as the bottle-neck. > > > > -Aaron > > > > > > On Tue, Mar 25, 2014 at 4:16 PM, Rich Brown <richb.hanover@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@lists.bufferbloat.net > >> https://lists.bufferbloat.net/listinfo/cerowrt-devel > > > > > > > > _______________________________________________ > > Cerowrt-devel mailing list > > Cerowrt-devel@lists.bufferbloat.net > > https://lists.bufferbloat.net/listinfo/cerowrt-devel > > > > > > -- > Dave Täht > > Fixing bufferbloat with cerowrt: > http://www.teklibre.com/cerowrt/subscribe.html > [-- Attachment #2: Type: text/html, Size: 4751 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Cerowrt-devel] speedtest.sh script available 2014-03-25 15:16 [Cerowrt-devel] speedtest.sh script available Rich Brown 2014-03-25 16:09 ` Aaron Wood @ 2014-03-25 16:35 ` Dave Taht 2014-03-25 17:09 ` Dave Taht ` (2 more replies) 1 sibling, 3 replies; 9+ messages in thread From: Dave Taht @ 2014-03-25 16:35 UTC (permalink / raw) To: Rich Brown; +Cc: cerowrt-devel 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@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@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@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@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@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@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@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cerowrt-devel -- Dave Täht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Cerowrt-devel] speedtest.sh script available 2014-03-25 16:35 ` Dave Taht @ 2014-03-25 17:09 ` Dave Taht 2014-03-25 17:58 ` Sebastian Moeller 2014-03-26 15:30 ` [Cerowrt-devel] betterspeedtest.sh (was: speedtest.sh script available) Rich Brown 2 siblings, 0 replies; 9+ messages in thread From: Dave Taht @ 2014-03-25 17:09 UTC (permalink / raw) To: Rich Brown; +Cc: cerowrt-devel thx for the new test! I like having multiple tests... I generally don't care about single stream tcp performance much, nor do I test as much as I should against targets on the east coast. your netperf server is about 70ms away, so I tried testing with target 10ms instead of 5ms with nfq_codel, still with a download setting of 30000. It does appear as if our recomendations for a download speed setting, when greater than 20Mbit, are off in the wrong direction. As for why... well, a goodly part of the problem is that on ingress the right place for this stuff is at the ISP... but it might make sense to go for 120ms as the codel interval in this case... I like that netperf only eats 15% of cpu on this test when run on cero at this speed. Please note that I'm testing a box that has other traffic and instruction traps... root@comcast-gw:~# ./speedtest.sh Testing against netperf.richb-hanover.com while pinging gstatic.com (60 seconds in each direction) ............................................................ Download: 23.61 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 14.027 10pct: 16.561 Median: 20.061 Avg: 20.345 90pct: 24.466 Max: 37.414 ............................................................. Upload: 3.49 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 17.331 10pct: 18.919 Median: 22.178 Avg: 22.814 90pct: 27.558 Max: 29.111 Fiddling with fq_codel target 10ms interval 120ms 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 10ms interval 120ms' option eqdisc_opts 'target 10ms' option qdisc 'fq_codel' Download: 23.58 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 17.227 10pct: 18.304 Median: 20.610 Avg: 21.078 90pct: 24.135 Max: 32.095 ............................................................. Upload: 3.61 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 18.416 10pct: 20.169 Median: 24.621 Avg: 24.959 90pct: 29.372 Max: 35.057 we seem to basically peak out at this, even changing the target to 15ms interval 120ms didn't crack 24 down. The upload number is about correct. I had put in some fixes to htb in newer releases of cero to make it use larger quantums at higher rates, will have to try that... root@comcast-gw:~# ./speedtest.sh Testing against netperf.richb-hanover.com while pinging gstatic.com (60 seconds in each direction) ............................................................ Download: 23.64 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 15.789 10pct: 16.481 Median: 19.460 Avg: 19.589 90pct: 22.696 Max: 27.628 ............................................................. Upload: 3.69 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 15.846 10pct: 18.558 Median: 23.259 Avg: 23.031 90pct: 26.258 Max: 30.311 Bumping it up to 35000 down had bad results: root@comcast-gw:~# ./speedtest.sh Testing against netperf.richb-hanover.com while pinging gstatic.com (60 seconds in each direction) ............................................................ Download: 27.89 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 16.535 10pct: 37.046 Median: 193.440 Avg: 179.146 90pct: 228.437 Max: 233.570 ............................................................. Upload: 3.27 Mbps Latency: (in msec, 61 pings, 0.00% packet loss) Min: 16.671 10pct: 18.093 Median: 23.476 Avg: 22.854 90pct: 26.328 Max: 27.658 On Tue, Mar 25, 2014 at 9:35 AM, Dave Taht <dave.taht@gmail.com> wrote: > 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@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@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@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@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@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@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@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/cerowrt-devel > > > > -- > Dave Täht > > Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html -- Dave Täht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Cerowrt-devel] speedtest.sh script available 2014-03-25 16:35 ` Dave Taht 2014-03-25 17:09 ` Dave Taht @ 2014-03-25 17:58 ` Sebastian Moeller 2014-03-26 15:30 ` [Cerowrt-devel] betterspeedtest.sh (was: speedtest.sh script available) Rich Brown 2 siblings, 0 replies; 9+ messages in thread From: Sebastian Moeller @ 2014-03-25 17:58 UTC (permalink / raw) To: Dave Taht; +Cc: cerowrt-devel Hi List, On Mar 25, 2014, at 17:35 , Dave Taht <dave.taht@gmail.com> wrote: > 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@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 static. I think selecting gstac is a very good choice; it seems to be "replicated" around the globe, as I am 6 ms away (on ethernet that is): --- gstatic.com ping statistics --- 10 packets transmitted, 10 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 6.087/6.327/6.438/0.129 ms Now netperf.richb-hanover.com is slightly farther away... --- atl.richb-hanover.com ping statistics --- 10 packets transmitted, 10 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 113.298/113.458/113.933/0.173 ms > > cero2@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@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@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@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) I wonder whether the single test flow leaves some bandwidth on the floor which then is used to accommodate the ping packets, or put differently the single uni-directional flow does not fully saturate the link (I assume that tcp reno is the lower bound so the leftover bandwidth is less than 25% on average, but still there should be enough slack for the ping packets). SO maybe going for at least two strerams per direction would be good? (It might be possible to speed up the ping train and get more values that way...) Best Regards Sebastian > > 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@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@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/cerowrt-devel > > > > -- > Dave Täht > > Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html > _______________________________________________ > Cerowrt-devel mailing list > Cerowrt-devel@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cerowrt-devel ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Cerowrt-devel] betterspeedtest.sh (was: speedtest.sh script available) 2014-03-25 16:35 ` Dave Taht 2014-03-25 17:09 ` Dave Taht 2014-03-25 17:58 ` Sebastian Moeller @ 2014-03-26 15:30 ` Rich Brown 2 siblings, 0 replies; 9+ messages in thread From: Rich Brown @ 2014-03-26 15:30 UTC (permalink / raw) To: Dave Taht; +Cc: cerowrt-devel You can get it from my CeroWrtScripts git repo: https://github.com/richb-hanover/CeroWrtScripts It also includes the config-cerowrt.sh that I use to get consistent settings after flashing firmware, and my tunnelbroker.sh script that sets up a 6in4 tunnel. On Mar 25, 2014, at 12:35 PM, Dave Taht <dave.taht@gmail.com> wrote: > 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) For version 1.0, I'm going with "betterspeedtest.sh"? There are a bunch of "speedtest.sh" scripts out there. This one's better. (I never said I was good at names. :-) > ahh... my old friend... awk... I don't know why it took me so long to learn about awk. What a hoot! > If you change the script to use /bin/sh it works directly on cero! Done. > 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'm happy to support this for the time being. This is currently running on a fairly studly VPS in Atlanta that costs $10/month. An individual netperf session doesn't bother it at all; we've had ~250 sessions since I mentioned this, and it hasn't even dented my bandwidth cap (<< 1%) I'm teaching myself node.js, so there'll shortly be a web page there that lets you see how many sessions and what CPU utilization it causes. > I'd argue in favor of throwing out the first 25 sec of the test if you > aren't already due to speedboost. Interesting... Version 1.1 Rich ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-03-26 15:30 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-03-25 15:16 [Cerowrt-devel] speedtest.sh script available Rich Brown 2014-03-25 16:09 ` Aaron Wood 2014-03-25 17:13 ` Dave Taht 2014-03-25 17:26 ` Dave Taht 2014-03-25 18:29 ` Aaron Wood 2014-03-25 16:35 ` Dave Taht 2014-03-25 17:09 ` Dave Taht 2014-03-25 17:58 ` Sebastian Moeller 2014-03-26 15:30 ` [Cerowrt-devel] betterspeedtest.sh (was: speedtest.sh script available) Rich Brown
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox