Commit 417e284
Stagger the hourly refreshes and shorten their budget
grab_concurrency is per process, not global, and hourly refresh took the
concurrent process count from three to six - so the worker ceiling went from 3x8
to 6x8. Measured after eight hours: load average 50.89 on two vCPUs, memory at
2615 MB of 3801 with 217 MB free, against ~5 and 1336 MB before. Nothing had
skipped, but that is one bad hour from an OOM kill, which would take a whole run's
unwritten results with it.
Staggering to :00/:20/:40 only works if the budget fits in the gap. At 3300s the
three runs still overlap two and three deep and the peak is unchanged - the
stagger on its own does nothing, which is what I had recommended. At 1100s exactly
one refresh is live at any moment, so the ceiling is 3x8 + 1x8 = 32.
The cost is coverage: roughly a third of the hosts per protocol per hour, so
cycles stretch from ~2.5 to ~7.2 days for https and ~1.6 to ~4.6 for ssh. Still
far short of the months it was heading for when refresh ran daily, and the trade
buys back the headroom that made the box unsafe to leave overnight.
Scan durations held through all of it - no skips in eight hours, ssh at
3375-3410s against a 2737s nominal, so its shortened window absorbed a +638s
overrun that would have breached at the old 3128s.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 6505d6a commit 417e284
2 files changed
Lines changed: 18 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
350 | | - | |
351 | | - | |
352 | | - | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
353 | 364 | | |
354 | 365 | | |
355 | 366 | | |
| |||
364 | 375 | | |
365 | 376 | | |
366 | 377 | | |
367 | | - | |
368 | | - | |
| 378 | + | |
| 379 | + | |
369 | 380 | | |
370 | 381 | | |
371 | 382 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | 139 | | |
148 | 140 | | |
149 | 141 | | |
| |||
0 commit comments