Thursday, March 27, 2014

CeroWRT 3.10.32-12 - SQM comparison on Free.fr

Earlier this week I updated to CeroWRT 3.10.32-12 on my WNDR3800.  This was to pick up the many changes since 3.10.24-8, primarily DNSSEC.  SQM also seems to be behaving better.

Setup:
ADSL2+ from Free.fr (75002 Paris, France)
v6 Freebox Server
Netgear WNDR3800 running CeroWRT v3.10.32-12
17" Macbook Pro (OSX 10.8) (wired directly to either wndr or freebox depending on the test)

fq_codel results

I'm pretty happy with these results.  I'd like induced latency to be less, but 10-15ms isn't bad on DSL (I guess).  What I'm happiest about is that the traffic seems to be sharing pretty fairly.  However I'm not seeing the distinct tiering of bandwidth that I see on the results from higher-bandwidth setups (where the BK traffic is distinctly less than the average, with BE and EF above average.




SQM settings are as follows:

- 21000 down / 1100 up
- fq_codel (ingress ECN, no egress ECN)  -- defaults
- link-layer adaptation set for ADSL at 40 bytes

Base ping is ~55ms, so this is showing 10-20 ms of induced latency under load.  Not fantastic, but not something I'm going to worry about excessively.  However, what I have noticed is that the traffic shaping seems more stable in .32-12 than it was in .24-8:





Results from Rich Brown's speed test script are:

Testing against demo.tohojo.dk while pinging 8.8.8.8 (60 seconds in each direction)

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

ADSL line rates are ~21Mb down and 1160Kb up.



Dave Täht had asked about the performance of pie on dsl (my experiences have not been positive), and also it was mentioned that nfq_codel should perform better on low-bandwidth networks.  So I both both of those to the test.

nfq_codel results



Testing against demo.tohojo.dk while pinging 8.8.8.8 (120 seconds in each direction)

Download:  13.75 Mbps
  Latency: (in msec, 121 pings, 0.00% packet loss)
      Min: 30.059
    10pct: 30.378
   Median: 32.644
      Avg: 33.379
    90pct: 35.773
      Max: 66.983

Upload:  0.87 Mbps
  Latency: (in msec, 104 pings, 14.75% packet loss)
      Min: 29.981
    10pct: 30.714
   Median: 36.427
      Avg: 37.557
    90pct: 43.589
      Max: 49.973

I think I prefer the fq_codel results over the nfq_codel results.


pie

Pie continues to not perform well at all on my setup.  The traffic classes separate out nicely, but the latency can only be described as awful.



Yes, that's log-scale, and it needs it.

Testing against demo.tohojo.dk while pinging 8.8.8.8 (120 seconds in each direction)

Download:  14.95 Mbps
  Latency: (in msec, 121 pings, 0.00% packet loss)
      Min: 29.602 
    10pct: 30.532 
   Median: 34.861 
      Avg: 37.178 
    90pct: 46.831 
      Max: 67.668

Upload:  0.86 Mbps
  Latency: (in msec, 118 pings, 3.28% packet loss)
      Min: 30.322 
    10pct: 49.952 
   Median: 82.397 
      Avg: 83.052 
    90pct: 120.814 
      Max: 170.018


fq_codel

A check against the first results (same setup as first run).



Testing against demo.tohojo.dk while pinging 8.8.8.8 (30 seconds in each direction)
Download:  13.17 Mbps
  Latency: (in msec, 31 pings, 0.00% packet loss)
      Min: 30.446 
    10pct: 30.620 
   Median: 33.115 
      Avg: 33.193 
    90pct: 35.233 
      Max: 42.143

Upload:  0.88 Mbps
  Latency: (in msec, 30 pings, 6.25% packet loss)
      Min: 30.262 
    10pct: 30.915 
   Median: 34.738 
      Avg: 36.437 
    90pct: 42.182 
      Max: 45.980

Parting Thoughts

Something that I find curious is the ping packet-loss during upload.  It seems to be endemic to my setup (when using the wndr with CeroWRT), and doesn't happen when running directly behind the Freebox Server itself.  This loss wreaks havoc with the netperf UDP pings (and their results are conspicuously absent from all the results where I was testing from behind the CeroWRT router).