[tor-talk] Multicore, bandwidth, relays, capacity, location

Roger Dingledine arma at mit.edu
Thu Aug 13 07:30:54 UTC 2015

(Ugh -- please don't cross-post across lists. I'm going to pick the
list that had the previous thread on it.)

On Thu, Aug 13, 2015 at 03:03:10AM -0400, grarpamp wrote:
> Tor appears maybe operating at 50% of bandwidth capacity...
> https://metrics.torproject.org/bandwidth-flags.html
> https://metrics.torproject.org/bandwidth.html
> https://metrics.torproject.org/bwhist-flags.html
> If that's true, more bandwidth won't have any end user affect.

Careful! I think this is a really bad conclusion. There is no practical
way for the Tor network to use all of its capacity, and we shouldn't
expect it to. Normal networks start to fall apart when they reach around
20-30% of total capacity. The Tor network is still way overloaded --
just not as overloaded as before.

First, operating at 100% capacity would imply that we somehow line
up every relay in every circuit to never have any spare capacity. In
practice, each circuit will have some relay that is smallest / most
congested at the time. The goal for performance is to have that smallest
relay be not too bad.

Second, a network operating "at" capacity pretty much guarantees
congestion at most relays. In an ideal world, every relay would have
spare capacity for every circuit. Or to put it another way, whenever
a relay runs out of bandwidth (e.g. it hits its rate limit), then that
adds a delay to all the circuits that are still hoping to get traffic
through it. Or to turn it around once more: we want to minimize the
number of cases where relays are operating at capacity. Excess capacity
is necessary for good performance.

For a historical perspective, you might enjoy the "Why Tor is slow"
document and video:
(Some of the issues have been fixed since then, and some of them have


More information about the tor-talk mailing list