unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Proposition to streamline our NAR collection to just zstd-compressed ones
@ 2024-01-10  2:32 Maxim Cournoyer
  2024-01-10 11:36 ` Ludovic Courtès
  2024-01-17 16:32 ` Simon Tournier
  0 siblings, 2 replies; 5+ messages in thread
From: Maxim Cournoyer @ 2024-01-10  2:32 UTC (permalink / raw)
  To: guix-devel, guix-sysadmin

Hello Guix, and Happy New Year!

It's been on my head for quite a bit of time (about 2 years, according
to [0]), to streamline our offering of cached nars.  Letting go of gzip
2 years ago, along a more aggressive garbage collection policy allowed
us to reduce our storage needs by at least 6.5 TiB.  I'm proposing to do
the same with our lzip compressed nars, to let go of an additional 3.9
TiB:

--8<---------------cut here---------------start------------->8---
$ du -sh /var/cache/guix/publish/{lzip,zstd}
3.9T    /var/cache/guix/publish/lzip
4.1T    /var/cache/guix/publish/zstd

$ find /var/cache/guix/publish/lzip -name '*.nar' | wc -l
4484645
$ find /var/cache/guix/publish/zstd -name '*.nar' | wc -l
4461195
--8<---------------cut here---------------end--------------->8---

The above suggests that zstd compressed nars are about 5% larger than
the lzip ones, which is not big enough to justify carrying both, in my
opinion.  In exchange for a little bit more bandwidth, users would have
the nars decompressed much faster with less CPU overhead locally.

Having our complete nars collection fit in around 4 TiB would also open
the door for simple rsync-based mirroring, which I have started working
on.

What do you think?  Should we go ahead and effect the following simple
change for the Berlin build farm?

--8<---------------cut here---------------start------------->8---
modified   hydra/modules/sysadmin/services.scm
@@ -683,7 +683,7 @@ to a selected directory.")
                    ;; <https://lists.gnu.org/archive/html/guix-devel/2021-01/msg00097.html>
                    ;; for the compression ratio/decompression speed
                    ;; tradeoffs.
-                   (compression '(("lzip" 9) ("zstd" 19)))
+                   (compression '(("zstd" 19)))
                    (cache-bypass-threshold cache-bypass-threshold)
                    (workers publish-workers)))
--8<---------------cut here---------------end--------------->8---

-- 
Thanks,
Maxim


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-01-18 10:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-10  2:32 Proposition to streamline our NAR collection to just zstd-compressed ones Maxim Cournoyer
2024-01-10 11:36 ` Ludovic Courtès
2024-01-15  8:31   ` Efraim Flashner
2024-01-18 10:13   ` Giovanni Biscuolo
2024-01-17 16:32 ` Simon Tournier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).