0

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/

何千ものトレントをシードするための設定を誰かが共有してくれることを本当に感謝しています.

4

1 に答える 1

2

自動管理を使用していない場合、接続が妨げられます。

ホストされたサーバーまたは国内のインターネット接続のいずれかで実行できると言うので、トレントのスタートアップを抑制する以外に選択肢はあまりありません. 国内のインターネット接続は、一般にコンシューマー グレードのルーターの背後にあり、場合によっては CGNAT の背後にあります。どちらもかなり小さな NAT テーブルを持ち、同時に確立された TCP 接続 (ピア ピア接続、トラッカー アナウンス) または UDP 疑似接続 (UDP トラッカー、µTP、 DHT)

そのため、一度に多くの torrent を実行するには、その種類のアクティブなメンテナンス トラフィックをすべて制限して、torrent が着信接続を受動的にリッスンするように開始されるようにする必要があります。

于 2015-07-17T14:37:05.280 に答える