E.g. Create a /var/lib/rpm/DB_CONFIG file with these 2 lines:
set_cachesize 0 67108864 4
set_mp_mmapsize 268435456
1st line permits 4 cache files of 64Mb
2nd line pemits up to 256Mb to be memory mapped.
Prime the cache by running as root
rpm -qa
Show cache hits by doing
cd /var/lib/rpm
/usr/lib/rpm/db_stat -m
Adding -Z will rezero the counters.
The above is a rather different I/O trace than you have reported with strace.
Yes, O_DIRECT with Berkeley DB likely knows better than the kernel ;-)
And "quick hacks" tend to get forgotten. You have no idea how many "quick hacks"
there are in RPM that noone has a clue about.
I have no problem whatsoever using available I/O performance in a linux
kernel. But tuning a database != a tuna fish.
We are tuning different aspectsof I/O perfomance.
E.g. Create a /var/lib/ rpm/DB_ CONFIG file with these 2 lines:
set_cachesize 0 67108864 4
set_mp_mmapsize 268435456
1st line permits 4 cache files of 64Mb
2nd line pemits up to 256Mb to be memory mapped.
Prime the cache by running as root
rpm -qa
Show cache hits by doing lib/rpm/ db_stat -m
cd /var/lib/rpm
/usr/
Adding -Z will rezero the counters.
The above is a rather different I/O trace than you have reported with strace.
Yes, O_DIRECT with Berkeley DB likely knows better than the kernel ;-)
And "quick hacks" tend to get forgotten. You have no idea how many "quick hacks"
there are in RPM that noone has a clue about.
I have no problem whatsoever using available I/O performance in a linux
kernel. But tuning a database != a tuna fish.