From 00adf18c2470a69c255ea75990bbbae6e57eea89 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Thu, 3 Aug 2023 10:34:35 +0100 Subject: [feature] simpler cache size configuration (#2051) * add automatic cache max size generation based on ratios of a singular fixed memory target Signed-off-by: kim * remove now-unused cache max-size config variables Signed-off-by: kim * slight ratio tweak Signed-off-by: kim * remove unused visibility config var Signed-off-by: kim * add secret little ratio config trick Signed-off-by: kim * fixed a word Signed-off-by: kim * update cache library to remove use of TTL in result caches + slice cache Signed-off-by: kim * update other cache usages to use correct interface Signed-off-by: kim * update example config to explain the cache memory target Signed-off-by: kim * update env parsing test with new config values Signed-off-by: kim * do some ratio twiddling Signed-off-by: kim * add missing header * update envparsing with latest defaults Signed-off-by: kim * update size calculations to take into account result cache, simple cache and extra map overheads Signed-off-by: kim * tweak the ratios some more Signed-off-by: kim * more nan rampaging Signed-off-by: kim * fix envparsing script Signed-off-by: kim * update cache library, add sweep function to keep caches trim Signed-off-by: kim * sweep caches once a minute Signed-off-by: kim * add a regular job to sweep caches and keep under 80% utilisation Signed-off-by: kim * remove dead code Signed-off-by: kim * add new size library used to libraries section of readme Signed-off-by: kim * add better explanations for the mem-ratio numbers Signed-off-by: kim * update go-cache Signed-off-by: kim * library version bump Signed-off-by: kim * update cache.result{} size model estimation Signed-off-by: kim --------- Signed-off-by: kim --- internal/transport/controller.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'internal/transport/controller.go') diff --git a/internal/transport/controller.go b/internal/transport/controller.go index 83fad8038..9055b147f 100644 --- a/internal/transport/controller.go +++ b/internal/transport/controller.go @@ -50,7 +50,7 @@ type controller struct { fedDB federatingdb.DB clock pub.Clock client httpclient.SigningClient - trspCache cache.Cache[string, *transport] + trspCache cache.TTLCache[string, *transport] userAgent string senders int // no. concurrent batch delivery routines. } @@ -76,7 +76,7 @@ func NewController(state *state.State, federatingDB federatingdb.DB, clock pub.C fedDB: federatingDB, clock: clock, client: client, - trspCache: cache.New[string, *transport](0, 100, 0), + trspCache: cache.NewTTL[string, *transport](0, 100, 0), userAgent: fmt.Sprintf("%s (+%s://%s) gotosocial/%s", applicationName, proto, host, version), senders: senders, } -- cgit v1.2.3