[tor-relays] Worse throughput with 0.4.8.x, on a slow CPU

Micah Elizabeth Scott beth at torproject.org
Mon Dec 18 21:52:11 UTC 2023


On 12/13/23 06:15, Roman Mamedov wrote:
> Hello,
>
> Ater upgrading from Tor 0.4.7.13 to 0.4.8.9, I get a much worse bandwidth
> numbers.

Hello!

I'm not aware of any changes in that interval that should affect relays. 
Conflux and proof of work both arrived in that time period, but neither 
of these features affect relays.

If you can indeed generate this change in throughput reproducibly by 
switching versions, it would be useful to know more. Do you have access 
to a sampling profiler like linux-perf "perf top"? If you could compare 
both the bandwidth and the location of top CPU usage across both 
versions, that would be ideal.

It's possible that there's a bottleneck in system calls or cache 
footprint that is especially noticeable on a CPU like the Atom. That's 
the kind of question that may be answerable by comparing CPU counters 
between the two runs.

We haven't done this type of profiling on C-tor recently and we are 
still early in defining the specific performance characteristics that we 
expect from Arti. If you can help us identify the actual bottlenecks 
your relay is hitting that may prove instructive for any future design 
choices we make in Arti!

That said, it may be better for the network to also encourage everyone 
to run their relays below 100% CPU load. Relays with lower load are 
going to be lower latency, and raw bandwidth numbers aren't necessarily 
what users will find the most beneficial.

Thanks for running a relay, and for any additional performance data you 
can gather from your system.

--beth

> The CPU is Atom C2338 with two cores at 1.75 Ghz. Multiple Tor instances are
> running to take advantage of both cores.
>
> On the older version it gets about 80+80 Mbit total in+out. On the new one the
> average is at most 45+45 Mbit. There are frequent periods where the bandwidth
> drops to 5-10 Mbit for 3-5 seconds, while all Tor processes continue to use
> 100% of both CPUs, then gradually climbs back up.
>
> Does anyone notice anything similar?
>
> Here's how it looks for a few days on 0.4.8 then a roll-back:
>
> ------------------------+-------------+-------------+---------------
>      today    461.94 GiB |  470.84 GiB |  932.78 GiB |  153.98 Mbit/s ########################################
>   12/12/23    462.81 GiB |  475.67 GiB |  938.48 GiB |   91.12 Mbit/s #######################
>   12/11/23    434.72 GiB |  443.08 GiB |  877.80 GiB |   85.23 Mbit/s ######################
>   12/10/23    446.13 GiB |  459.56 GiB |  905.70 GiB |   87.93 Mbit/s #######################
>   12/09/23    464.79 GiB |  473.17 GiB |  937.96 GiB |   91.07 Mbit/s #######################
>   12/08/23    454.67 GiB |  463.48 GiB |  918.16 GiB |   89.14 Mbit/s #######################
>   12/07/23    463.82 GiB |  472.84 GiB |  936.65 GiB |   90.94 Mbit/s #######################
>   12/06/23    670.01 GiB |  680.55 GiB |    1.32 TiB |  131.13 Mbit/s ##################################
>   12/05/23    808.50 GiB |  817.32 GiB |    1.59 TiB |  157.85 Mbit/s #########################################
>   12/04/23    854.09 GiB |  866.43 GiB |    1.68 TiB |  167.05 Mbit/s ###########################################
>   12/03/23    782.20 GiB |  799.00 GiB |    1.54 TiB |  153.52 Mbit/s ########################################
>   12/02/23    805.18 GiB |  817.91 GiB |    1.59 TiB |  157.59 Mbit/s #########################################
>   12/01/23    733.80 GiB |  745.35 GiB |    1.44 TiB |  143.61 Mbit/s #####################################
>   11/30/23    742.48 GiB |  756.56 GiB |    1.46 TiB |  145.54 Mbit/s #####################################
>   11/29/23    657.90 GiB |  673.66 GiB |    1.30 TiB |  129.28 Mbit/s #################################
>
> In general, are there any tweaks to reduce relay CPU usage on a slow processor?
> I did seemingly most of what is possible, ethtool, iptables, sysctl, etc.
>
> How long before the Rust-based Tor will be ready for use on relays?
>


More information about the tor-relays mailing list