Opened 2 years ago

Last modified 2 years ago

#25716 new task

Arrange an experiment on the test network where we dump create cells on a relay and time the responses

Reported by: arma Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


In #25347 I asked: "Do we have any reason to believe that the calculation in have_room_for_onionskin() is at all accurate? That is, are we sometimes sending this response when there are only 0.25 seconds worth of create cells in our queue? Or are we sometimes not sending them even though there are 5 seconds of cells queued?"

We have a test network, with real relays on it.

We should arrange an experiment where we fill a relay with various levels of create cell load, and keep track of response times and response codes. For one, that will help us tune the calculation that have_room_for_onionskin() makes. For two, it will help us with a new level of testing that we don't get from our unit tests.

Ideally we should arrange the experiment so it is easy to repeat, and then we can run it periodically (as a regression test) without too much additional effort. And e.g. run it with the relay using various values of NumCPUs.

In particular, I am interested to discover if we waste a lot of time in the "glue" stages of the cpuworker where we could be more efficient about queueing work items well but we're not. And, as we get better with modularization, we should be able to see an improvement here.

See #7291 for where this timing estimation thing first came in.

Child Tickets

Change History (1)

comment:1 Changed 2 years ago by nickm

Milestone: Tor: unspecified
Note: See TracTickets for help on using tickets.