Great - very helpful.
Your email said 8 physical cores but your blog link said 4 physical cores. Did you measure both?
I'll share my experience from Fall of 2022, which also had significant potential "DoS" type traffic patterns as using some common iptable rule shared here significant reduced traffic/load.
I'm going to run some more experiments over the next few months on 10 Gbe connections with different CPU core/RAM configurations to see what things look like now and will share back.
CPU: Dual Xeon E5-2670v2 (40 cores @ 2.5 Ghz) CPU Usage: 75 load average over 15 min from htop RAM Capacity: 64GB + 64GB Swap RAM Usage: 55G + 14G Swap (previously maxed out 64G and needed swap added) Tor Relays: 30, 2 per IPv4 IPv4 Addresses: 15 Time: 45 days, 9/15/2022 - 10/30/2022 Traffic: 2 PB total. Max In: 2.15 gbps, Max Out: 2.15 gbps Per Day: 40TB, (0.04 PB) = 2 PB / 45 days Tor Relay to Core ratio: 40/30, 1.3x. RAM to Tor Relay Ratio: 64/30, 2x.
From the load average and the RAM usage - two potential conclusions: 1) CPU: 1 physical core per tor instance or 2 threads per tor instance? 2) RAM: 2GB RAM per tor instance?
Core conclusion might be similar? RAM conclusion seems 4x more?
Linear extrapolation to 256 IPs means, at a minimum, 256 physical cores and 512GB RAM?
Sent with Proton Mail secure email.
On Tuesday, February 4th, 2025 at 2:27 AM, bic via tor-relays tor-relays@lists.torproject.org wrote:
we wrote down some notes on our experiece: https://osservatorionessuno.org/blog/2025/02/how-to-configure-multiple-tor-r...
On 2/4/25 9:41 AM, bic wrote:
hello
I have a configuration quite similar1 to yours and previously posted a similar question on the list. I try to summarize the response that I received
- The big bottleneck is clock per core, for this is quite hard to
predict bandwidth per core consumption. In the range 1GHz-4GHz you can have from 6 to 40MBs 2. Run a separate tor instance for every physical core that you have 3. Allocation ~500MB of memory for every instance, this is quite empirical for my experience 5. Try to use a different ip for every instance, this is not mandatory but if you share multiple relay on the same ip is easier to block them in bulk 6. Make sure to configure the SrcIp of every relay to match their public ip
My personal suggestion is to make experiments and share on the list/ forum the result also with some information on the hardware. But to put down some numbers:
Imagine to have a good 3GHz cpu with good cache and AES support for crypto operation and 8 phisical core:
(n core) * (measured bandwidth) 8 * 30Mb * 8 (bits) = ~2Gbit
Later in this days I plan to publish a blog post on running this configuration, home that will be useful for you.
basement-and-other-tales/
On 2/3/25 5:00 PM, usetor.wtf via tor-relays wrote:
Hi All,
Looking for guidance around running high performance Tor relays on Ubuntu.
Few questions:
- If a full IPv4 /24 Class C was available to host Tor relays, what
are some optimal ways to allocate bandwidth, CPU cores and RAM to maximize utilization of the IPv4 /24 for Tor?
- If a full 10 Gbps connection was available for Tor relays, how many
CPU cores, RAM and IPv4 addresses would be required to saturate the 10 Gbps connection?
- Same for a 20 Gbps connection, how many CPU cores, RAM and IPv4
addresses are required to saturate?
Thanks!
Sent with Proton Mail https://proton.me/mail/home secure email.
tor-relays mailing list -- tor-relays@lists.torproject.org To unsubscribe send an email to tor-relays-leave@lists.torproject.org
tor-relays mailing list -- tor-relays@lists.torproject.org To unsubscribe send an email to tor-relays-leave@lists.torproject.org