!RROtHmAaQIkiJzJZZE:nixos.org

NixOS Infrastructure

386 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
@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
@arianvp:matrix.orgArianWould still cut down bandwidth and keep 404s "fast"17:53:53
@edef1c:matrix.orgedef
In reply to @edef1c:matrix.org
so like, for the most part you can do anything to the NAR datapath
sure, that is fine ^
17:54:00
@edef1c:matrix.orgedefall i aim to point at is that the narinfo datapath is uniquely sacred17:54:24
@edef1c:matrix.orgedefit is not where the heavy lifting is in terms of data volume17:54:32
@edef1c:matrix.orgedefnar requests are essentially guaranteed to hit (you were given the path in a narinfo, it will exist) and don't need to be particularly low-latency17:55:51
@flokli:matrix.orgflokliI still think it'd be very worthwhile to tap into narinfo uploads, so we can continuously update our data on narinfos that doesn't involve scraping millions of text files.17:58:22
@edef1c:matrix.orgedefyes17:58:30

Show newer messages


Back to Room ListRoom Version: 6