Space reconciliation passes by ten times the last pass's time (closes #250)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
The reconciliation pass reads a row and stats a file for every cached file, and it ran on every eviction tick, so on a large cache a pass longer than the tick was followed by the next one at once. It still runs at startup and is considered on each tick, but it now starts no sooner than ten times as long after the last pass ended as that pass took. Eviction and the removal of expired negative cache rows still run on every tick. The comments that bound the drift, and README.md, give the new bound. Model: opus-5-5
This commit is contained in:
@@ -199,7 +199,9 @@ into place, so a crash leaves no file under its own name with part of its data.
|
||||
When pixa starts, and every five minutes after, it removes each cached source or
|
||||
transformed image whose file is empty, or not the size the database records for
|
||||
it, with a warning naming the file; the next request for it fetches the source
|
||||
or converts the image again.
|
||||
or converts the image again. Looking for those files reads the database once for
|
||||
every cached file, so after a look that took longer than 30 seconds, pixa waits
|
||||
ten times as long as it took before looking again.
|
||||
|
||||
pixa's target is 1-5k r/s, which has not been measured at that rate (see Load
|
||||
Test). Toward it, pixa keeps in memory the content types of the 10,000
|
||||
|
||||
Reference in New Issue
Block a user