我试图用libtorrent播种大量种子(> 10k)时遇到了很多麻烦。
它们包括:
我曾经让他们自动管理,但我发现它几乎所有这些都不可用。
以下是我目前的设置:
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()。当使用自动管理时,这基本上只开始~50个种子,其他的以每10分钟1个洪流的速率开始,这是行不通的。当不使用自动管理时,它会阻止我的连接。
但是,当我只做了30个时,它们似乎都正确播种,所以我的下一个计划是尝试在分组中恢复()它们有时间延迟,或者在它们已经收到tracker_reply之后。
我试图从中获取尽可能的东西,但不知道我的设置应该具体:
http://blog.libtorrent.org/2012/01/seeding-a-million-torrents/
我非常感谢有人分享他们为数千种种子播种的设置,
答案 0 :(得分:1)
当不使用自动管理时,它会阻止我的连接。
既然你说它可以在托管服务器或国内互联网连接上运行,那么你将没有多少选择,只能扼杀洪流初创公司。国内互联网连接通常落后于消费级路由器,可能还有CGNAT,两者都有相当小的NAT表,最终会从同时建立的TCP连接(对等连接,跟踪器通告)或UDP伪连接(UDP跟踪器,μTP, DHT)
因此,要立即运行多个种子,您必须限制此类所有活动维护流量,以便种子只能被动地听取传入连接。