<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 14 Dec 2015, at 07:18, Dirk Eschbach <<a href="mailto:tor-relay.dirk@o.banes.ch" class="">tor-relay.dirk@o.banes.ch</a>> wrote:</div></blockquote>...<br class=""><blockquote type="cite" class=""><div class=""><div class="">The big question now is:<br class="">Why do the machines do not have more throughput ?<br class="">Is the reason for this the way the distribution through the Tor network<br class="">works.<br class="">Moritz hinted it might have to do with the way the tor "bandwidth<br class="">scanners" measure the ability of a server to handle traffic.<br class=""></div></div></blockquote><div><br class=""></div><div>No, this is not the issue, your relay's own self-measured throughput is the issue. See below.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="">Can you explain me / point me to documentation where this process is<br class="">described and how this can be optimized.<br class="">What are the criteria for tor exit node server traffic distribution ?<br class=""></div></div></blockquote><div><br class=""></div><div>By consensus weight, which is determined by the bandwidth authorities.</div><div><a href="https://blog.torproject.org/blog/lifecycle-of-a-new-relay" class="">https://blog.torproject.org/blog/lifecycle-of-a-new-relay</a></div><div><a href="https://stem.torproject.org/tutorials/examples/votes_by_bandwidth_authorities.html" class="">https://stem.torproject.org/tutorials/examples/votes_by_bandwidth_authorities.html</a></div><div><br class=""></div><div><div><blockquote type="cite" class="">How do the clients choose the exit ?<br class=""></blockquote><div><br class=""></div><div>From those servers they believe exit to the address and port they want, randomly, weighted by the server's consensus weight.</div></div></div><div></div><div><br class=""></div><div>The details of bandwidth weight selection are in section 3.4.2 of the Directory Specification:</div><div><a href="https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt" class="">https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt</a></div><div><br class=""></div><div>"The bandwidth in a "w" line should be taken as the best estimate</div><div class="">   of the router's actual capacity that the authority has.  For now,</div><div class="">   this should be the lesser of the observed bandwidth and bandwidth</div><div class="">   rate limit from the server descriptor.  It is given in kilobytes</div><div class="">   per second, and capped at some arbitrary value (currently 10 MB/s).</div><div class=""><br class=""></div><div class="">   The Measured= keyword on a "w" line vote is currently computed</div><div class="">   by multiplying the previous published consensus bandwidth by the</div><div class="">   ratio of the measured average node stream capacity to the network</div><div class="">   average. If 3 or more authorities provide a Measured= keyword for</div><div class="">   a router, the authorities produce a consensus containing a "w"</div><div>   Bandwidth= keyword equal to the median of the Measured= votes."</div><div><br class=""></div><div>When I look at the bandwidth authority votes for DigiGesTor1e1, they say:</div><div>w Bandwidth=9586 Measured=24200</div><div>w Bandwidth=9586 Measured=15900</div><div>w Bandwidth=9586 Measured=43500</div><div>w Bandwidth=9586 Measured=19700</div><div>w Bandwidth=9586 Measured=19200</div><div><br class=""></div><div>Those votes are in these large files:</div><div><a href="http://171.25.193.9:443/tor/status-vote/current/authority" class="">http://171.25.193.9:443/tor/status-vote/current/authority</a></div><div><a href="http://199.254.238.53/tor/status-vote/current/authority" class="">http://199.254.238.53/tor/status-vote/current/authority</a></div><div><a href="http://131.188.40.189/tor/status-vote/current/authority" class="">http://131.188.40.189/tor/status-vote/current/authority</a></div><div><a href="http://128.31.0.34:9131/tor/status-vote/current/authority" class="">http://128.31.0.34:9131/tor/status-vote/current/authority</a></div><div><a href="http://154.35.175.225/tor/status-vote/current/authority" class="">http://154.35.175.225/tor/status-vote/current/authority</a></div><div><br class=""></div><div class="">So the bandwidth authorities have having no trouble measuring your relay, they think it should be 2x - 4x as fast.</div><div>Your relay itself has't observed itself sustaining that performance over a 10-second interval, so it won't allow the directory authorities to assign it more bandwidth.</div><div><br class=""></div><div>Section 2.1.1 of the Directory Specification:</div><div><br class=""></div><div>""bandwidth" bandwidth-avg bandwidth-burst bandwidth-observed NL</div><div class=""><br class=""></div><div class="">       [Exactly once]</div><div class=""><br class=""></div><div class="">       Estimated bandwidth for this router, in bytes per second.  The</div><div class="">       "average" bandwidth is the volume per second that the OR is willing to</div><div class="">       sustain over long periods; the "burst" bandwidth is the volume that</div><div class="">       the OR is willing to sustain in very short intervals.  The "observed"</div><div class="">       value is an estimate of the capacity this relay can handle.  The</div><div class="">       relay remembers the max bandwidth sustained output over any ten</div><div class="">       second period in the past day, and another sustained input.  The</div><div>       "observed" value is the lesser of these two numbers."</div><div><br class=""></div><div>Please improve the throughput your relay can sustain over a 10-second period.</div><div>Try some performance tuning steps, testing your relay with Tor client after each one.</div><div>(See below.)</div><div><br class=""></div><div>Have you set a limit on MaxAdvertisedBandwidth in the torrc files?</div><div><br class=""></div><div><div><blockquote type="cite" class="">Konsole output<br class="">top - 09:57:49 up 16 days, 11:57,  1 user,  load average: 1.14, 0.91, 0.81<br class="">Tasks:244 total,  3 running,241 sleeping,  0 stopped,  0 zombie<br class="">%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<br class="">%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<br class="">%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<br class="">%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<br class="">KiB Mem:   3877624 total, 2739880 used, 1137744 free,    1288 buffers<br class="">KiB Swap: 4026364 total,  364264 used, 3662100 free.   10752 cached Mem<br class=""><br class="">Looking at the network connection it is without any problem possible to<br class="">start big downloads without reducing TOR throughput.<br class=""></blockquote><div><br class=""></div><div>Have you tried doing a large download through your exit via a Tor client and seeing how fast that is?</div><div>ExitNodes <fingerprint od your exit></div><div>StrictNodes 1</div><br class=""><blockquote type="cite" class="">The servers are connected with 1 Gbit/s each.<br class=""></blockquote><div><br class=""></div><div>It looks like your Tor processes are neither CPU nor network-bound.</div><div><br class=""></div><div>Does your network connection drop packets or have large latency?</div><div><br class=""></div><div>How many file descriptors are the tor processes allowed to open?</div><div>How many connections does each tor process have open at once?</div><div>(There should be thousands per process on a busy relay.)</div><div><br class=""></div><div><a href="https://gitweb.torproject.org/tor.git/tree/doc/TUNING" class="">https://gitweb.torproject.org/tor.git/tree/doc/TUNING</a></div><div><br class=""></div><div>Are there any performance-related messages in the Tor logs?</div><div><br class=""></div><div>Is your hardware / kernel / firewall / etc. capable of handling many connections?</div><div><br class=""></div><div>Does your provider rate-limit any kinds of traffic?</div><div>Does your provider limit the number of open connections?</div><div><br class=""></div><div>Is your DNS resolver keeping up with the requests?</div><div>Do you have a local caching DNS resolver on each machine?</div><div><br class=""></div></div></div></div><div class="">Tim</div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Tim Wilson-Brown (teor)</div><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""></div><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">teor2345 at gmail dot com<br class="">PGP 968F094B<br class=""><br class="">teor at blah dot im<br class="">OTR CAD08081 9755866D 89E2A06F E3558B7F B5A9D14F</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
<br class=""></body></html>