Skip site navigation (1) Skip section navigation (2)

Re: Fragmentation of WAL files

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Bill Moran <wmoran(at)collaborativefusion(dot)com>
Cc: Jim Nasby <decibel(at)decibel(dot)org>, Postgresql list Performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Fragmentation of WAL files
Date: 2007-04-26 12:10:21
Message-ID: 463096AD.4020707@enterprisedb.com (view raw or flat)
Thread:
Lists: pgsql-performance
Bill Moran wrote:
> In response to Jim Nasby <decibel(at)decibel(dot)org>:
> 
>> I was recently running defrag on my windows/parallels VM and noticed  
>> a bunch of WAL files that defrag couldn't take care of, presumably  
>> because the database was running. What's disturbing to me is that  
>> these files all had ~2000 fragments. Now, this was an EnterpriseDB  
>> database which means the WAL files were 64MB instead of 16MB, but  
>> even having 500 fragments for a 16MB WAL file seems like it would  
>> definitely impact performance.
> 
> I don't know about that.  I've seen marketing material that claims that
> modern NTFS doesn't suffer performance problems from fragmentation.  I've
> never tested it myself, but my point is that you might want to do some
> experiments -- you might find out that it doesn't make any difference.
> 
> If it does, you should be able to stop the DB, defragment the files, then
> start the DB back up.  Since WAL files are recycled, they shouldn't
> fragment again -- unless I'm missing something.
> 
> If that works, it may indicate that (on Windows) a good method for installing
> is to create all the necessary WAL files as empty files before launching
> the DB.

If that turns out to be a problem, I wonder if it would help to expand 
the WAL file to full size with ftruncate or something similar, instead 
of growing it page by page.

>> Can anyone else confirm this? I don't know if this is a windows-only  
>> issue, but I don't know of a way to check fragmentation in unix.
> 
> I can confirm that it's only a Windows problem.  No UNIX filesystem
> that I'm aware of suffers from fragmentation.

What do you mean by suffering? All filesystems fragment files at some 
point. When and how differs from filesystem to filesystem. And some 
filesystems might be smarter than others in placing the fragments.

There's a tool for Linux in the e2fsprogs package called filefrag that 
shows the fragmentation of a file, but I've never used it myself.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

In response to

Responses

pgsql-performance by date

Next:From: Bill MoranDate: 2007-04-26 13:14:32
Subject: Filesystem fragmentation (Re: Fragmentation of WAL files)
Previous:From: Bill MoranDate: 2007-04-26 12:00:50
Subject: Re: Fragmentation of WAL files

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group