wiki:doc/MyRelayIsSlow

So You Want to Fix the Tor Network: Episode Four

- or -

My Relay is Slow, Please Fix It!

Why Relay Load Varies

It's normal for most relays to be loaded at 40%-80% of their capacity. This is good for clients: an overloaded relay has high latency.

Sometimes, a relay is slow because its processor is slow or its connections are limited. Other times, it is the network that is slow: the relay has bad peering to most other tor relays, or is a long distance away.

Finding Out what is Limiting a Relay

Lots of things can slow down a relay. Here's how to track them down.

System Limits

  1. Check RAM, CPU, and socket/file descriptor usage on your relay

Tor logs some of these when it starts. Others can be viewed using top or similar tools.

Provider Limits

  1. Check the internet peering (bandwidth, latency) from your relay's provider to other relays. Relays transiting via Comcast have been slow at times. Relays outside North America and Western Europe are usually slower.

Tor Network Limits

We need to be know which measurement is slow:

  1. Check each of the votes for your relay on consensus-health (large page), and check the median:

https://consensus-health.torproject.org/consensus-health.html

If your relay is not marked Running by some directory authorities:

  • does is have the wrong IPv4 or IPv6 address?
  • is its IPv4 or IPv6 addressunreachable from some networks?
  • are there more than 2 relays on its IPv4 address?

Otherwise:

  1. Check your relay's observed bandwidth and bandwidth rate (limit). Look up your relay on:

https://atlas.torproject.org/

then mouseover the bandwidth heading to see the observed bandwidth and relay bandwdith rate.

Here is some more detail and some examples:

https://lists.torproject.org/pipermail/tor-relays/2016-November/010913.html

https://lists.torproject.org/pipermail/tor-relays/2016-October/010784.html

How to Fix It

The smallest of these figures is limiting the bandwidth allocated to the relay.

If it's the bandwidth rate, increase the BandwidthRate/Burst or RelayBandwidthRate/Burst in your torrc.

If it's the observed bandwidth, your relay won't ask for more bandwidth until it sees itself getting faster. You need to work out why it is slow.

If it's the median measured bandwidth, your relay looks slow from a majority of bandwidth authorities. You need to work out why they measure it slow.

Doing Your Own Relay Measurements

If your relay thinks it is slow, or the bandwidth authorities think it is slow, you can test the bandwidth yourself.

  1. Run a test using tor to see how fast tor can get on your network/CPU:

https://lists.torproject.org/pipermail/tor-relays/2016-September/010173.html

  1. Run a test using tor and chutney to find out how fast tor can get on your CPU. Keep increasing the data volume until the bandwidth stops increasing:

https://gitweb.torproject.org/chutney.git/tree/README#n79

Next Steps

We are working on better measurements. More bandwidth authorities in more locations will help. See BandwidthAuthorityMeasurements for details.

Last modified 5 months ago Last modified on Nov 14, 2017, 9:01:51 PM