[tor-bugs] #2536 [Tor Relay]: Disable outgoing token bucket and reduce token bucket refill interval

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Thu May 12 02:24:46 UTC 2011


#2536: Disable outgoing token bucket and reduce token bucket refill interval
-------------------------+--------------------------------------------------
 Reporter:  karsten      |          Owner:  karsten           
     Type:  enhancement  |         Status:  assigned          
 Priority:  normal       |      Milestone:  Tor: 0.2.3.x-final
Component:  Tor Relay    |        Version:                    
 Keywords:               |         Parent:                    
   Points:               |   Actualpoints:                    
-------------------------+--------------------------------------------------

Comment(by nickm):

 This sounds promising!  I think an approach like this could totally work.
 Let's get it written up in a proposal form, and get some code written.
 Since I have been so remiss in reviewing this promptly, I'll take on
 writing the first draft of the proposal unless somebody else wants to do
 it first.  I think I could get it done early next week.  (If somebody else
 wants to take a shot at it instead then I would be grateful, but at this
 point I really ought to do something to make up for my tardiness.)

 I wonder if we can improve this algorithm in cases where we know that a
 given read will generate no bytes written (as is the case for when we read
 directory information), or when we find out early that we're going to have
 an imbalance (as when we pack or unpack a partial cell).

 Another wrinkle that we need to address is that not all connections are
 rate-limited: by default, for example, the read and write limits do not
 apply to connections from localhost.  I think the answer there is to make
 sure that even if a connection isn't counted towards the read or write
 bucket, its reads have the proper effect on the write bucket and its
 writes the appropriate effect on the read bucket.

 We should also keep an eye out for ways to instrument the logic here so
 that we can find out how much this is helping us.

 Finally, because of our transition to libevent during 2.3.x, we need to
 find a way to implement this both using bufferevent rate limiting and
 using Tor's rate limiting code.  Big fun there.

 Karsten, did your branch manage to separate the finer-grained-ticks part
 from the rest of the code?  If so, we should really just open a new ticket
 for that: it ought to be mergeable independently.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/2536#comment:15>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list