[tor-dev] How fast can Tor go [was: (no subject)]

Matt Traudt pastly at torproject.org
Thu Mar 15 11:11:10 UTC 2018

On 3/15/18 11:43, Sambuddho Chakravarty wrote:
> When not using Tor, the client achieve a download rate of approximately
> 8 Gbit/s while downloading a file of approximately 2 Gbytes. The same
> process, when repeated over Tor circuit (through relays of the private
> Tor network, that used virtual machines), p*rovides a maxmium download
> rate **of about 700 Mbit/s for the client (while the CPU utilization was
> over 80%).* This is much less compared to the expected throughput of
> 8Gbps achieved when client communicates directly
> to the server (without using Tor circuits).
> We tinkered around with the Tor config and discovered that when changed
> the config fields of BandwidthBurst and BandwidthRate to 100 MBytes, we
> achieved end-to-end throughput of about 100 Mbit/s (while the CPU
> Utilization was less than 20%) (while the underlying network link
> capacity is 1 Gbit/s). The moment 
> the   BandwidthBurst and BandwidthRate values are increased to 1 GB
> (which should effectively be 8 Gbit/s), the achieved throughput is about
> 650-700 Mbps (which is still 8 times slower than expected). 

So you have two data points when using Tor.

1. Limit Tor to 100 MBytes --> only get 100 Mbps
2. Limit Tor to 1 GByte --> only get 700 Mbps

(1) sounds like it could be a real bug.

Both are approximately 8x slow downs, but I think that is coincidental.
I would guess that if you limited Tor to 7 Gbits, 5 Gbits, etc. you
would continue to see 700 Mbps. It would be interesting to see the
result of this.

As I hypothesized to either you or your student on IRC, I believe your
Tor relays as limited by CPU capacity (and its inability to use many
cores effectively); therefore, as Tor currently exists, is unable to
achieve a throughput of higher than 700 Mbps. Tor does a lot of crypto.
Perhaps it is way less efficient at doing its crypto than the TLS
library you were using for HTTPS downloads is at doing its crypto.

As another piece of evidence supporting my "700 Mbps is the max Tor can
do" theory, see the list of the fastest Tor relays[0] in the real
network. IPredator has likely done some heavy kernel tweaking, but the
remaining relays are all rather close to 700 Mbps.

Thank you for your interest in Tor.


[0]: https://metrics.torproject.org/rs.html#toprelays

More information about the tor-dev mailing list