unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Mathieu Othacehe <othacehe@gnu.org>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: 51787@debbugs.gnu.org
Subject: bug#51787: Disk performance on ci.guix.gnu.org
Date: Tue, 21 Dec 2021 19:23:28 +0100	[thread overview]
Message-ID: <874k71g6lb.fsf@gnu.org> (raw)
In-Reply-To: <87v8zhn9m1.fsf@elephly.net> (Ricardo Wurmus's message of "Tue, 21 Dec 2021 18:26:03 +0100")


Hey,

> Today we discovered a few more things and discussed them on IRC.  Here’s
> a summary.

Nice summary :)

> We could take this opportunity to reformat /gnu with btrfs, which
> performs quite a bit more poorly than ext4 but would be immune to
> defragmentation.  It’s not clear that defragmentation matters here.  It
> could just be that the problem is exclusively caused by having these
> incredibly large, flat /gnu/store, /gnu/store/.links, and
> /gnu/store/trash directories.
>
> A possible alternative for this file system might also be XFS, which
> performs well when presented with unreasonably large directories.
>
> It may be a good idea to come up with realistic test scenarios that we
> could test with each of these three file systems at scale.

We could compare xfs, btrfs and ext4 performances on a store subset,
1TiB for instance that we would create on the SAN. Realistic test
scenario could be:

- Time the copy of new items to the test store.
- Time the removal of randomly picked items from the test store.
- Time the creation of nar archives from the test store.

That will allow us to choose the file-system that has the best
performances for our use-case, regardless of fragmentation.

Now fragmentation may or may not be a problem as you mentioned. What we
could do is repeat the same tests but on a test store that is created
and removed N times, to simulate file-system aging.

This is more or less what is done in this article[1] by "git pulling" N
times a repository and testing read performances. For them btrfs > xfs >
ext4 in term of performances, but we might draw different conclusions
for our specific use case.

Do you think it is realistic? If so, we can start working on some test
scripts.

Thanks,

Mathieu

[1]: https://www.usenix.org/system/files/hotstorage19-paper-conway.pdf




  parent reply	other threads:[~2021-12-21 18:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <875yrjpi1y.fsf@elephly.net>
2021-12-20 16:59 ` bug#51787: Disk performance on ci.guix.gnu.org Mathieu Othacehe
2021-12-20 17:05   ` Ricardo Wurmus
2021-12-20 21:53     ` Mathieu Othacehe
2021-12-21 17:26       ` Ricardo Wurmus
2021-12-21 17:51         ` Leo Famulari
2021-12-21 18:23         ` Mathieu Othacehe [this message]
2021-12-21 23:20         ` Bengt Richter
2021-12-22  0:27         ` Thiago Jung Bauermann via Bug reports for GNU Guix
2021-12-25 22:19         ` Ricardo Wurmus
2021-12-26  8:53           ` Mathieu Othacehe
2021-12-30 10:44             ` Ricardo Wurmus
2021-12-20 18:36   ` Bengt Richter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874k71g6lb.fsf@gnu.org \
    --to=othacehe@gnu.org \
    --cc=51787@debbugs.gnu.org \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).