Celler: An Attic Fork

I’m glad I’m not the only one who thought a fork was in order. For me, I have two pain points with Attic:

First, it fails on uploading exceptionally large NARs. I have one that is about 120GB (it is a Wikipedia English Zim file, so it is a single file at that size). That one causes the client to crash, because it was reading the entire file into memory at 2 or 3 separate points during the upload, and my build machines do NOT have 360GB of RAM. I maintain a patch for that on the client side, applied as an override to my nixpkgs.

My second pain is that network speeds are dog slow. Uploads can get up to about 20MB/s tops and downloads struggle to stay at 10MB/s. This is on hardware that routinely transfers other files at well over 200MB/s using other protocols and is highly capable: server side is a Xeon v4, 128GB of RAM, backed with an 11-wide ZFS SAS array with a 10Gb connection and client is an i7 155H, 64GB of RAM, 2.5Gb ethernet, saving to an NVMe drive. Both hooked to the same switch with negligible latency. NFS, SMB, and Minio transfers are hella-fast between the two systems, but Attic is painfully slow.

3 Likes