From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 3AE2320064E for ; Sat, 14 Apr 2012 21:07:29 -0700 (PDT) Received: by wgbge7 with SMTP id ge7so3460636wgb.28 for ; Sat, 14 Apr 2012 21:07:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=3vJxx4MbQ2XxIvzo5ZnKWsllt4Z4VBL3h+l/FhMKYII=; b=jeorBcTjXKUQxda/suwQjf2hWnr3HyaMV+Uy2uSL+HPmppDaERgKzEuRjao33/K4tV 3kXmV4GUR+wl9zSKEL8yXgPKp1UAR2Sppkf60ZeFQmTcC4K5wo+rjMX94EOov2fC2q4H eNF4xb9yUv9bXmmD7/aSuob41KNsD+TOualNc46kgJyza0Lckj72rhm+P5SwTySieQDM GULm9h5wYnRLxI3YnGYewrtLKXYzOPRbkayL1NCaVnpNM2ORwO8p7yJEQ78Kwt2U6IFI vYw36m/HNzCz7iuGT/xrLmg79jso9fQz9zH5XME6EEDizxwQaGQ4O2Ot3xykXldIVkUG 1W8Q== MIME-Version: 1.0 Received: by 10.180.101.8 with SMTP id fc8mr8260726wib.12.1334462845209; Sat, 14 Apr 2012 21:07:25 -0700 (PDT) Received: by 10.223.127.194 with HTTP; Sat, 14 Apr 2012 21:07:25 -0700 (PDT) Date: Sat, 14 Apr 2012 21:07:25 -0700 Message-ID: From: Dave Taht To: cerowrt-devel@lists.bufferbloat.net Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Cerowrt-devel] qos/aqm script testers wanted X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Apr 2012 04:07:29 -0000 I have, over the past year, looked at more streams, and qos/shaping models, than I care to think about. sfqred is the culmination of the first part of the effort and it's proving to be hairy. I finally got fed up with trying to make it all work out of lua and tossed off this one, which addresses the major parameters I've noticed as making a difference in today's environment= s. https://github.com/dtaht/deBloat/blob/master/src/simple_qos.sh The hairy red-related calculations (that needed lua) are currently elided, and this works best in the 2-4Mbit range. However, I could use some data from various tools, from people, hitting various sites in order to scale up and down better. Twiddle the hard coded uplink and PPOE variables in the script, then... IFACE=3Dge00 ./simple_qos.sh What I'm interested in: ADSL users operating at 1Mbit or less, as well as 10Mbit Verizon at 25Mbit Cable at 2, 4Mbit uplinks Other, weirder, technologies In the script, if you want to hammer at finding good values... I note that depth can be easily reduced to 20 or less in the median case. And the the red parameters are terribly minimal. I got some data from a verizon 25/25 site that I simply couldn't make fit any curve. I'm not at present doing ingress shaping, I will eventually. I do a variety of tests - 0) ALWAYS run a ping. During any of these tests, I ping away trying to keep ping RTT flat. I log these pings, too. fping is good, you can set it up to ping on 10ms intervals with larger than normal packets, to look more like voip. 1) I hit speedtest.net sites 4,30, and 90ms away in the US. Monkey Brains in SF has ECN enabled (as does my laptop) So I take their number with this script off tc qdisc del dev ge00 root Plug it into a script like this and try it again (while pinging! It's latency under load we need to fix) 2) Netperf. The version of netperf on the router supports classification. It's generally better to install and run netperf from svn on a wired or wireless laptop... After things work well with one stream, I fire up more and more... then twiddle with the TCP_RR test, TCP_MAERTS, ipv6, etc, etc a typical command line is: netperf -Y AF42,AF42 -l 60 -H huchra.bufferbloat.net -t TCP_STREAM & netperf -Y AF42,AF42 -l 60 -H huchra.bufferbloat.net -t TCP_RR & Which exercises the priority queue which is set to 33% of the bandwidth. netperf -l 60 -H huchra.bufferbloat.net -t TCP_STREAM & # sometimes 50 or m= ore netperf -l 60 -H huchra.bufferbloat.net -t TCP_RR & Does best effort. (CEIL - a little). Note the -l 60. Frankly, 10 minutes of data with a packet capture is often far more revealing than 60 seconds... I'll sometimes run 50 or more of these sorts of things, to observe when, for example tcp streams get starved and can't get out of slow start. There are netperf servers setup on machines here, with both IPv6 and IPv4 support, they are huchra.bufferbloat.net carme.lab.bufferbloat.net # this machine appears to have problems io.lab.bufferbloat.net I try to capture the output of tc -s qdisc show dev ge00 >> /tmp/log tc -s class show dev ge00 >> /tmp/log after each one. Anyway, happy hacking. It is my hope to automate the iterative process of finding the 'more right numbers' within reason... I note also the output of shaperprobe is often interesting. It's not installed by default can --=20 Dave T=E4ht SKYPE: davetaht US Tel: 1-239-829-5608 http://www.bufferbloat.net