De ce variază sarcina releului

Tor gestionează lățimea de bandă în întreaga rețea. Face o treabă rezonabilă pentru majoritatea releelor. Dar obiectivele lui Tor sunt diferite de protocoalele precum BitTorrent. Tor vrea pagini web cu latență scăzută, care necesită conexiuni rapide cu spațiul de lucru. BitTorrent vrea descărcări în vrac, care necesită utilizarea tuturor lățimii de bandă.

Lucrăm la un scanner de lățime de bandă nouă, care este mai ușor de înțeles și de întreținut. Acesta va avea diagnostice pentru relee care nu se măsoară, și relee care au măsurători scăzute.

De ce are nevoie Tor de scanere de lățime de bandă?

Majoritatea furnizorilor vă spun viteza maximă a conexiunii locale. Dar Tor are utilizatori din întreaga lume, iar utilizatorii noștri se conectează la unul sau două relee de gardă la întâmplare. Deci, trebuie să știm cât de bine se poate conecta fiecare releu la întreaga lume.

So even if all relay operators set their advertised bandwidth to their local connection speed, we would still need bandwidth authorities to balance the load between different parts of the Internet.

Ce este o încărcare normală a releului?

Este normal ca majoritatea releelor să fie încărcate la 30%-80% din capacitatea lor. Acest lucru este bun pentru clienți: Un releu supraîncărcat are o latență ridicată. (Vrem suficiente relee pentru ca fiecare releu să fie încărcat la 10%. Atunci Tor ar fi aproape la fel de rapid ca internetul mai larg).

Uneori, un releu este lent, deoarece procesorul său este lent sau conexiunile sale sunt limitate. Alteori, este rețeaua care este lentă: Releul are o privire proastă la majoritatea celorlalte relee ale rotorului sau este la o distanță lungă.

Află ce limitează un releu

Multe lucruri pot încetini un releu. Iată cum să le urmăriți.

Limite de Sistem

  • Verificați utilizarea memoriei RAM, procesorul și descriptor socket/fișier pe releu

Tor înregistrează unele dintre acestea atunci când începe. Altele pot fi vizualizate folosind instrumente de top sau similare.

Limitele furnizorului

  • Verificați internetul peering (lățime de bandă, latență) de la furnizorul de releu la alte relee. Releele care tranzitează prin Comcast au fost lente uneori. Releele din afara Americii de Nord și a Europei de Vest sunt de obicei mai lente.

Limite de rețea Tor

Lățimea de bandă a releului poate fi limitată de lățimea de bandă observată a unui releu sau de lățimea de bandă măsurată a autorităților directorului. Iată cum puteți afla care măsurătoare vă limitează releul:

  • Verificați fiecare dintre voturile pentru releu pe consensus-health (pagină mare), și verificați mediana. Dacă releul nu este marcat de către unele autorități directoare:
    • Are adresa IPv4 sau IPv6 greșită?
    • Adresa IPv4 sau IPv6 nu este accesibilă din anumite rețele?
    • Există mai mult de 2 de relee pe adresa IPv4?

În caz contrar, verificați lățimea de bandă observată a releului și rata lățimii de bandă (limită). Căutați releul pe Metrics. Apoi mouse-ul peste antetul lățimii de bandă pentru a vedea lățimea de bandă observată și rata lățimii de bandă a releului.

Iată câteva detalii și câteva exemple: Scădere în greutate consens și viteza Rampup a releului de ieșire.

Cum să-l repari

Cea mai mică dintre aceste cifre limitează lățimea de bandă alocată releului.

  • Dacă este rata de lățime de bandă, crește BandwidthRate/Burst sau RelayBandwidthRate/Burst în torrc.
  • Dacă este lățimea de bandă observată, releul dumneavoastră nu va cere mai multă lățime de bandă până când se vede că devine mai rapid. Trebuie să-ți dai seama de ce este lent.
  • Dacă este lățimea de bandă medie măsurată, releul dumneavoastră arată lent de la majoritatea autorităților de lățime de bandă. Trebuie să știi de ce o măsoară încet.

Faceți propriile măsurători ale releului

Dacă releul dumneavoastră consideră că este lent sau autoritățile de lățime de bandă cred că este lentă, puteți testa singur lățimea de bandă:

  • Run a test using tor to see how fast tor can get on your network

    For this, you need to configure a tor client to use use your relay as entry. If your relay has only Guard flag, set EntryNodes with your relay fingerprint in torrc. If your relay doesn't have Guard flag or it has Guard and Exit flags, you can't set your relay as an entry node (see https://gitlab.torproject.org/tpo/core/tor/-/issues/22204), but you can set it as your bridge, even if it is not a bridge. To set your relay as a bridge, add to your torrc:

    Bridge <ip>:<port>
    UseBridge 1
    

    Then download a large file using your SocksPort as a socks proxy. For this, you can use curl, eg:

    curl https://target/path --proxy socks5h://<user>:<password>@127.0.0.1:<socks-port>
    

    Using different user/password guarantees different circuits. You can use $RANDOM.

    That will give you some idea of how much traffic your relay can sustain.

    Alternatively, you can run relay_bw to test your relay using 2 hops circuits, in a similar way as sbws does.

  • 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.