v0.19.0 — Bump default parallel segments 8→16 to shorten end-of-DL tail
Issue : on a 14 GB download with 8 segments, when 7 finish there's only 1 connection left handling its assigned 1.75 GB → apparent throughput collapses to 1/8th of the peak for the final stretch (~5 min visible slowdown at the end). Quick fix : double the default segment count. - 8 segments : last has 1.75 GB to finish alone - 16 segments : last has 875 MB → tail ~halved Tuning surfaced in Settings → Avancés → Serveur as « Connexions parallèles pour les téléchargements (1-32, défaut 16) ». Power users on faster servers can push to 24-32. OVH mutualisé tolerates up to 16-24 ; above that, soft rate-limiting kicks in. Aligned : - LocalConfig default : 8 → 16 - DownloadManager clamp : Math.Clamp(_, 1, 16) → 1, 32 - HttpClient handler MaxConnectionsPerServer : 16 → 32 (matches new ceiling) Versions bumped to 0.19.0. Existing config.json files will keep their previous value (8) untouched ; delete config.json to pick up the new default, or just bump it in Settings → Avancés. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -176,7 +176,10 @@ public sealed class DownloadManager : IDownloadManager
|
||||
}
|
||||
|
||||
// 2. Choix single vs multi-segment
|
||||
var requestedSegments = Math.Clamp(_config.ParallelDownloadSegments, 1, 16);
|
||||
// Hard-cap à 32 : au-delà OVH mutualisé risque le rate-limit per-IP et le
|
||||
// gain marginal devient négatif. 16 = défaut, 24-32 OK pour les serveurs
|
||||
// qui le supportent. 1 = comportement single-segment legacy.
|
||||
var requestedSegments = Math.Clamp(_config.ParallelDownloadSegments, 1, 32);
|
||||
var useMultiSegment = requestedSegments > 1
|
||||
&& job.ExpectedSize >= MultiSegmentMinSize
|
||||
&& (existing is null || existing.Segments.Count > 0);
|
||||
|
||||
@@ -177,6 +177,21 @@ public static class Strings
|
||||
$"تعذر تحميل {url}\n\n{detail}\n\nتأكد من تشغيل XAMPP وأن العنوان صحيح (الإعدادات → متقدم)."
|
||||
);
|
||||
|
||||
public static string SettingsParallelSegments => T(
|
||||
"Connexions parallèles pour les téléchargements (1-32, défaut 16)",
|
||||
"Parallel connections for downloads (1-32, default 16)",
|
||||
"下载的并行连接数 (1-32,默认 16)",
|
||||
"การเชื่อมต่อแบบขนานสำหรับการดาวน์โหลด (1-32, ค่าเริ่มต้น 16)",
|
||||
"اتصالات متوازية للتنزيلات (1-32، الافتراضي 16)"
|
||||
);
|
||||
public static string SettingsParallelSegmentsHint => T(
|
||||
"Plus de connexions = débit pic plus élevé et queue de fin de DL plus courte. Au-delà de 16 le serveur peut throttler.",
|
||||
"More connections = higher peak throughput and shorter end-of-DL tail. Above 16 the server may throttle.",
|
||||
"更多连接 = 更高的峰值吞吐量和更短的下载尾部。超过 16 服务器可能会限速。",
|
||||
"การเชื่อมต่อมากขึ้น = ปริมาณงานสูงสุดมากขึ้นและส่วนท้ายของการดาวน์โหลดสั้นลง สูงกว่า 16 เซิร์ฟเวอร์อาจจำกัด",
|
||||
"اتصالات أكثر = إنتاجية ذروة أعلى وذيل تنزيل أقصر. فوق 16 قد يقيّد الخادم."
|
||||
);
|
||||
|
||||
public static string SettingsAdvanced => T(
|
||||
"▸ PARAMÈTRES AVANCÉS (serveur, installation, base de données, logs)",
|
||||
"▸ ADVANCED SETTINGS (server, installation, database, logs)",
|
||||
|
||||
Reference in New Issue
Block a user