[tor-relays] Getting max bandwidth out of a relay

Jeroen Massar jeroen at massar.ch
Thu Sep 12 09:52:16 UTC 2013


On 2013-09-12 11:06 , Andy Isaacson wrote:
> On Wed, Sep 11, 2013 at 05:13:04PM +0200, Jeroen Massar wrote:
>> Are boxes that are doing these speeds running at a CPU or a network cap?
>> Or maybe better asked, they do run at 100% usage of their cores or do
>> they just use two/three cores to the max?
> 
> There are three main sinks of CPU usage in a well-configured large Tor
> relay:
> 
> 1. doing AES and SHA.  This scales with the network bandwidth used.
> 2. doing Montgomery multiplication for circuit creation requests.
> 3. bookkeeping.
> 
> (4. kernel TCP overhead etc.)
[..]

Thanks that explains a lot!

> Your boxes, with 12 cores and 70 GB of RAM, are quite a bit overpowered
> for running 500 Mbps of Tor.  If you ran a Tor daemon per core, you'd be
> able to push around 2 Gbps of Tor traffic, easily.

Awesome, that is good to hear, as then it should be able to fill the
Gig-E pipe at least theoretically.

As I am trying to avoid using too many IPs (IPv4 is constrainted, IPv6
is not, but the latter won't get much traffic), I'll try if I can get my
tcp-balancer idea setup in the run of next week (low on spare cycles at
the moment) and then forcing each Tor instance to use a specific core.

At least, incoming should be easy that way; the question more becomes
what outgoing traffic will do, especially the bit that sends details to
the authorities, I'll see how that works though ;)

Greets,
 Jeroen



More information about the tor-relays mailing list