qbt: enbiggen aggregation of reads
This commit is contained in:
@@ -125,9 +125,22 @@ in
|
|||||||
FilePoolSize = 500; # keep more files open to reduce open/close overhead
|
FilePoolSize = 500; # keep more files open to reduce open/close overhead
|
||||||
AioThreads = 24; # 6 cores * 4; better disk I/O parallelism
|
AioThreads = 24; # 6 cores * 4; better disk I/O parallelism
|
||||||
|
|
||||||
|
# Send buffer watermarks control how much upload data qBittorrent pre-reads
|
||||||
|
# from disk per peer. Pushed well above libtorrent defaults (and above
|
||||||
|
# high_performance_seed's 3 MiB) to let the disk I/O thread issue larger,
|
||||||
|
# less-frequent preadv() calls. Larger watermarks give ZFS's vdev aggregator
|
||||||
|
# (4 MiB limit, 128 KiB gap) more contiguous requests to merge per sweep.
|
||||||
|
# Memory cost is roughly watermark × active-peer-count; 6 MiB × a few hundred
|
||||||
|
# peers is well within muffin's RAM budget.
|
||||||
SendBufferLowWatermark = 512; # 512 KiB -- trigger reads sooner to prevent upload stalls
|
SendBufferLowWatermark = 512; # 512 KiB -- trigger reads sooner to prevent upload stalls
|
||||||
SendBufferWatermark = 3072; # 3 MiB -- matches high_performance_seed
|
SendBufferWatermark = 6144; # 6 MiB -- bigger pre-reads per peer than high_performance_seed's 3 MiB
|
||||||
SendBufferWatermarkFactor = 150; # percent -- matches high_performance_seed
|
SendBufferWatermarkFactor = 200; # percent -- scale watermark more aggressively with upload rate
|
||||||
|
|
||||||
|
# Maximum outstanding block requests per peer (libtorrent max_out_request_queue).
|
||||||
|
# Default 500. Tripled so libtorrent's disk I/O thread sees deeper per-peer
|
||||||
|
# request queues, giving it more contiguous blocks to coalesce into single
|
||||||
|
# preadv() calls before issuing them to the kernel.
|
||||||
|
RequestQueueSize = 1500;
|
||||||
};
|
};
|
||||||
|
|
||||||
Network = {
|
Network = {
|
||||||
|
|||||||
Reference in New Issue
Block a user