!RROtHmAaQIkiJzJZZE:nixos.org

NixOS Infrastructure

387 Members
Next Infra call: 2024-07-11, 18:00 CEST (UTC+2) | Infra operational issues backlog: https://github.com/orgs/NixOS/projects/52 | See #infra-alerts:nixos.org for real time alerts from Prometheus.120 Servers

Load older messages


SenderMessageTime
1 Jun 2025
@edef1c:matrix.orgedef 404s aren't cacheable, since presence isn't immutable 17:43:23
@arianvp:matrix.orgArianAaaaaah 17:43:33
@edef1c:matrix.orgedefand 404s tend to be unique requests17:43:35
@arianvp:matrix.orgArianYes. I see what you're getting at now17:43:45
@edef1c:matrix.orgedef every nix build is bottlenecked on cno 404s 17:43:48
@edef1c:matrix.orgedef * every nix build is bottlenecked on c.n.o 404s 17:43:52
@arianvp:matrix.orgArianWe don't cache them at all? Because we DO cache 404s locally 17:44:52
@arianvp:matrix.orgArian(found that out the hard way)17:44:57
@edef1c:matrix.orgedefwe cache them at most briefly, but this isn't the point17:45:30
@edef1c:matrix.orgedefevery derivation you build that isn't cached doesn't start building until it has been confirmed it 404s17:45:47
@edef1c:matrix.orgedefapproximately 100% of all nix derivations aren't in the cache17:46:02
@edef1c:matrix.orgedefthe caching is in the wrong direction17:46:29
@edef1c:matrix.orgedefcaching absences buys you essentially nothing17:46:42
@edef1c:matrix.orgedefthere are 1461501637330902918203684832716283019655932542976 (2^160) store paths, most of which are absent from the cache17:47:04
@edef1c:matrix.orgedefwe only have 2^28 or so present store paths17:47:31
@edef1c:matrix.orgedefyour 404 cache cannot fit 2^160 items17:47:41
@arianvp:matrix.orgArianBloom Filter?17:48:01
@arianvp:matrix.orgArianAnyhow I digress. My idea definitely seems too simplistic17:48:12
@edef1c:matrix.orgedefyes, a bloom filter works17:48:18
@vcunat:matrix.orgVladimír ČunátIt's normal to cache even over larger spaces than 2^160.17:48:20
@vcunat:matrix.orgVladimír Čunát(I do that at work.)17:48:37
@edef1c:matrix.orgedefbut a bloom filter only kicks the can down the road, it only answers "probably present", etc17:49:30
@edef1c:matrix.orgedefyou'll improve p95 latency but not p10017:49:49
@edef1c:matrix.orgedefit is an improvement, but the actual hashset fits in memory easily17:50:28
@arianvp:matrix.orgArianOur p100 times probably pretty bad now too. S3 fetch across the continent is not particularly fast 17:51:18
@edef1c:matrix.orgedefthis is true, yes17:51:32
@edef1c:matrix.orgedef sticking the narinfos in postgres would be easy and get us a bloom filter with a CREATE INDEX 17:52:13
@edef1c:matrix.orgedefi forget what backends we currently have for the snix narinfo service but "just a database" is the straightforward answer17:52:59
@edef1c:matrix.orgedefan object store full of text files is just an awkward answer17:53:16
@arianvp:matrix.orgArianWhat if we only do my idea for Nars and not narinfos 17:53:36

Show newer messages


Back to Room ListRoom Version: 6