Hi again,
On 2 Aug 2019, at 08:18, Rob Jansen rob.g.jansen@nrl.navy.mil wrote:
On Jul 31, 2019, at 7:34 PM, teor teor@riseup.net wrote:
Can you define "goodput"?
Application-level throughput, i.e., bytes transferred in packet payloads but not counting packet headers or retransmissions. In our case I mean the number of bytes that Tor reports in the BW controller event.
How is it different to the bandwidth reported by a standard speed test?
I believe that iperf also reports goodput as defined above.
How is it different to the bandwidth measured by sbws?
I am not an expert on sbws, but I believe it also measures goodput.
Where is your server?
West coast US.
How do you expect the location of your server to affect your results?
I expect that the packet loss that occurs between my measurement machine and the target may limit the goodput I am able to achieve, and packet loss tends to occur more frequently on links with higher latency.
Tor's stream window also limits the goodput of a single stream. The in-flight bandwidth is limited to 500 cells * 498 RELAY_DATA cell goodput bytes = 243 kBytes
I plan to use multiple sockets (as standard speed testing tools like iperf do) and multiple circuits to try to mitigate the effects.
Good. sbws only uses one stream at a time, and its streams are open for 5-10 seconds.
Note that this is meant to be a fairly simple experiment, not a complete measurement system. Of course I won't be able to measure more than the bandwidth capacity of my measurement machine, but many relays already carry significant load so I'll just be giving them a boost.
Sounds like a useful experiment.
If using multiple circuits for 20 seconds makes a significant difference to some relays, we should consider changing sbws to: * use multiple circuits, * use 2 streams per circuit (to fill each circuit window), and * run each test for 20 seconds.
Or we could modify the relay bandwidth self-test to: * use significantly more bandwidth, and try to find the bandwidth limit for each relay, and * run each test for 20 seconds. (The relay bandwidth self-test uses DROP cells on multiple circuits, so stream windows don't apply.)
T