# Mengapa relay Tor Anda mungkin lambat dan cara meningkatkan kinerjanya

### Mengapa beban relay bervariasi

Tor mengelola bandwidth di seluruh jaringan. Tor melakukan pekerjaan yang masuk akal untuk sebagian besar relay. Tetapi tujuan Tor berbeda dengan protokol seperti BitTorrent. Tor menginginkan halaman web dengan latensi rendah, yang membutuhkan koneksi cepat dengan ruang kepala. BitTorrent menginginkan unduh massal, yang mengharuskan penggunaan semua bandwidth.

Kami sedang mengerjakan pemindai bandwidth baru, yang lebih mudah dipahami dan dipelihara. Alat ini akan memiliki diagnostik untuk relay yang tidak terukur, dan relay yang memiliki pengukuran rendah.

### Mengapa Tor membutuhkan pemindai bandwidth?

Sebagian besar penyedia layanan memberi tahu Anda kecepatan maksimum koneksi lokal Anda. Tetapi Tor memiliki pengguna di seluruh dunia, dan pengguna kami terhubung ke satu atau dua relay Guard secara acak. Jadi, kita perlu mengetahui seberapa baik setiap relay dapat terhubung ke seluruh dunia.

Jadi, meskipun semua operator relay mengatur bandwidth yang diiklankan sesuai dengan kecepatan koneksi lokal mereka, kita masih memerlukan otoritas bandwidth untuk menyeimbangkan beban di antara bagian Internet yang berbeda.

### Apa yang dimaksud dengan beban relay normal?

Adalah normal bagi sebagian besar relay untuk dimuat pada 30%-80% dari kapasitasnya. Hal ini bagus untuk klien: relay yang kelebihan beban memiliki latensi yang tinggi. (Kita ingin memiliki cukup banyak relay sehingga setiap relay dimuat pada 10%. Maka Tor akan hampir secepat Internet yang lebih luas).

Kadang-kadang, relay lambat karena prosesornya lambat atau koneksinya terbatas. Di lain waktu, jaringanlah yang lambat: relay memiliki peering yang buruk ke sebagian besar relay tor lainnya, atau jaraknya jauh.

### Menemukan Apa yang Membatasi Relay

Banyak hal yang dapat memperlambat relay. Berikut ini cara melacaknya.

#### Batasan Sistem

- Periksa penggunaan RAM, CPU, dan soket/deskriptor berkas pada relay Anda

Tor mencatat beberapa di antaranya saat dimulai. Yang lainnya bisa dilihat dengan menggunakan alat yang lebih tinggi atau serupa.

#### Batasan Penyedia

- Periksa koneksi peering Internet (bandwidth, latensi) dari penyedia relay Anda ke relay lainnya. Relay yang transit melalui Comcast terkadang lambat. Relay di luar Amerika Utara dan Eropa Barat biasanya lebih lambat.

#### Batasan Jaringan Tor

Bandwidth relay dapat dibatasi oleh bandwidth yang diamati oleh relay itu sendiri, atau oleh bandwidth terukur dari otoritas direktori. Berikut ini cara mengetahui pengukuran mana yang membatasi relay Anda:

- Periksa setiap suara untuk relay Anda di consensus-health (halaman besar), dan periksa mediannya. Jika relay Anda tidak ditandai Running oleh beberapa otoritas direktori:
- Apakah alamat IPv4 atau IPv6-nya salah?
- Apakah alamat IPv4 atau IPv6-nya tidak dapat diakses dari beberapa jaringan?
- Apakah ada lebih dari 2 relay pada alamat IPv4-nya?

Jika tidak, periksa bandwidth dan laju bandwidth (batas) relay Anda yang diamati. Cari relay Anda di Metrik. Kemudian arahkan mouse ke judul bandwidth untuk melihat bandwidth yang diamati dan laju bandwidth relay.

Berikut ini adalah beberapa detail lebih lanjut dan beberapa contoh: Penurunan bobot konsensus dan Kecepatan peningkatan relay Keluar.

#### Cara memperbaikinya

Angka terkecil dari angka-angka ini membatasi bandwidth yang dialokasikan ke relay.

- Jika yang dimaksud adalah laju bandwidth, tingkatkan nilai BandwidthRate/Burst atau RelayBandwidthRate/Burst dalam berkas torrc Anda.
- Jika yang dimaksud adalah bandwidth yang diamati, relay Anda tidak akan meminta bandwidth tambahan hingga melihat bahwa kecepatannya meningkat. Anda perlu mencari tahu mengapa hal itu lambat.
- Jika itu adalah bandwidth median yang diukur, relay Anda terlihat lambat dari sebagian besar otoritas bandwidth. Anda perlu mencari tahu mengapa mereka mengukurnya dengan lambat.

### Melakukan Pengukuran Relay Sendiri

Jika relay Anda merasa lambat, atau otoritas bandwidth merasa lambat, Anda dapat menguji bandwidth sendiri:

- Lakukan uji coba menggunakan Tor untuk melihat seberapa cepat Tor dapat beroperasi di jaringan Anda

Untuk ini, Anda perlu mengkonfigurasi klien tor untuk menggunakan relay Anda sebagai pintu masuk. Jika relay anda hanya memiliki flag `Guard`, setel `EntryNodes` dengan sidik jari relay anda di `torrc`. Jika relay Anda tidak memiliki tanda `Jaga` atau memiliki tanda `Jaga` dan `Keluar`, Anda tidak dapat mengatur relay Anda sebagai simpul masuk (lihat https://gitlab.torproject.org/tpo/core/tor/-/issues/22204), tetapi Anda dapat mengaturnya sebagai bridge, bahkan jika relay tersebut bukan bridge. Untuk mengatur relay Anda sebagai bridge, tambahkan ke `torrc`:

    Bridge <ip>:<port>
    UseBridge 1

Kemudian unduh berkas besar menggunakan `SocksPort` Anda sebagai proksi kaus kaki. Untuk ini, Anda dapat menggunakan `curl`, misalnya:

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

Menggunakan `user`/`password` yang berbeda akan menjamin sirkuit yang berbeda. Anda dapat menggunakan `$RANDOM`.

Ini akan memberi Anda gambaran tentang berapa banyak trafik yang dapat ditopang oleh relay Anda.

Sebagai alternatif, Anda dapat menjalankan relay_bw untuk menguji relay Anda menggunakan sirkuit 2 hop, dengan cara yang sama seperti yang dilakukan oleh sbws.

- Jalankan tes menggunakan Tor dan Chutney untuk mengetahui seberapa cepat Tor dapat berjalan di CPU Anda. Terus tingkatkan volume data hingga bandwidth berhenti bertambah.