What: resources.read_disk_usage walks the entire server tree on every Resources card poll (every 5s).
Why: For a multi-GB world this hits disk continuously. Doesn't scale beyond a handful of servers.
Approach: Cache the result keyed by (server_id, mtime of server root) — invalidate when the root's mtime advances. Or split the poll cadence: stats every 5s, disk usage every 60s.
What:
resources.read_disk_usagewalks the entire server tree on every Resources card poll (every 5s).Why: For a multi-GB world this hits disk continuously. Doesn't scale beyond a handful of servers.
Approach: Cache the result keyed by (server_id, mtime of server root) — invalidate when the root's mtime advances. Or split the poll cadence: stats every 5s, disk usage every 60s.