Hi!
I have a gigabit connection and I am trying to utilize it as much as possible as a Tor relay. When I try various speed tests I get on the machine speeds close to gigabit, but when running Tor, I do not achieve anything close to it. I even started two Tor nodes on the same machine/connection, see here:
https://metrics.torproject.org/rs.html#details/567E9785458C605E59202755C7489... https://metrics.torproject.org/rs.html#details/4CF9BAEB0DE6D7230D6B7DA0FF420...
The utilization of the machine is pretty low, top returns:
top - 20:27:33 up 4 days, 23:01, 1 user, load average: 0.32, 0.28, 0.23 Tasks: 167 total, 1 running, 97 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.6 us, 0.6 sy, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.5 si, 0.0 st KiB Mem : 3772912 total, 931336 free, 1574676 used, 1266900 buff/cache KiB Swap: 3900412 total, 3900412 free, 0 used. 1915568 avail Mem
In configuration I have:
RelayBandwidthRate 125 MB RelayBandwidthBurst 125 MB
Interesting is that it seems each Tor daemon on same machine runs always around 5 MiB/s, when I started the second one, it just added to it with another 5 MiB/s. So it is somewhere else where is the bottleneck?
What could I do to improve things here? To me it looks like more throughput should be possible?
Mitar
On 10/30/19 16:30, Mitar wrote:
Hi!
I have a gigabit connection and I am trying to utilize it as much as possible as a Tor relay. When I try various speed tests I get on the machine speeds close to gigabit, but when running Tor, I do not achieve anything close to it. I even started two Tor nodes on the same machine/connection, see here:
https://metrics.torproject.org/rs.html#details/567E9785458C605E59202755C7489... https://metrics.torproject.org/rs.html#details/4CF9BAEB0DE6D7230D6B7DA0FF420...
The utilization of the machine is pretty low, top returns:
top - 20:27:33 up 4 days, 23:01, 1 user, load average: 0.32, 0.28, 0.23 Tasks: 167 total, 1 running, 97 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.6 us, 0.6 sy, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.5 si, 0.0 st KiB Mem : 3772912 total, 931336 free, 1574676 used, 1266900 buff/cache KiB Swap: 3900412 total, 3900412 free, 0 used. 1915568 avail Mem
In configuration I have:
RelayBandwidthRate 125 MB RelayBandwidthBurst 125 MB
Interesting is that it seems each Tor daemon on same machine runs always around 5 MiB/s, when I started the second one, it just added to it with another 5 MiB/s. So it is somewhere else where is the bottleneck?
What could I do to improve things here? To me it looks like more throughput should be possible?
Mitar
You've done everything correctly. Well ... setting RBR and RBB was probably unnecessary, but it's fine. The problem isn't on your end, if there's even a problem.
- In an ideal world you won't get more load than your fair share. Consider a hypothetically large Tor network with loads of high-capacity relays. Every relay may be capable of 1 Gbps but only see 10 Mbps, yet there is absolutely no problem.
- That's not to say the current network is anything like this. It's true exits are the bottleneck right now, but maybe you should expect more traffic as a non-exit.
- Relays get measured by bandwidth authorities and then load is balanced across the network based on their measurements. The whole bandwidth measuring system is a complex mess that produces confusing and unsatisfying results. Maybe you've gotten unlucky here.
- It's not ideal to be going full tilt all the time. You want to have some headroom for bursts without causing congestion. Obviously you aren't even close to that yet.
Thanks for running Tor relays. Sorry I don't have satisfying answers. Please stick with it and avoid worrying too much about the specific numbers :)
Hi!
On Thu, Oct 31, 2019 at 6:21 AM Matt Traudt pastly@torproject.org wrote:
- In an ideal world you won't get more load than your fair share.
Consider a hypothetically large Tor network with loads of high-capacity relays. Every relay may be capable of 1 Gbps but only see 10 Mbps, yet there is absolutely no problem.
Thank you. Yes, I understand that if there is more capacity then the load will be not fully saturate the available capacity. So it might be simply that there are so much relays but not enough exits.
Then my question is different: how could I test and assure that my nodes are able to utilize full gigabit if such demand would be required? So that I can assure that they are ready and available? And that there is not some other bottleneck somewhere on nodes themselves?
Mitar
Hi,
On 1 Nov 2019, at 02:44, Mitar mmitar@gmail.com wrote:
On Thu, Oct 31, 2019 at 6:21 AM Matt Traudt pastly@torproject.org wrote:
- In an ideal world you won't get more load than your fair share.
Consider a hypothetically large Tor network with loads of high-capacity relays. Every relay may be capable of 1 Gbps but only see 10 Mbps, yet there is absolutely no problem.
Thank you. Yes, I understand that if there is more capacity then the load will be not fully saturate the available capacity. So it might be simply that there are so much relays but not enough exits.
Then my question is different: how could I test and assure that my nodes are able to utilize full gigabit if such demand would be required? So that I can assure that they are ready and available? And that there is not some other bottleneck somewhere on nodes themselves?
Most tor instances are limited to 200-400 Mbps, because tor is only partly multithreaded. So you may need to run 3-4 instances to max out a gigabit.
You can run chutney in bandwidth testing mode, to get an idea of the CPU and RAM limits on your relay: https://gitweb.torproject.org/chutney.git/tree/README#n98
You might need to adjust CHUTNEY_DATA_BYTES depending on the speed of your machine. The speed may also be limited by chutney's ability to send traffic.
If you want to test network speed, you can configure a tor client with: EntryNodes <your relay fingerprint> And then download a few very large files at the same time.
T
Just to second Matt's answer - I am running a relay in Moldova that's clocked at an average of 26 Mbit/s this month. In June it had a peak month of 35 Mbit/s. Your relay throughput looks very normal to me.
--Torix
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, October 30, 2019 4:30 PM, Mitar mmitar@gmail.com wrote:
Hi!
I have a gigabit connection and I am trying to utilize it as much as possible as a Tor relay. When I try various speed tests I get on the machine speeds close to gigabit, but when running Tor, I do not achieve anything close to it. I even started two Tor nodes on the same machine/connection, see here:
https://metrics.torproject.org/rs.html#details/567E9785458C605E59202755C7489... https://metrics.torproject.org/rs.html#details/4CF9BAEB0DE6D7230D6B7DA0FF420...
The utilization of the machine is pretty low, top returns:
top - 20:27:33 up 4 days, 23:01, 1 user, load average: 0.32, 0.28, 0.23 Tasks: 167 total, 1 running, 97 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.6 us, 0.6 sy, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.5 si, 0.0 st KiB Mem : 3772912 total, 931336 free, 1574676 used, 1266900 buff/cache KiB Swap: 3900412 total, 3900412 free, 0 used. 1915568 avail Mem
In configuration I have:
RelayBandwidthRate 125 MB RelayBandwidthBurst 125 MB
Interesting is that it seems each Tor daemon on same machine runs always around 5 MiB/s, when I started the second one, it just added to it with another 5 MiB/s. So it is somewhere else where is the bottleneck?
What could I do to improve things here? To me it looks like more throughput should be possible?
Mitar
http://mitar.tnode.com/ https://twitter.com/mitar_m
tor-relays mailing list tor-relays@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays
tor-relays@lists.torproject.org