Hello all,
we are administrating 2 Tor Exits for privacyfoundation.ch [1].
In the last month we realized that the traffic which is going through our servers / throughput is by far less than the machines and the providers network can handle. We were internally and recently with Moritz from torservers.net looking at this problem but could not find a way to improve throughput. Even on the same machine the throughput between servers varies a lot with out any visible reason.
I hope you can help.
Our setup is two servers with a maximum of 4 tor processes (exit) each. Looking at CPU, Disk, RAM and so on the machines are not busy at all.
Konsole output top - 09:57:49 up 16 days, 11:57, 1 user, load average: 1.14, 0.91, 0.81 Tasks:244 total, 3 running,241 sleeping, 0 stopped, 0 zombie %Cpu0 :12.5 us, 3.4 sy, 0.0 ni,79.7 id, 0.0 wa, 0.0 hi, 4.4 si, 0.0 st %Cpu1 :15.9 us, 5.4 sy, 0.0 ni,74.3 id, 0.3 wa, 0.0 hi, 4.1 si, 0.0 st %Cpu2 :14.3 us, 2.7 sy, 0.0 ni,77.0 id, 0.0 wa, 0.0 hi, 6.0 si, 0.0 st %Cpu3 : 9.5 us, 3.4 sy, 0.0 ni,80.3 id, 0.0 wa, 0.0 hi, 6.8 si, 0.0 st KiB Mem: 3877624 total, 2739880 used, 1137744 free, 1288 buffers KiB Swap: 4026364 total, 364264 used, 3662100 free. 10752 cached Mem
Looking at the network connection it is without any problem possible to start big downloads without reducing TOR throughput. The servers are connected with 1 Gbit/s each.
The big question now is: Why do the machines do not have more throughput ? Is the reason for this the way the distribution through the Tor network works. Moritz hinted it might have to do with the way the tor "bandwidth scanners" measure the ability of a server to handle traffic.
Can you explain me / point me to documentation where this process is described and how this can be optimized. What are the criteria for tor exit node server traffic distribution ? How do the clients choose the exit ?
I would be very happy if you could provide some answers / documentation which will set me on the right track.
Thanks very much for you help.
Dirk