DonnchaC/onionbalance

Implement fetch / publish queue for descriptors to decrease load on the Guard

Opened this issue · 1 comments

Tor complaints that the Guard node is overloaded and fails more circuits than it should when OnionBalance is used with default settings. By default Tor uses the NumEntryGuards consensus parameter to know how many Guards it should use - currently 1.

Manually adding in torrc: NumEntryGuards 3 eliminates the warnings. It is safe to assume that fetching and publishing all the descriptors simultaneously overloads the Guard, so we should implement a queue. Need to investigate why the Guard feels hammered this way - isn't it the same load like opening 10 circuits to different addresses (Websites) in Tor Browser? Don't see complaints there...

getting back to this ticket after talking with asn - reverted to using one single Guard on the Tor instance handling onionbalance. Using one of my own relays as guard to investigate why the it feels hammered (or if the behavior will still be the same). The guard should not feel hammered, as HSDir fetch / publish circuits should be using the nTor handshake.