小编Anm*_*ggi的帖子

为什么并发下载速度更快

许多下载管理器(例如thisthisthis)支持通过多个并行连接(每个线程一个)下载文件。其概念是每个连接将单独下载文件的一部分。
例如,如果有 5 个连接,则第一个连接将下载文件的前 0-20% 部分,第二个连接将下载文件的 20-40% 部分,依此类推。

同样,在服务器端,将有 5 个线程,其中一个线程将并行读取文件的 20%。
但是,我认为尝试使用多个线程同时读取单个文件实际上会使下载速度明显变慢,因为机械磁盘的读取磁头将不得不比以前进行更多的搜索。
即使我们假设磁盘控制器排队机制足够智能,可以在一次顺序读取中将所有 5 个多部分请求一起批处理到单个文件,但与仅在一个线程中执行读取然后为该文件提供服务相比,它并没有给我们带来任何优势。仅通过 1 个 http 连接即可文件。

那么如何才能更快地并行下载文件呢?

networking performance hard-drive web-server multi-threading

6
推荐指数
1
解决办法
2689
查看次数