Rebuild: prefetch report samples what the connections do
Once a second: pool connections with a command in flight, loops fetching/writing/idle; per request GROUP time, XOVER time to the status line and the transfer, transfers with a silence over 5 s. The old "connections busy" (fetch time of the chunks finished in the minute) said 59-75% while all 40 connections were in flight all the time: dropped. Homelab: 39-40 of 40 in flight, no idle loops; the status line comes at once, the whole 8-35 s is the transfer, with data flowing (few gaps over 5 s): ~3 MB per chunk at 0.1-0.4 MB/s per connection. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8475969145
commit
4bf526ab6e
3 files changed
+109
-16
No files matched your search
@@ -32,6 +32,11 @@ class NntpPool {
|
||||
return this.acquire().then((client) => this.run(client, work))
|
||||
}
|
||||
|
||||
/** Connections with a command in flight (the prefetcher's, the planner's). */
|
||||
get busyCount() {
|
||||
return this.busy.size
|
||||
}
|
||||
|
||||
/** How long ago the connection was opened, in ms. */
|
||||
ageOf(client: XoverClient): number {
|
||||
return Date.now() - (this.openedAt.get(client) ?? Date.now())
|
||||
|
||||
Reference in new issue
Block a user