libtorrent で大量の torrent (> 10k) をシードしようとすると、多くの問題が発生します。
それらには以下が含まれます:
- ネットワーク接続が詰まる
- トラッカー リクエストのタイムアウト (libtorrent トラッカー エラー)
- auto-manage を使用すると ( 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);
私の現在の方法は、10,000 以上の torrent をすべてループして torrent.resume() を実行することです。自動管理を使用する場合、これは基本的に ~ 50 の torrent のみを開始し、他のトレントは 10 分あたり約 1 つの torrent の速度で開始しますが、これは機能しません。自動管理を使用していない場合、接続が妨げられます。
しかし、私がそれらを 30 個しか実行しない場合、それらはすべて正しくシードされているように見えるので、次の計画は、時間遅延を伴うか、または tracker_reply を受信した後で、グループ化してそれらを resume() しようとすることです。
私はこれからできることを集めようとしましたが、私の設定が具体的にどうあるべきかわかりません:
http://blog.libtorrent.org/2012/01/seeding-a-million-torrents/
何千ものトレントをシードするための設定を誰かが共有してくれることを本当に感謝しています.