How does bandwidth throttling work?
The bandwidth throttling feature is designed to limit or slow down the pulse of reads and writes performed by PeerSync at the percentage specified, in order to keep bandwidth available for other applications to use. This is done at the file level and is performed by each Copy Thread during the transfer of each file. As we copy a file, we track how long it takes to read and write data from the source to the target. Every 100 milliseconds from the start of a file transfer, we calculate how much time to allot for processing and sleeping based on the percentage set for the option.
Examples
100% Always Process
90% Process for 90 milliseconds Sleep for 10 milliseconds every 100 milliseconds
50% Process for 50 milliseconds Sleep for 50 milliseconds every 100 milliseconds
10% Process for 10 milliseconds Sleep for 90 milliseconds every 100 milliseconds
Notes
- This methodology should dynamically allow for PeerSync to transfer data at a fast pace when no other applications are using bandwidth and allow it to back off when other applications are using bandwidth.
- This methodology is more accurate when using smaller Read/Write Buffer settings.
- This methodology does not include small files that take less than 100 milliseconds to process.