# Чому ваш Tor-ретранслятор може бути повільним і як покращити його продуктивність

### Чому навантаження на реле змінюється

Tor керує пропускною спроможністю у всій мережі. Для більшості вузлів він працює добре. Але цілі Tor відрізняються від таких протоколів, як BitTorrent. Tor потребує вебсторінок з малою затримкою, що вимагає швидкого з'єднання з запасом. BitTorrent виконує масивні завантаження, що вимагає використання всієї пропускної здатності.

Ми працюємо над новим сканером пропускної здатності, який легший для розуміння та обслуговування. У ньому буде діагностика ретрансляторів, які не вимірюються, та ретрансляторів з низьким рівнем вимірювань.

### Чому Tor потрібні сканери пропускної здатності?

Більшість провайдерів повідомляють вам максимальну швидкість вашого локального з’єднання. Але Tor має користувачів по всьому світу, і наші користувачі підключаються до одного або двох вхідних ретрансляторів випадковим чином. Тому нам потрібно знати, наскільки добре кожен ретранслятор може з’єднатися з усім світом.

Таким чином, навіть якщо всі оператори ретрансляції встановлять рекламовану пропускну здатність відповідно до швидкості локального з’єднання, нам все одно знадобляться повноваження пропускної здатності, щоб збалансувати навантаження між різними частинами Інтернету.

### Що таке нормальне навантаження ретранслятора?

Для більшості ретрансляторів нормальним є навантаження на 30-80% їхньої потужності. Це добре для клієнтів: перевантажений ретранслятор має високу затримку. (Ми хочемо мати достатньо ретрансляторів, щоб кожен було завантажено на 10%. Тоді Tor буде майже таким самим швидким, як і звичайний інтернет).

Іноді ретранслятор працює повільно, тому що в нього повільний процесор або з'єднання обмежено. В інших випадках справа в повільній роботі мережі: ретранслятор має поганий зв'язок з більшістю інших ретрансляторів, або знаходиться на великій відстані від них.

### З'ясування причин обмеження ретранслятора

Багато речей можуть сповільнити вузол. Ось як їх відстежити.

#### Системні обмеження

- Перевірте використання оперативної пам’яті, процесора та дескриптора порту / файлу на вашому ретрансляторі

Tor реєструє деякі з них під час запуску. Інші можна переглянути за допомогою різноманітних інструментів.

#### Обмеження провайдера

- Перевірте Інтернет з'єднання (пропускну здатність, затримку) від провайдера вашого ретранслятора до інших ретрансляторів. Ретрансляція через Comcast іноді відбувається повільно. Ретранслятори за межами Північної Америки та Західної Європи зазвичай повільніші.

#### Обмеження мережі Tor

Пропускна здатність ретранслятора може бути обмежена власною спостережуваною пропускною здатністю або виміряною пропускною здатністю керівного сервера. Ось як дізнатися, що саме обмежує ваш ретранслятор:

- Перевірте кожен із відгуків про ваш вузол на consensus-health (довга сторінка) і перевірте середню вимірювану пропускну здатність. Якщо ваш ретранслятор не відмічено як Працює деяким керівними серверами:
- У нього неправильна адреса IPv4 або IPv6?
- Його адреса IPv4 або IPv6 недоступна з деяких мереж?
- Чи є понад 2 ретранслятори на його IPv4-адресі?

В іншому випадку перевірте спостережувану пропускну здатність вашого ретранслятора і швидкість (межу) пропускної здатності. Знайдіть своє реле на Metrics. Потім наведіть курсор миші на заголовок пропускної здатності, щоб побачити спостережувану пропускну здатність і швидкість пропускної здатності вузла.

Ось деякі додаткові відомості та кілька прикладів: Коли падає швидкість та Збільшення швидкості вихідного ретранслятора.

#### Як це виправити

Найменший з цих показників обмежує смугу пропускання, виділену ретранслятору.

- Якщо справа у пропускній здатності, збільште BandwidthRate/Burst або RelayBandwidthRate/Burst у вашому torrc.
- Якщо це спостережувана пропускна здатність, то ваш ретранслятор не вимагатиме більше пропускної здатності, поки бачить, що швидкість росте. Вам потрібно зрозуміти, чому він повільний.
- Якщо це середня вимірювана пропускна здатність, ваш ретранслятор виглядає повільно в порівнянні з більшістю керівних ретрансляторів стосовно пропускної здатності. Вам потрібно дізнатися, чому вони вважають його повільним.

### Виконуйте власні вимірювання характеристик ретранслятора

Якщо ваш ретранслятор вважає, що він повільний, або керівні ретранслятори пропускні здатності вважають, що він повільний, ви можете перевірити пропускну здатність самостійно:

- Виконайте тест за допомогою tor, щоб побачити, як швидко він може працювати у вашій мережі

Для цього вам потрібно налаштувати клієнт tor для використання вашого ретранслятора як входу. Якщо ваше реле має лише прапорець `Guard`, встановіть `EntryNodes` за допомогою вашого відбитка пальця реле в `torrc`. Якщо ваш ретранслятор не має прапора `Guard` або він має прапорці `Guard` і `Exit`, ви не можете встановити свій реле як вузол входу (див. https://gitlab.torproject.org/tpo/core/ tor/-/issues/22204), але ви можете встановити його як свій міст, навіть якщо він не є мостом. Щоб встановити реле як міст, додайте до свого `torrc`:

    Bridge <ip>:<port>
    UseBridge 1

Потім завантажте великий файл, використовуючи ваш `SocksPort` як проксі-сервер socks. Для цього ви можете використовувати `curl`, наприклад:

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

Використання різних `користувачів`/`паролів` гарантує різні схеми. Ви можете використовувати `$RANDOM`.

Це дасть вам певне уявлення про те, який трафік може підтримувати ваше реле.

Крім того, ви можете запустити relay_bw, щоб перевірити ваше реле за допомогою ланцюгів з двома стрибками, подібно до sbws робить.

- Виконайте тест за допомогою tor і чатні, щоб дізнатися, як швидко tor може завантажить ваш CPU. Продовжуйте збільшувати обсяг даних, поки пропускна здатність не перестане збільшуватися. Продовжуйте збільшувати обсяг даних, доки пропускна здатність не перестане збільшуватися.