Opened 13 years ago

Last modified 7 years ago

#233 closed defect (Fixed)

directories push a great many bytes, clients too greedy?

Reported by: weasel Owned by: nickm
Priority: Low Milestone: 0.1.1.11-alpha
Component: Core Tor/Tor Version: 0.1.1.10-alpha
Severity: Keywords:
Cc: weasel Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Something makes a lot of directory requests to (v2?) dirservers.

For instance right now tor26 reads about 4Mbit/s but pushes 8 which
probably means that there are 4MBit/s of directory information going
out constantly.

[Automatically added by flyspray2trac: Operating System: All]

Child Tickets

Change History (4)

comment:1 Changed 13 years ago by nickm

So I instrumented the code. Here's peacetime, sorted:

/tor/server/authority 6066
/tor/server/d.z 353342
/tor/running-routers 2329820
/tor/status/fp.z 11700872
/tor/dir.z 58381811
/tor/server/fp.z 1099960207

Here's moria, sorted:

/tor/server/authority 6440
/tor/rendezvous?/ 23242
/tor/server/d.z 577941
/tor/status/fp.z 1928811
/tor/status/all.z 1993317
/tor/status/authority 3102585
/tor/server/all.z 3478148
/tor/running-routers 9779595
/tor/ 28874342
/tor/server/fp.z 51952466
/tor/dir.z 270647822

comment:2 Changed 13 years ago by nickm

Okay, it turned out to be 0.1.1.8 through 10.

The bug was: the directory client code would try to download descriptors that
it would (almost) immediately throw away as too old.

The solution was: add a new check to the directory server code so that we
don't serve obsolete descriptors by fingerprint. This will not only save
bandwidth on the upgraded servers, but will (once the authorities have
upgraded) stop even the older servers from getting hammered:

23:59 < nickm> Once all the authorities are running my patch, the 0.1.1.10

caches will drop the expired descriptors,

23:59 < nickm> then ask all the authorities a few times,
23:59 < nickm> and the n_failures for those descriptors will get high
23:59 < nickm> and they'll stop asking for them.
00:00 < nickm> And since the 0.1.1.10 caches won't get the expired

descriptors any more,

00:00 < nickm> the 0.1.1.10 clients won't get them either.

comment:3 Changed 13 years ago by nickm

flyspray2trac: bug closed.

comment:4 Changed 7 years ago by nickm

Component: Tor ClientTor
Note: See TracTickets for help on using tickets.