播种数千个种子

播种数千个种子

播种一个大型种子(超过 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

您可能需要处理更多连接来处理大量种子,这自然会导致进行播种的系统负载更大。

相关内容