
播种一个大型种子(超过 20Gb)和播种 2000 个 20mb 种子对 CPU 负载有什么影响吗?
答案1
如果您的客户端可以处理这么多种子,我认为 CPU 使用率不会相差太多,因为涉及的大部分工作是磁盘和网络 I/O。实际上,您可能会遇到维护与其他客户端的如此多(数千个)网络连接的困难。
答案2
如果您可以将其作为一个 torrent 进行播种,那么这样做比创建 2000 个 torrent 要好。
有了 2000 个种子,你将会产生很多开销:
您的处理器需要进行更多计算,它需要执行 2000 次额外的计算,而不是一次。
它还需要在线程之间进行更多切换,这又会造成开销。你的内存将会有很多开销,所有文件映射的开销数据加起来就很多了。
您的磁盘 I/O 将会有很多开销,在内存中缓存内容的效率会降低。
您的网络 I/O 会有很多开销,会准备比需要多得多的连接。
您的计算机可能无法处理所有这些额外的连接,
或者您可以设置较少的连接,这会使其无效。
因此,要么创建一个 torrent,要么将其分成多个 torrent,但不要创建 2000 个...
请不要忘记,下载您的种子的用户可以选择他想要的文件!
他们更喜欢少量的种子,这样他们就有足够的连接,
从而可以更快地下载种子!
哦,另一个提示:如果您的 CPU 和磁盘足够快,您可能需要先压缩一些东西... ;-)
答案3
如果您尝试一次性播种 2000 个种子,您将需要注意 TCP 堆栈中的限制是否会导致连接失败 - 大多数内核都对并发 TCP 连接的数量有某种限制,如果您想尝试播种 2000 个种子,您将需要确保您知道如何在您的系统上调整上述限制。
答案4
您可能需要处理更多连接来处理大量种子,这自然会导致进行播种的系统负载更大。