在开启Clash时,Steam下载速度无法达到千兆宽带的上限,这通常是因为Clash对数据包的处理产生了性能瓶颈。Steam的下载机制是基于SteamPipe内容分发系统的切片下载,它将游戏文件分割为大量独立的1MB数据块,并针对每个数据块发起HTTP GET请求。这种高并发、短连接的下载方式在Clash开启时,由于Clash需要处理大量连接,导致频繁的上下文切换和内存拷贝,从而在用户态(User Space)和内核态(Kernel Space)之间产生额外的处理开销。这限制了数据包的处理速度,使得下载速度无法达到物理带宽的上限。

为了解决这个问题,可以采用代理绕过的方法。具体来说,就是将Steam的下载域名加入到Clash的代理绕过列表中。以Clash Party GUI为例,需要在“系统代理”界面的“代理绕过”中添加以下域名:

  • test.steampowered.com
  • *.steamserver.net
  • *.cdn.steamstatic.com
  • dl.steam.clngaa.com
  • st.dl.eccdnx.com
  • xz.pphimalayanrt.com
  • gstore.val.smogfly.com

通过这种方式,可以让Steam的下载流量直接通过系统内核路由,绕过Clash进程的处理,从而实现与物理带宽的上限。这种方法的优点在于它实现了控制面与数据面的分离,消除了用户态软件处理的性能损耗,使得下载速度能够充分跑满物理链路带宽。

标签: none

评论已关闭