Thread: effects of posix_fadvise on WAL logs
Hi all, Does anyone have any tests that showcase benefits from the posix_fadvise changes in xlog.c? I tried running some tests with dbt2 to see if any performance changes could be seen with 8.4beta2. I thought an OLTP type test with a lot of inserts and updates would be a good test. Unfortunately, I don't think I see anything interesting. I was hoping to see less page cache activity, but maybe I'm not looking correctly. Maybe there isn't enough activity to the WAL relative to the rest of the database to show anything interesting? Here are the tests I ran: Baseline on 8.4beta2, using wal_sync_method=fsync: http://207.173.203.223/~markwkm/community6/dbt2/m1500-8.4beta2/m1500.8.4beta2.2/report/ Next set wal_sync_method=open_sync for postix_fadvise: http://207.173.203.223/~markwkm/community6/dbt2/m1500-8.4beta2/m1500.8.4beta2.osync1/report/ Now using the attached patch, with wal_sync_method=open_sync: http://207.173.203.223/~markwkm/community6/dbt2/m1500-8.4beta2/m1500.8.4beta2.osync2/report/ I created the patch because currently posix_fadvise is used right before the file handle to the WAL log is closed. I think posix_fadvise needs to be called when the file is opened. Regards, Mark Wong
Attachment
On Tue, 26 May 2009, Mark Wong wrote: > Maybe there isn't enough activity to the WAL relative to the rest of the > database to show anything interesting? Maybe you could reduce checkpoint_segments and focus on UPDATEs? That's how I've been able to generate the most WAL activity relative to database writes in the past, because of the full_page_writes behavior. Quoth the docs: "To ensure data page consistency, the first modification of a data page after each checkpoint results in logging the entire page content. In that case, a smaller checkpoint interval increases the volume of output to the WAL log, partially negating the goal of using a smaller interval, and in any case causing more disk I/O." You've got checkpoint_segments set to 3000 in your tests and checkpoint_time to 1 hour, which means the tests you ran are really generating minimal WAL volume. -- * Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD