Re: [PERFORM] pgbench results on a new server

2010-06-29 Thread Greg Smith

Craig James wrote:
synchronous_commit = off 
full_page_writes = off


I don't have any numbers handy on how much turning synchronous_commit 
and full_page_writes off improves performance on a system with a 
battery-backed write cache.  Your numbers are therefore a bit inflated 
against similar ones that are doing a regular sync commit.  Just 
something to keep in mind when comparing against other people's results.


Also, just as a general comment, increase in work_mem and 
effective_cache_size don't actually do anything to the built-in pgbench 
test results.



General numbers are OK, the major drop going from 30 to 40 clients is
larger than it should be. I'd suggest running the 40 client count one
again to see if that's consistent.


It is consistent.  When I run pgbench from a different server, I get 
this:


   pgbench -c40 -t 2500 -U test
   tps = 7999

   pgbench -c100 -t 1000 -U test
   tps = 6693


Looks like you're just running into the limitations of the old pgbench 
code failing to keep up with high client count loads when run on the 
same system as the server.  Nothing to be concerned about--that the drop 
is only small with the pgbench client remote says there's not actually a 
server problem here.


With that sorted out, your system looks in the normal range for the sort 
of hardware you're using.  I'm always concerned about the potential 
reliability issues that come with async commit and turning off full page 
writes though, so you might want to re-test with those turned on and see 
if you can live with the results.


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


--
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] pgbench results on a new server

2010-06-29 Thread Merlin Moncure
On Mon, Jun 28, 2010 at 1:12 PM, Craig James  wrote:
> On 6/25/10 12:03 PM, Greg Smith wrote:
>>
>> Craig James wrote:
>>>
>>> I've got a new server and want to make sure it's running well.
>>
>> Any changes to the postgresql.conf file? Generally you need at least a
>> moderate shared_buffers (1GB or so at a minimum) and checkpoint_segments
>> (32 or higher) in order for the standard pgbench test to give good
>> results.
>
> max_connections = 500
> shared_buffers = 1000MB
> work_mem = 128MB
> synchronous_commit = off
> full_page_writes = off
> wal_buffers = 256kB
> checkpoint_segments = 30
> effective_cache_size = 4GB
>
> For fun I ran it with the installation defaults, and it never got above 1475
> TPS.
>
>>> pgbench -c20 -t 5000 -U test
>>> tps = 5789
>>> pgbench -c30 -t  -U test
>>> tps = 6961
>>> pgbench -c40 -t 2500 -U test
>>> tps = 2945
>>
>> General numbers are OK, the major drop going from 30 to 40 clients is
>> larger than it should be. I'd suggest running the 40 client count one
>> again to see if that's consistent.
>
> It is consistent.  When I run pgbench from a different server, I get this:
>
>   pgbench -c40 -t 2500 -U test
>   tps = 7999
>
>   pgbench -c100 -t 1000 -U test
>   tps = 6693

6k tps over 8 7200 rpm disks is quite good imo.  synchronous_commit
setting is making that possible.  building a server that could handle
that much was insanely expensive just a few years ago, on relatively
cheap sorage. that's 21m transactions an hour or ~ half a billion
transactions a day (!).  running this kind of load 24x7 on postgres
7.x would have been an enormous headache.   how quickly we forget! :-)

your 'real' tps write, 1475 tps, spread over 4 disks doing the actual
writing, is giving you ~ 370 tps/device.  not bad at all -- the raid
controller is doing a good job (the raw drive might get 200 or so).  I
bet performance will be somewhat worse with a higher scaling factor
(say, 500) because there is less locality of writes -- something to
consider if you expect your database to get really big.

merlin

-- 
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] pgbench results on a new server

2010-06-28 Thread Craig James

On 6/25/10 12:03 PM, Greg Smith wrote:

Craig James wrote:

I've got a new server and want to make sure it's running well.


Any changes to the postgresql.conf file? Generally you need at least a
moderate shared_buffers (1GB or so at a minimum) and checkpoint_segments
(32 or higher) in order for the standard pgbench test to give good results.


max_connections = 500
shared_buffers = 1000MB
work_mem = 128MB
synchronous_commit = off
full_page_writes = off
wal_buffers = 256kB
checkpoint_segments = 30
effective_cache_size = 4GB

For fun I ran it with the installation defaults, and it never got above 1475 
TPS.


pgbench -c20 -t 5000 -U test
tps = 5789
pgbench -c30 -t  -U test
tps = 6961
pgbench -c40 -t 2500 -U test
tps = 2945


General numbers are OK, the major drop going from 30 to 40 clients is
larger than it should be. I'd suggest running the 40 client count one
again to see if that's consistent.


It is consistent.  When I run pgbench from a different server, I get this:

   pgbench -c40 -t 2500 -U test
   tps = 7999

   pgbench -c100 -t 1000 -U test
   tps = 6693

Craig

--
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] pgbench results on a new server

2010-06-25 Thread Greg Smith

Craig James wrote:

I've got a new server and want to make sure it's running well.


Any changes to the postgresql.conf file?  Generally you need at least a 
moderate shared_buffers (1GB or so at a minimum) and checkpoint_segments 
(32 or higher) in order for the standard pgbench test to give good results.




pgbench -c20 -t 5000 -U test
tps = 5789
pgbench -c30 -t  -U test
tps = 6961
pgbench -c40 -t 2500 -U test
tps = 2945


General numbers are OK, the major drop going from 30 to 40 clients is 
larger than it should be.  I'd suggest running the 40 client count one 
again to see if that's consistent.  If it is, that may just be pgbench 
itself running into a problem.  It doesn't handle high client counts 
very well unless you use the 9.0 version that supports multiple pgbench 
workers with the "-j" option.


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


--
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] pgbench results on a new server

2010-06-25 Thread Scott Marlowe
On Fri, Jun 25, 2010 at 2:53 PM, Craig James  wrote:
> I've got a new server and want to make sure it's running well.  Are these
> pretty decent numbers?
>
> 8 cores (2x4 Intel Nehalem 2 GHz)
> 12 GB memory
> 12 x 7200 SATA 500 GB disks
> 3WARE 9650SE-12ML RAID controller with BBU
>  WAL on ext2, 2 disks: RAID1 500GB, blocksize=4096
>  Database on ext4, 8 disks: RAID10 2TB, stripe size 64K, blocksize=4096
> Ubuntu 10.04 LTS (Lucid)
> Postgres 8.4.4
>
> pgbench -i -s 100 -U test
> pgbench -c 5 -t 2 -U test
> tps = 4903
> pgbench -c 10 -t 1 -U test
> tps = 4070
> pgbench -c20 -t 5000 -U test
> tps = 5789
> pgbench -c30 -t  -U test
> tps = 6961
> pgbench -c40 -t 2500 -U test
> tps = 2945

Numbers are okay, but you likely need much longer tests to see how
they average out with the bgwriter / checkpoints happening, and keep
track of your IO numbers to see where your dips are.  I usually run
pgbench runs, once they seem to get decent numbers, for several hours
non-stop.  Sometimes days during burn in.  Note that running pgbench
on a machine other than the actual db is often a good idea so you're
not measuring how fast pgbench can run in contention with your own
database.

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


[PERFORM] pgbench results on a new server

2010-06-25 Thread Craig James

I've got a new server and want to make sure it's running well.  Are these 
pretty decent numbers?

8 cores (2x4 Intel Nehalem 2 GHz)
12 GB memory
12 x 7200 SATA 500 GB disks
3WARE 9650SE-12ML RAID controller with BBU
  WAL on ext2, 2 disks: RAID1 500GB, blocksize=4096
  Database on ext4, 8 disks: RAID10 2TB, stripe size 64K, blocksize=4096
Ubuntu 10.04 LTS (Lucid)
Postgres 8.4.4

pgbench -i -s 100 -U test
pgbench -c 5 -t 2 -U test
tps = 4903
pgbench -c 10 -t 1 -U test
tps = 4070
pgbench -c20 -t 5000 -U test
tps = 5789
pgbench -c30 -t  -U test
tps = 6961
pgbench -c40 -t 2500 -U test
tps = 2945

Thanks,
Craig



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