On 03/27/2014 03:25 PM, Helder Ribeiro wrote:
Hi Qingping, thanks for the help! Answer below:
On Tue, Mar 25, 2014 at 2:44 AM, Qingping Hou dave2008713@gmail.com wrote:
If you decided to work on profiling hidden service, I would suggest you take a look at chutney[1] and shadow[2]. Torperf is not under active maintenance anymore and it can be easily replaced by chutney.
Thanks for the pointers. I'm still not very clear on what each of shadow, chutney, experimentor, torperf or even oprofile should be used for. I'm guessing chutney/oprofile (maybe toperf, originally, too?) are more useful for profiling processes, with less control over what happens in the network, and shadow/experimentor are more useful for network-level simulation. Please correct me if I'm wrong.
Correct.
A fully automated hidden service profiling tool will be very handy. As the community is currently designing next generation hidden service protocol, such tool will help developers evaluate different designs and implementations.
Great! Do you know what kinds of things are most useful to measure first? Is it more useful at this point to:
- measure time spent on functions within a process, to see if there's
anything taking up too much time, for example, at the hidden service's OP during the handshake; or 2. simulate load on a hidden service and see how request response time climbs with number of clients, etc.?
I would say 2 is better. I have done some initial profiling on low load HS and found that time spent on functions (i.e. computation) is negligible compared the time spent on creating circuits and cell transmitting.