Hibernate vs 10 Mbps throttle when bandwidth cap exceeded
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Hello. Many server providers have a monthly bandwidth limit. It's easy enough to deal with that by using the AccountingMax option so that Tor will hibernate when it reaches the bandwidth cap to avoid service suspension. I run a relay on a provider that, rather than suspending the service, simply throttles the bandwidth to 10 Mbps until the next month when the 8 TB/month traffic cap is reset. I run through that traffic in just half a month, so the relay is only operational 50% of the time. But 10 Mbps is not nothing. What should I do here? I can think of a few options: 1. Set AccountingMax and let the relay hibernate like normal, ensuring that, whenever it is on, it can achieve maximum performance. The "free" 10 Mbps bandwidth can then be used for other things, such as I2P which does not have a ramp-up period. 2. Keep the relay running, relaying up to 1.5 TB/month extra for free, but with the caveat that the relay suddenly becomes overloaded each time it reaches the 8 TB mark until the consensus weight falls. 3. Shortly before the bandwidth cap is exceeded, automatically adjust the torrc to include "MaxAdvertisedBandwidth 10 Mbits", and remove it when the bandwidth cap resets. What is a reasonable thing to do here? Regards, forest -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQQtr8ZXhq/o01Qf/pow+TRLM+X4xgUCaY/3wQAKCRAw+TRLM+X4 xtgQAQC2HWAGe7tcmuOGu2v/473IQC9lWHL03lUUpuJPSpGZpwD+LItXaqzV4vPy phr/rC4LNDZ1AY8m2ZuTzd4MwsVpsgI= =c+pq -----END PGP SIGNATURE-----
I don't think I'm qualified to answer whether it's better to have more monthly traffic or more consistent speed, but my gut says the network probably likes it better to have consistent speed. If you want to minimize the time your relay hibernates, there are 2 other options you can set documented at https://support.torproject.org/relays/performance/bandwidth-shaping/ I will note that I'm not sure how effective the RelayBandwidthRate and RelayBandwidthBurst settings are. I have a relay that is limited to 10 TB of bandwidth and I have RelayBandwidthRate set to "3.5 MBytes" with RelayBandwidthBurst set to "4.5 MBytes". Over the last 6 months, here's how much data was transferred according to vnstat: * 2025-08 - 2.48 TB * 2025-09 - 2.65 TB * 2025-10 - 3.05 TB * 2025-11 - 2.33 TB * 2025-12 - 2.21 TB * 2026-01 - 1.74 TB I'll probably experiment with unsetting these values and just setting AccountingMax. On Friday, February 13th, 2026 at 10:19 PM, forest-relay-contact--- via tor-relays <tor-relays@lists.torproject.org> wrote:
Hello.
Many server providers have a monthly bandwidth limit. It's easy enough to deal with that by using the AccountingMax option so that Tor will hibernate when it reaches the bandwidth cap to avoid service suspension.
I run a relay on a provider that, rather than suspending the service, simply throttles the bandwidth to 10 Mbps until the next month when the 8 TB/month traffic cap is reset. I run through that traffic in just half a month, so the relay is only operational 50% of the time. But 10 Mbps is not nothing. What should I do here? I can think of a few options:
1. Set AccountingMax and let the relay hibernate like normal, ensuring that, whenever it is on, it can achieve maximum performance. The "free" 10 Mbps bandwidth can then be used for other things, such as I2P which does not have a ramp-up period.
2. Keep the relay running, relaying up to 1.5 TB/month extra for free, but with the caveat that the relay suddenly becomes overloaded each time it reaches the 8 TB mark until the consensus weight falls.
3. Shortly before the bandwidth cap is exceeded, automatically adjust the torrc to include "MaxAdvertisedBandwidth 10 Mbits", and remove it when the bandwidth cap resets.
What is a reasonable thing to do here?
Regards, forest
On Sun, Mar 01, 2026 at 01:06:57AM +0000, Dan via tor-relays wrote:
I will note that I'm not sure how effective the RelayBandwidthRate and RelayBandwidthBurst settings are. I have a relay that is limited to 10 TB of bandwidth and I have RelayBandwidthRate set to "3.5 MBytes" with RelayBandwidthBurst set to "4.5 MBytes". Over the last 6 months, here's how much data was transferred according to vnstat:
[...much less than 10TBytes/month]
I'll probably experiment with unsetting these values and just setting AccountingMax.
3.5 mbytes/s averages out to around 9 terabytes per month, meaning even if you max out that bandwidth rate at every moment of every day, you still won't reach your 10 terabytes. Before you try the experiment of just unsetting the Rate and Burst, here are two experiments to try first: * Leave RelayBandwidthRate set to 3.5Mbytes but set RelayBandwidthBurst to something huge like 1Gbyte. This way you will still be held to a *long-term* average of 3.5MBytes/s but if there are any seconds where you don't reach that average, you'll get to use most of those extra bytes later. * Set RelayBandwidthRate to twice its current value, i.e. 7Mbytes/s, and also set RelayBandwidthBurst to something huge. This way you will provide service for at least half the month, and maybe all of it depending on how consistently your relay chews through its bytes. And yes in both of these experiments you should set your AccountingMax also, so your Tor knows to go to sleep for the rest of the month if it does hit its limit. --Roger
On Sat, Feb 14, 2026 at 04:19:09AM -0000, forest-relay-contact--- via tor-relays wrote:
I run a relay on a provider that, rather than suspending the service, simply throttles the bandwidth to 10 Mbps until the next month when the 8 TB/month traffic cap is reset. I run through that traffic in just half a month, so the relay is only operational 50% of the time. But 10 Mbps is not nothing. What should I do here? I can think of a few options:
1. Set AccountingMax and let the relay hibernate like normal, ensuring that, whenever it is on, it can achieve maximum performance. The "free" 10 Mbps bandwidth can then be used for other things, such as I2P which does not have a ramp-up period.
2. Keep the relay running, relaying up to 1.5 TB/month extra for free, but with the caveat that the relay suddenly becomes overloaded each time it reaches the 8 TB mark until the consensus weight falls.
3. Shortly before the bandwidth cap is exceeded, automatically adjust the torrc to include "MaxAdvertisedBandwidth 10 Mbits", and remove it when the bandwidth cap resets.
I would avoid picking (2) or (3), since it will just confuse the bandwidth authority (bwauth) measurements and lead to overloading / underloading the relay, and these bottlenecks could ultimately lead to harming user experience. So you could do option (1). But another option to consider, which would better fit our current bwauth model, would be to run a "little" relay on the same network (e.g. the same computer but doesn't have to be), which offers 10mbit/s all the time, and it can keep on chugging once your big relay hibernates. Whether this is actually a good idea depends on the actual numbers -- how much you can be offering before the 10mbit throttling comes in, etc. --Roger
participants (3)
-
Dan -
forest-relay-contact@cryptolab.net -
Roger Dingledine