[Rpm-maint] [PATCH] RPMDB Performance

Florian Festi ffesti at redhat.com
Tue Aug 11 10:19:23 UTC 2009


I've done a couple of performance measurements around the rpmdb. It 
turns out that the huge number of f(data)sync calls is significantly 
slowing down RPM on todays ext[234] file systems.

Setting no_fsync in the rpmdb config drops the F10 Everything install 
--justdb from 2:51:00 to 4:50. The install without --justdb drops from 
5:38h to 1:20h (All with hot FS caches on my new desktop).

As my first two attempts (setting other config parameter as cache_size 
etc and using db4 transactions) have failed the attached patch does now 
switch off fsync for building the rpmdb indexes only. I don't have 
access to my desktop computer right now, but --justdb now takes 26:29 
instead of 11:21 with no_fsync on my (much slower) laptop. Nevertheless 
building the rpmdb with fsync enabled also takes 2:54h which indicates 
that it is primarily limited by the turning speed of the hard disk which 
seems to be the same on my laptop and desktop.

The patch still needs better integration into the rpmdb configuration 
system and dummy code for the sqlite backend.

Any thoughts or safety concerns?


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-Switch-off-fsync-while-editing-the-indexes-of-the-rp.patch
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20090811/ef768647/attachment.diff>

More information about the Rpm-maint mailing list