Re: [PERFORM] Re: Faster CREATE DATABASE by delaying fsync (was 8.4.1 ubuntu karmic slow createdb)

2010-01-19 Thread Andres Freund
Hi Greg,

On Monday 18 January 2010 17:35:59 Greg Stark wrote: 
 2) Why does the second pass to do the fsyncs read through fromdir to
 find all the filenames. I find that odd and counterintuitive. It would
 be much more natural to just loop through the files in the new
 directory. But I suppose it serves as an added paranoia check that the
 files are in fact still there and we're not fsyncing any files we
 didn't just copy. I think it should still work, we should have an
 exclusive lock on the template database so there really ought to be no
 differences between the directory trees.
If it weren't safe we would already have a big problem

Andres

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


Re: [PERFORM] Re: Faster CREATE DATABASE by delaying fsync (was 8.4.1 ubuntu karmic slow createdb)

2010-01-19 Thread Greg Smith

Greg Stark wrote:

On Tue, Jan 19, 2010 at 2:52 PM, Greg Stark gsst...@mit.edu wrote:
  

Barring any objections shall I commit it like this?



Actually before we get there could someone who demonstrated the
speedup verify that this patch still gets that same speedup?
  


I think the final version of this patch could use at least one more 
performance checking report that it does something useful.  We got a lot 
of data from Andres, but do we know that the improvements here hold for 
others too?  I can take a look at it later this week, I have some 
interest in this area.


--
Greg Smith2ndQuadrant   Baltimore, MD
PostgreSQL Training, Services and Support
g...@2ndquadrant.com  www.2ndQuadrant.com



Re: [PERFORM] Re: Faster CREATE DATABASE by delaying fsync (was 8.4.1 ubuntu karmic slow createdb)

2009-12-28 Thread david

On Tue, 29 Dec 2009, Greg Stark wrote:


On Mon, Dec 28, 2009 at 10:54 PM, Andres Freund and...@anarazel.de wrote:

fsync everything in that pass.
Including the directory - which was not done before and actually might be
necessary in some cases.


Er. Yes. At least on ext4 this is pretty important. I wish it weren't,
but it doesn't look like we're going to convince the ext4 developers
they're crazy any day soon and it would really suck for a database
created from a template to have files in it go missin.


actually, as I understand it you need to do this on all filesystems except 
ext3, and on ext3 fsync is horribly slow because it writes out 
_everything_ that's pending, not just stuff related to the file you do the 
fsync on.


David Lang

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance