robgjansen / onionperf

A utility to track the performance of Tor and Tor onion services
Other
19 stars 24 forks source link

It remains unclear whether/how the hidden-service descriptor cache is cleared #4

Closed kloesing closed 8 years ago

kloesing commented 9 years ago

In Torperf, I'm using a modified tor version that accepts a USR2 signal to clear the hidden-service descriptor cache between runs. But OnionPerf seems to work just fine with an unmodified tor version. Does it also clear the cache between runs, and if so, how? If not, doesn't that make results harder to compare, because some of them will include descriptor fetches and some not?

robgjansen commented 9 years ago

Indeed, OnionPerf does not clear hs descriptor cache between runs. I agree that this makes data collected with OnionPerf somewhat less consistent and probably not perfectly comparable to the data collected by TorPerf, but I think it may be closer to the experience of a real client.

Do you think clearing the cache is a required feature at this point? If our vision is to only transition TGen to TorPerf and then stop using OnionPerf, perhaps this feature is low priority?

kloesing commented 9 years ago

I think this is required for realistic, independent measurements. But I'd like this to be better supported by tor, possibly by adding a controller command or by adding this functionality to the NEWNYM command. I also agree that this can be low priority given the possible integration of TGen into Torperf.

robgjansen commented 8 years ago

This is now done during measurement mode by sending the NEWNYM command to Tor. See here: https://github.com/robgjansen/onionperf/blob/master/onionperf/monitor.py#L57

In measurement mode, OnionPerf does this every 5 minutes, which is also the pause time between fetches: https://github.com/robgjansen/onionperf/blob/master/onionperf/measurement.py#L366