In my case:Send buffer watermark — this is the upper limit for the send buffer size. If the send buffer has fewer bytes than this, another 16kB block will be read into it. If set too small, upload rate capacity will suffer. If set too high, memory will be wasted. The actual watermark may be lower than this in case the upload rate is low.
Send buffer low watermark — the minimum send buffer target size (send buffer includes bytes pending being read from disk). For good and snappy seeding performance, set this fairly high, to at least fit a few blocks. This is essentially the initial window size which will determine how fast we can ramp up the send rate.
Send buffer watermark factor — the factor is specified as a percentage. i.e. 50 -> 0.5. The current upload rate to a peer is multiplied by this factor to get the send buffer watermark. This product is clamped to the "Send buffer watermark" setting so as to not exceed the max. For high speed upload, this should be set to a greater value than 100. For high capacity connections, setting this higher can improve upload performance and disk throughput. Setting it too high may waste RAM and create a bias towards read jobs over write jobs.
send buffer watermark: 500KiB
send buffer low watermark: 10KiB (above, they write: "set this fairly high, to at least fit a few blocks". My filesystem block size is around 512K & HDD sector is 512 bytes logical, so i should enter maybe 1024KiB?)
send buffer watermark factor: 50% (above they say it should be possibly 100 or more?)
Disk cache: 256MB expiry 300s.
Async. I/O threads: 8
I am having slow overutillized HDD (especially regarding operations per time interval - IOPS).
This is what i did:
send buffer watermark: 1025 KiB
send buffer low watermark: 1025 KiB
send buffer watermark factor: 100%
enabled "Coalesce reads & writes" option
I do not know what is the proper settings. My aim is to increase sequential reads and decrease random small operations. Upload piece suggestions is already enabled.