从我开始用Steam那天起,下载速度就是一块心病。明明家里是200M宽带,其他平台如Epic或Origin都能跑满速,唯独Steam像是在走泥路,速度起起落落,偶尔还归零。我试过几乎所有网络优化方法:换下载节点、关闭代理、限制上传、清理DNS缓存,甚至把路由器都重启了几十次,依然没有改观。
我差点就要相信网上说的“Steam服务器不行”了。直到有一天,我在下载《荒野大镖客2》的时候,电脑突然卡得几乎动不了。我习惯性打开任务管理器,发现磁盘那一栏显示100%占用,而且持续很长时间。而网络带宽使用率并不高。我当时的第一个念头是:难道硬盘拖累了下载速度?
机械硬盘是怎么成为拖油瓶的
其实机械硬盘的结构决定了它在处理多个小文件写入时会非常吃力。Steam下载游戏时,并不会一次性把整个文件写入,而是采用多线程并行的方式,将许多小数据块写入磁盘的不同位置。对于机械硬盘来说,这就好比要求一个人在不同房间之间来回跑,每次只能拿一点点东西,时间都花在路上了。
具体来说,机械硬盘的读写需要磁头在盘片表面移动。移动本身是机械运动,所需时间是毫秒级的。相比固态硬盘的微秒级延迟,看起来差距不大,但一旦任务变得碎片化,这个延迟就会被无限放大。Steam在分配空间和写入校验时,还会频繁更新文件头、写验证结果,导致更多的随机I/O。磁盘在这种情况下,只能把大部分时间用在寻道上,实际的写入速度极低,甚至不如U盘。
我清楚地记得,有一次我开着资源监视器,看到磁盘响应时间动不动就超过一两秒,这已经不正常的。而正常的固态硬盘,响应时间都在1毫秒以内。
换上固态硬盘后,才明白之前都在白折腾
在意识到问题后,我买了一块三星860 EVO固态硬盘。把Steam库迁移过去,再下载一个40G的游戏,整个过程平稳且迅速,速度维持在20MB/s以上,系统也完全没有卡顿感。最重要的是,之前无数次调试网络设置的尝试,看来全是在浪费时间。
我甚至做了个实验:同一个游戏,分别安装在机械盘和固态盘上下载。机械盘中,平均速度只有8MB/s,固态却能达到23MB/s(接近带宽极限)。机械盘下载耗时足足多了一倍。这差距不是网络能背的锅。
还有一件事很值得说:以前在机械硬盘上玩《绝地求生》,跳伞后进房间要卡半天,硬盘灯一直闪红。我一直以为是游戏优化问题。换了固态后,竟然丝滑了许多。这让我意识到,机械硬盘不仅拖慢下载,还影响着游戏运行时的加载性能。
为什么很多人意识不到这个原因
可能因为“下载速度”听起来更像网络问题,大部分人第一时间都会排查网速和服务器。而磁盘性能对下载的影响,往往发生在后台,很难直观感知。除非你和我一样打开了资源监视器,或者亲身体验过从机械盘到固态盘的提升,不然很难相信硬盘也会限制网络传输。
我看到过论坛里有人抱怨Steam下载慢,下面评论往往都是“换节点”、“重置网络”之类的建议,却几乎没有人提到硬盘。这种盲区让我觉得有点可惜。
回望过去,感谢那次顿悟
现在想来,当初在机械硬盘上忍耐了那么久,其实只差一块固态的距离。这次的经历也让我明白了,很多时候系统瓶颈可能出现在你意想不到的地方。当你发现某个操作响应迟钝、速度堪忧时,不妨多看几个指标,或许能发现不一样的问题。
