circuit build time CDF looks wrong (possibly because not using guards)
In a recent vanilla-ish experiment set up by tornettools for a 10% size network, we got: circuit_build_time.pdf
mikeperry says:
the TTFB CDF (aka Circuit Latency CDF) should have a similar shape as the Circuit Build Time CDF. Here's what a single client should roughly look like: https://gitlab.torproject.org/tpo/core/tor/uploads/6a64c0e0882177539e6cffced358a243/onionperf-data-80-mike-mixed_scale_haxed.pdf
mikeperry notes that disabling guards for clients would disable the circuit build timeout code.
Client guards are indeed disabled in tornettools-generated simulations ("UseEntryGuards 0").
In Rob's "Once is never enough" paper, he notes that "Although a Tor client uses guards by default, for us it would lead to inaccurate load balancing because each client simulates 1/p users."
I believe this is referring to the "process scale" parameter in tornettools. "A fractional number representing the ratio of the number of TGen and Tor client processes to the number of Tor users that we emulate." The default is 0.01.
So, one solution would be to enable guards and set the process scale to 1. That will likely result in a substantial increase in RAM usage, but I'm not sure by how much. Probably better to try it on a relatively small network size first (maybe 1%).