qbt: delete incomplete subvolume + tweaks

This commit is contained in:
2026-03-02 14:22:17 -05:00
parent 9f949f13d1
commit dfe5392543
2 changed files with 23 additions and 6 deletions

View File

@@ -10,8 +10,6 @@
imports = [
(lib.serviceMountWithZpool "qbittorrent" service_configs.zpool_hdds [
service_configs.torrents_path
config.services.qbittorrent.serverConfig.Preferences.Downloads.TempPath
])
(lib.serviceMountWithZpool "qbittorrent" service_configs.zpool_ssds [
"${config.services.qbittorrent.profileDir}/qBittorrent"
@@ -55,12 +53,12 @@
serverConfig.BitTorrent = {
Session = {
MaxConnectionsPerTorrent = 50;
MaxUploadsPerTorrent = 10;
MaxConnectionsPerTorrent = 100;
MaxUploadsPerTorrent = 15;
MaxConnections = -1;
MaxUploads = -1;
MaxActiveCheckingTorrents = 5;
MaxActiveCheckingTorrents = 2; # reduce disk pressure from concurrent hash checks
# queueing
QueueingSystemEnabled = true;
@@ -91,7 +89,7 @@
inherit (config.services.qbittorrent.serverConfig.Preferences.Downloads) TempPath;
TempPathEnabled = true;
ConnectionSpeed = 200;
ConnectionSpeed = 30;
# Automatic Torrent Management: use category save paths for new torrents
DisableAutoTMMByDefault = false;
@@ -102,6 +100,22 @@
PieceExtentAffinity = true;
SuggestMode = true;
CoalesceReadWrite = true;
# max_queued_disk_bytes: the max bytes waiting in the disk I/O queue.
# When this limit is reached, peer connections stop reading from their
# sockets until the disk thread catches up -- causing the spike-then-zero
# pattern. Default is 1MB; high_performance_seed() uses 7MB.
# 64MB is above the preset but justified for slow raidz1 HDD random writes
# where ZFS txg commits cause periodic I/O stalls.
DiskQueueSize = 67108864; # 64MB
# === Network buffer tuning (from libtorrent high_performance_seed preset) ===
# "always stuff at least 1 MiB down each peer pipe, to quickly ramp up send rates"
SendBufferLowWatermark = 1024; # 1MB (KiB) -- matches high_performance_seed
# "of 500 ms, and a send rate of 4 MB/s, the upper limit should be 2 MB"
SendBufferWatermark = 3072; # 3MB (KiB) -- matches high_performance_seed
# "put 1.5 seconds worth of data in the send buffer"
SendBufferWatermarkFactor = 150; # percent -- matches high_performance_seed
};
Network = {