top | item 46896214

(no title)

nh2 | 25 days ago

From which part do you take the "several milliseconds"?

If I assume 0.2ms ping and each rsync read() is a roundtrip, I arrive at 6.4 minutes = 62955918871 B / (321024 B) 0.0002 s / (60 s/min).

discuss

order

Dylan16807|25 days ago

To be clear, when I said "delay" in my last post I meant the per-file penalty, not the round-trip latency.

Radxa Orion O6/.DS_Store, 6KB at 4.8MBps, that means it took 1.3ms to transfer

Radxa Orion O6/Micro Center Visit Details.pages, 141KB at 9.8MBps, 14ms

Radxa Orion O6/Radxa Orion O6.md, 19KB at 1.9MBps, 10ms

We know the link can do well over 100MBps, so that time is almost all overhead. But it doesn't seem to be a simple delay. Perhaps a fresh TCP window scaling up on a per-file basis? That would be an unfortunate filesytem design.

Since the two 4MB files both get up to ~100MBps, the same speed as the 250MB file, it seems like the maximum impact from switching files isn't much more than 15ms. If the average is below 10ms then we're looking at half a minute wasted over 3564 files. If the average is 20ms then switching files is responsible for 71 seconds wasted.

By that estimate the file-level serialization is a real issue, but the bigger issue is whatever's preventing that 250MB file from ramping up all the way to 10Gbps.

nh2|22 days ago

I guess until we know what that network share is and how it works, we cannot really progress. Taking 10 ms to fetch the 19 KB file is definitely not great, it would be ~50 LAN roundtrips.

> whatever's preventing that 250MB file from ramping up all the way to 10Gbps

Probably that network share does small reads if small reads are requested.

Might be good if the author ran `dd` or a similar tool where the read buffer size can be controlled.