Re: bad performance on Solaris 10

From: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Luke Lonergan <llonergan(at)greenplum(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Chris Mair <list(at)1006(dot)org>, pgsql-performance(at)postgresql(dot)org, markir(at)paradise(dot)net(dot)nz, Josh Berkus <josh(at)agliodbs(dot)com>
Subject: Re: bad performance on Solaris 10
Date: 2006-04-14 14:02:10
Message-ID: 443FAB62.7010307@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi Bruce,

I saw even on this alias also that people assumed that the default
wal_sync_method was fsync on Solaris.

I would select fsync or fdsync as the default on Solaris. (I prefer
fsync as it is already highlighted as default in postgresql)

Another thing to improve the defaults on Solaris will be to increase the
defaults of
wal_buffers
and
checkpoint_segments

(I think in 8.1 checkpoint_segments have been already improved to a
default of 8 from the previous 3 and that may be already some help in
performance out there. )

These three changes improve out-of-box performance of PostgreSQL quite a
bit on Solaris (SPARC as well as x64 platforms).

Then you will suddenly see decrease in the number of people PostgreSQL
community complaining about Solaris 10, as well as Solaris community
complaining about PostgreSQL. (The benefits are mutual)

Don't get me wrong. As Luke mentioned it took a while to get the
potential of PostgreSQL on Solaris and people like me start doing other
complex workarounds in Solaris like "forcedirectio", etc. (Yeah I did a
test, if you force fsync as wal_sync_method while on Solaris, then
you may not even require to do forcedirectio of your $PGDATA/pg_xlogs to
get back the lost performance)

If we had realized that fsync/odatasync difference was the culprit we
could have saved couple of months of efforts.

Yes I agree that putting OS specific things in PostgreSQL hurts
community and sticking to POSIX standards help.

Just my two cents.

Regards,
Jignesh

Bruce Momjian wrote:

>Jignesh K. Shah wrote:
>
>
>>Bruce,
>>
>>Hard to answer that... People like me who know and love PostgreSQL and
>>Solaris finds this as an opportunity to make their favorite database
>>work best on their favorite operating system.
>>
>>Many times PostgreSQL has many things based on assumption that it will
>>run on Linux and it is left to Solaris to emulate that behavior.That
>>said there are ways to improve performance even on UFS on Solaris, it
>>just requires more tweaks.
>>
>>Hopefully this will lead to few Solaris friendly default values like
>>fsync/odatasync :-)
>>
>>
>
>Yes, if someone wants to give us a clear answer on which wal_sync method
>is best on all versions of Solaris, we can easily make that change.
>
>
>

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2006-04-14 15:12:55 Re: Blocks read for index scans
Previous Message Julien Drouard 2006-04-14 13:13:43 pg_toast size