From d48831aa9e130dd48e8a1787bc900acfaafc806c Mon Sep 17 00:00:00 2001 From: sent Date: Mon, 19 May 2025 19:10:25 -0700 Subject: [PATCH] Perf --- others/scaler.mjs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 others/scaler.mjs diff --git a/others/scaler.mjs b/others/scaler.mjs new file mode 100644 index 00000000..ad418f10 --- /dev/null +++ b/others/scaler.mjs @@ -0,0 +1,15 @@ +import NodeCache from 'node-cache'; + +const cache = new NodeCache({ stdTTL: 345600, checkperiod: 3600, useClones: false }); + +function scaleCache() { + const mem = process.memoryUsage(); + const freeHeap = mem.heapTotal - mem.heapUsed; + const ratio = freeHeap / mem.heapTotal; + + const max = ratio > 0.5 ? 20000 : ratio < 0.2 ? 5000 : 10000; + cache.options.maxKeys = max; + console.log(`[SCALER] freeHeap ${(freeHeap/1e6).toFixed(1)}MB maxKeys → ${max}`); +} + +setInterval(scaleCache, 60_000); \ No newline at end of file