all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>,
	Christian Ebner <c.ebner@proxmox.com>
Subject: Re: [pbs-devel] [PATCH v4 proxmox-backup 5/5] fix #5331: garbage collection: avoid multiple chunk atime updates
Date: Tue, 25 Mar 2025 13:07:58 +0100	[thread overview]
Message-ID: <8b19c220-83ae-4554-9090-a55c4b84a70c@proxmox.com> (raw)
In-Reply-To: <093f7fcc-8c0d-46d0-b8bf-e09c0b0688a2@proxmox.com>

Am 25.03.25 um 12:56 schrieb Thomas Lamprecht:
> Am 21.03.25 um 10:32 schrieb Christian Ebner:
>> To reduce the number of atimes updates, keep track of the recently
>> marked chunks in phase 1 of garbage to avoid multiple atime updates
>> via expensive utimensat() calls.
>>
>> Recently touched chunks are tracked by storing the chunk digests in
>> an LRU cache of fixed capacity. By inserting a digest, the chunk will
>> be the most recently touched one and if already present in the cache
>> before insert, the atime update can be skipped.
> 
> Code-wise this looks alright to me, albeit I did not look at it in-depth,
> but what I'd be interested is documenting some more thoughts about how
> the size of the cache was chosen; even if it was mostly random then stating
> so can help a lot when rethinking this in the future, as then one doesn't
> have to guess if there was some more reasoning behind that.
> 
> Also some basic benchmarks might be great, even if from some random grown
> setup, as long as one describes it, like the overall pool data usage,
> deduplication factor, amount of backup groups, amount of snapshots and
> their rough age (distribution) and basic system characteristics like the
> cpu and basic parameters of the underlying storage, like filesystem type
> and (block) device type that backs it, as with that one can classify the
> change somewhat good enough.

Oh and it would naturally be nice to repeat that for some different LRU
cache sizes to see how that changes things – here the actual datastore
used naturally is a bit more important, maybe we use one of our more
production-like PBS instances in the testlab for that though and pass
the LRU sizes through some environment variable or the like in a testbuild.

Mentioning that the LRU should profit from the recent change to process
snapshots in a more logical order would be also good IMO.


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel

  reply	other threads:[~2025-03-25 12:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-21  9:31 [pbs-devel] [PATCH v4 proxmox-backup 0/5] fix #5331: GC: avoid multiple " Christian Ebner
2025-03-21  9:31 ` [pbs-devel] [PATCH v4 proxmox-backup 1/5] tools: lru cache: tell if node was already present or newly inserted Christian Ebner
2025-03-21  9:31 ` [pbs-devel] [PATCH v4 proxmox-backup 2/5] garbage collection: format error including anyhow error context Christian Ebner
2025-03-21  9:32 ` [pbs-devel] [PATCH v4 proxmox-backup 3/5] datastore: add helper method to open index reader from path Christian Ebner
2025-03-21  9:32 ` [pbs-devel] [PATCH v4 proxmox-backup 4/5] garbage collection: generate index file list via datastore iterators Christian Ebner
2025-03-25 12:09   ` Thomas Lamprecht
2025-03-21  9:32 ` [pbs-devel] [PATCH v4 proxmox-backup 5/5] fix #5331: garbage collection: avoid multiple chunk atime updates Christian Ebner
2025-03-25 11:56   ` Thomas Lamprecht
2025-03-25 12:07     ` Thomas Lamprecht [this message]
2025-03-25 13:05     ` Christian Ebner
2025-03-26 10:05 ` [pbs-devel] [PATCH v4 proxmox-backup 0/5] fix #5331: GC: avoid multiple " Christian Ebner

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

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

  git send-email \
    --in-reply-to=8b19c220-83ae-4554-9090-a55c4b84a70c@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=c.ebner@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal