Re: strange performance regression between 7.4 and 8.1 - Mailing list pgsql-performance

From Alex Deucher
Subject Re: strange performance regression between 7.4 and 8.1
Date
Msg-id a728f9f90703011412kd8c8535wad5058319d07ede0@mail.gmail.com
Whole thread Raw
In response to Re: strange performance regression between 7.4 and 8.1  (Jeff Frost <jeff@frostconsultingllc.com>)
Responses Re: strange performance regression between 7.4 and 8.1
List pgsql-performance
On 3/1/07, Jeff Frost <jeff@frostconsultingllc.com> wrote:
> On Thu, 1 Mar 2007, Alex Deucher wrote:
>
> > On 3/1/07, Jeff Frost <jeff@frostconsultingllc.com> wrote:
> >> On Thu, 1 Mar 2007, Alex Deucher wrote:
> >>
> >> >> Vacuum? Analayze? default_statistics_target? How many shared_buffers?
> >> >> effective_cache_size? work_mem?
> >> >>
> >> >
> >> > I'm running the autovacuum process on the 8.1 server.  vacuuming on
> >> > the old server was done manually.
> >> >
> >> > default_statistics_target and effective_cache_size are set to the the
> >> > defaults on both.
> >> >
> >> > postgres 7.4 server:
> >> > # - Memory -
> >> > shared_buffers = 82000 # 1000            min 16, at least
> >> > max_connections*2, 8KB each
> >> > sort_mem = 8000        # 1024            min 64, size in KB
> >> > vacuum_mem = 32000     # 8192            min 1024, size in KB
> >> > # - Free Space Map -
> >> > #max_fsm_pages = 20000          # min max_fsm_relations*16, 6 bytes each
> >> > #max_fsm_relations = 1000       # min 100, ~50 bytes each
> >> > # - Kernel Resource Usage -
> >> > #max_files_per_process = 1000   # min 25
> >> >
> >> > postgres 8.1 server:
> >> > # - Memory -
> >> > shared_buffers = 100000                 # min 16 or max_connections*2,
> >> 8KB
> >> > each
> >> > temp_buffers = 2000 #1000                       # min 100, 8KB each
> >> > max_prepared_transactions = 100 #5              # can be 0 or more
> >> > # note: increasing max_prepared_transactions costs ~600 bytes of shared
> >> > memory
> >> > # per transaction slot, plus lock space (see max_locks_per_transaction).
> >> > work_mem = 10000        #1024           # min 64, size in KB
> >> > maintenance_work_mem = 524288 #16384            # min 1024, size in KB
> >> > #max_stack_depth = 2048                 # min 100, size in KB
> >> >
> >> > I've also tried using the same settings from the old server on the new
> >> > one; same performance issues.
> >> >
> >>
> >> If this is a linux system, could you give us the output of the 'free'
> >> command?
> >
> >            total       used       free     shared    buffers     cached
> > Mem:       8059852    8042868      16984          0        228    7888648
> > -/+ buffers/cache:     153992    7905860
> > Swap:     15631224       2164   15629060
>
> So, I would set effective_cache_size = 988232 (7905860/8).
>
> >
> >> Postgresql might be choosing a bad plan because your effective_cache_size
> >> is
> >> way off (it's the default now right?).  Also, what was the block read/write
> >
> > yes it's set to the default.
> >
> >> speed of the SAN from your bonnie tests?  Probably want to tune
> >> random_page_cost as well if it's also at the default.
> >>
> >
> >                   ------Sequential Output------ --Sequential Input-
> > --Random-
> >                   -Per Chr- --Block-- -Rewrite- -Per Chr- --Block--
> > --Seeks--
> > Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec
> > %CP
> > luna12-san   16000M 58896  91 62931   9 35870   5 54869  82 145504 13  397.7
> > 0
> >
>
> So, you're getting 62MB/s writes and 145MB/s reads.  Just FYI, that write
> speed is about the same as my single SATA drive write speed on my workstation,
> so not that great.  The read speed is decent, though and with that sort of
> read performance, you might want to lower random_page_cost to something like
> 2.5 or 2 so the planner will tend to prefer index scans.
>

Right, but the old box was getting ~45MBps on both reads and writes,
so it's an improvement for me :)  Thanks for the advice, I'll let you
know how it goes.

Alex

pgsql-performance by date:

Previous
From: Jeff Frost
Date:
Subject: Re: strange performance regression between 7.4 and 8.1
Next
From: Stephan Szabo
Date:
Subject: Re: Identical Queries