substitute: Don’t keep cache entries more than a few days.
Experience has shown that keeping too many entries increases disk usage and, more importantly, leads to long delays when cleaning up the cache, measured in minutes on slow or busy HDDs with hundreds of thousands of cache entries, as is common on build machines. In those cases, the cost of the cache outweighs its benefit. * guix/scripts/substitute.scm (%narinfo-expired-cache-entry-removal-delay): Reduce to 5 days. (cached-narinfo-expiration-time)[max-ttl]: Reduce to 2 days. Change-Id: Iab212f572ee9041be61716423a3c014f93fe81edmaster
parent
086fe7ef25
commit
7e00fb9f31
|
@ -77,7 +77,7 @@
|
||||||
|
|
||||||
(define %narinfo-expired-cache-entry-removal-delay
|
(define %narinfo-expired-cache-entry-removal-delay
|
||||||
;; How often we want to remove files corresponding to expired cache entries.
|
;; How often we want to remove files corresponding to expired cache entries.
|
||||||
(* 7 24 3600))
|
(* 5 24 3600))
|
||||||
|
|
||||||
(define (warn-about-missing-authentication)
|
(define (warn-about-missing-authentication)
|
||||||
(warning (G_ "authentication and authorization of substitutes \
|
(warning (G_ "authentication and authorization of substitutes \
|
||||||
|
@ -169,8 +169,9 @@ was found."
|
||||||
"Return the expiration time for FILE, which is a cached narinfo."
|
"Return the expiration time for FILE, which is a cached narinfo."
|
||||||
(define max-ttl
|
(define max-ttl
|
||||||
;; Upper bound on the TTL used to avoid keeping around cached narinfos for
|
;; Upper bound on the TTL used to avoid keeping around cached narinfos for
|
||||||
;; too long, which makes the cache bigger and more expensive to traverse.
|
;; too long, which makes the cache bigger and more expensive to traverse
|
||||||
(* 2 30 24 60 60)) ;2 months
|
;; when deleting old entries.
|
||||||
|
(* 2 24 60 60))
|
||||||
|
|
||||||
(catch 'system-error
|
(catch 'system-error
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
|
Reference in New Issue