DHT announce timeboxing prevents full traversal with large torrent counts
- 主要语言
- Go
- 星标
- 6.1k
- 派生
- 690
- 平均合并
- 3 天 10 小时
- 30 天内合并 PR
- 12
描述
Hello.
I have 1k infohashes.
I run qbittorrent with them, and after an hour i got 346 metainfos.
Then i run rain with same hashes, and after an hour i got 334 metainfos.
Then i run torrent with same hashes, and after an hour i got 15 metainfos. After 36 hours i got 58 metainfos.
On another server with torrent i got 10 metainfos after 12 hours.
Ofc i dont use trackers nowhere.
So, how do i figure out what the problem is?
This is config i use
> config := torrent.NewDefaultClientConfig()
> config.ListenPort = 14746
> config.PublicIp4 = net.ParseIP("xxx.xxx.xxx.xxx")
> config.DisableIPv6 = true
> config.PeriodicallyAnnounceTorrentsToDht = true
> config.TotalHalfOpenConns = 1000
Stats
> Listen port: 14746
> Extension bits: 0000000000100005 (ltep, fast, dht)
> Announce key: 633e5895
> Banned IPs: 0
> udp DHT server at 0.0.0.0:14746:
> ID: 02307c896b45d5a0da14c498d88f8d5a7842b464
> (dht.ServerStats) {
> GoodNodes: (int) 15,
> Nodes: (int) 177,
> OutstandingTransactions: (int) 2829,
> SuccessfulOutboundAnnouncePeerQueries: (int64) 0,
> BadNodes: (uint) 0,
> OutboundQueriesAttempted: (int64) 4408672
> }
> (torrent.ClientStats) {
> ConnStats: (torrent.ConnStats) {
> BytesWritten: (torrent.Count) 1896338,
> BytesWrittenData: (torrent.Count) 0,
> BytesRead: (torrent.Count) 10068279,
> BytesReadData: (torrent.Count) 0,
> BytesReadUsefulData: (torrent.Count) 0,
> BytesReadUsefulIntendedData: (torrent.Count) 0,
> ChunksWritten: (torrent.Count) 0,
> ChunksRead: (torrent.Count) 0,
> ChunksReadUseful: (torrent.Count) 0,
> ChunksReadWasted: (torrent.Count) 0,
> MetadataChunksRead: (torrent.Count) 558,
> PiecesDirtiedGood: (torrent.Count) 0,
> PiecesDirtiedBad: (torrent.Count) 0
> },
> ActiveHalfOpenAttempts: (int) 0,
> NumPeersUndialableWithoutHolepunch: (int) 524,
> NumPeersUndialableWithoutHolepunchDialedAfterHolepunchConnect: (int) 0,
> NumPeersDialableOnlyAfterHolepunch: (int) 0,
> NumPeersDialedSuccessfullyAfterHolepunchConnect: (int) 0,
> NumPeersProbablyOnlyConnectedDueToHolepunch: (int) 0
> }
> Torrents: 942
>
> DHT Announces on each torrent: 432
Another server
> Listen port: 14746
> Extension bits: 0000000000100005 (ltep, fast, dht)
> Announce key: -186fbcb9
> Banned IPs: 0
> udp DHT server at 0.0.0.0:14746:
> ID: a8b056bc30cdc1d44378c90ea2edd8e973649962
> (dht.ServerStats) {
> GoodNodes: (int) 10,
> Nodes: (int) 159,
> OutstandingTransactions: (int) 2973,
> SuccessfulOutboundAnnouncePeerQueries: (int64) 0,
> BadNodes: (uint) 0,
> OutboundQueriesAttempted: (int64) 1951953
> }
> (torrent.ClientStats) {
> ConnStats: (torrent.ConnStats) {
> BytesWritten: (torrent.Count) 38646,
> BytesWrittenData: (torrent.Count) 0,
> BytesRead: (torrent.Count) 3262765,
> BytesReadData: (torrent.Count) 0,
> BytesReadUsefulData: (torrent.Count) 0,
> BytesReadUsefulIntendedData: (torrent.Count) 0,
> ChunksWritten: (torrent.Count) 0,
> ChunksRead: (torrent.Count) 0,
> ChunksReadUseful: (torrent.Count) 0,
> ChunksReadWasted: (torrent.Count) 0,
> MetadataChunksRead: (torrent.Count) 197,
> PiecesDirtiedGood: (torrent.Count) 0,
> PiecesDirtiedBad: (torrent.Count) 0
> },
> ActiveHalfOpenAttempts: (int) 0,
> NumPeersUndialableWithoutHolepunch: (int) 58,
> NumPeersUndialableWithoutHolepunchDialedAfterHolepunchConnect: (int) 0,
> NumPeersDialableOnlyAfterHolepunch: (int) 0,
> NumPeersDialedSuccessfullyAfterHolepunchConnect: (int) 0,
> NumPeersProbablyOnlyConnectedDueToHolepunch: (int) 0
> }
> Torrents: 990
>
> DHT Announces on each torrent: 254
torrent v1.58.1, debian 12
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。