All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Furniss <andy.furniss@dsl.pipex.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Latency low enough for gaming
Date: Thu, 19 Feb 2004 09:45:16 +0000	[thread overview]
Message-ID: <403485AC.9050900@dsl.pipex.com> (raw)
In-Reply-To: <20040212040249.ACA5.LARTC@schmakk.dk>

Patrick Petersen wrote:
> Welcome to me, and my very first lartc post.
> As with most first timers, i made a mistake. Admin, disregard the
> earlier message, as i was still waiting for the subscription
> confirmation. Should it get through still, i apoligize.
> 
> For the last few weeks i have been trying to make it so our 2048/512
> adsl line can be used for gaming and for leeching at the same time. The
> current result is what can be found at http://www.schmakk.dk/~schmakk
> which is what is running at the NAT gateway. This has done a lot for the
> latency, but still there is huge problems with eg. massive http
> downloads (5+ threads makes ping go up to at least 200).
> 
> I have learned a lot from the lartc list archive, but this specifik
> leaves me with no clue. I have been able to get real close to normal
> latency by capping incoming traffic at around 1200kbits, but its no fun
> throwing away almost half your bandwidth.
> 
> Can i get any recommendations?
> 
> Also, if you have the time, a look through my script is much appreciated.
> (Im concerned about the calculations for dividing the bandwidth, the
> general setup of everything and the ipp2p+connmark tagging.)

I see you have a newer version now anyway, but I tried you script last 
night (not connmark/ipp2p as it clashed with connbytes). I have 256/512 
so things in theory should be nicer for you.

I am still testing myself, so can't post a solution but can make some 
observations -

The delete rule for iptabled needs -D not -A.

esfq won't work hashing src on egress if you are doing NAT see the KPTD 
on www.docum.org - egress qos comes after NAT. Ingress with dst should 
be ok if you are NATing as long as you used the IMQ NAT patch.

The trouble with esfq hashing per user (unless you use limit) is that 
each user gets a 128 packet queue, which if they have many connections 
gets full and drops take a long time to be noticed. I have a modified 
esfq which overcomes this somewhat, but I also use classic hash and 
restrict the size of the queue.

I can see why commercial bandwidth controllers use advertised window 
manipulation - often dropping is needed to get the sender to back off a 
bit and set its' congestion window, but if you queue this may result in 
a resync burst later. Being able to reduce adv window on dups/sacks and 
increase slowly/randomly would be handy.

One thing that helps me is to give new bulk connections their own class 
with a short queue for the first 80000 bytes using connbytes (netfilter 
extra patch). This is limited to rate downrate/5 ceil /3 and stops tcp 
slowstart from overshooting. I have also tried connbytes just to drop 
early packets, but with browsers making many simultaneous connections, 
the resyncs cause a latency burst.

I see you are trying RED - in theory this should be nice, but remember 
the settings/docs you read about don't take into account that you are 
trying to shape behind a fifo (at ISP/teleco) that dequeues only 20% 
faster than what you are aiming for.

I am not convinced that just dropping ingress is best - a short queue 
yes, then at least you don't ever drop game packets.

If I had 2048 down I reckon I could keep down below 100 now - apart from 
the odd 1 sec blip.

Andy.

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

  parent reply	other threads:[~2004-02-19  9:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-12  3:14 [LARTC] Latency low enough for gaming Patrick Petersen
2004-02-18 22:45 ` Patrick Petersen
2004-02-19  9:45 ` Andy Furniss [this message]
2004-02-20  6:07 ` Patrick Petersen
2004-02-22 17:34 ` Andy Furniss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=403485AC.9050900@dsl.pipex.com \
    --to=andy.furniss@dsl.pipex.com \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.