0

尝试使用 libtorrent 播种大量种子(> 10k)时遇到了很多麻烦。

他们包括:

  • 阻塞我的网络连接
  • 跟踪器请求超时(libtorrent 跟踪器错误)
  • 使用自动管理时(它们从检查到播种的速度非常缓慢,即使我的 active_seeding 设置为无限制。

我曾经让它们自动管理,但我发现它几乎使它们都不可用。

这是我当前的设置:

    sessionSettings.setActiveDownloads(5);
    sessionSettings.setActiveLimit(-1);
    sessionSettings.setActiveSeeds(-1);
    sessionSettings.setActiveDHTLimit(5);
    sessionSettings.setPeerConnectTimeout(25);
    sessionSettings.announceDoubleNAT(true);
    sessionSettings.setUploadRateLimit(0);
    sessionSettings.setDownloadRateLimit(0);
    sessionSettings.setHalgOpenLimit(5);
    sessionSettings.useReadCache(false);
    sessionSettings.setMaxPeerlistSize(500);

我目前的方法是遍历我所有的 10k+ 种子,然后运行 ​​torrent.resume()。使用 automanage 时,这基本上只启动 ~ 50 个 torrent,而其他的启动速度大约为每 10 分钟 1 个 torrent,这是行不通的。不使用自动管理时,它会阻塞我的连接。

但是,当我只做 30 个时,它们似乎都正确播种,所以我的下一个计划是尝试在时间延迟或收到 tracker_reply 后将它们分组恢复。

我试图从中获得什么,但不知道我的设置应该具体是什么:

http://blog.libtorrent.org/2012/01/seeding-a-million-torrents/

我真的很感谢有人分享他们为数千个种子播种的设置,

4

1 回答 1

2

不使用自动管理时,它会阻塞我的连接。

既然您说它可以在托管服务器或国内互联网连接上运行,那么您将别无选择,只能限制 torrent 启动。国内互联网连接通常位于消费级路由器和可能的 CGNAT 之后,两者都有相当小的 NAT 表,最终会因同时建立的 TCP 连接(点对点连接,跟踪器通告)或 UDP 伪连接(UDP 跟踪器,µTP, DHT)

因此,要一次运行多个 torrent,您必须限制所有此类主动维护流量,以便 torrent 仅开始被动地侦听传入连接。

于 2015-07-17T14:37:05.280 回答