From: | mlw <markw(at)mohawksoft(dot)com> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | pgbench consistency |
Date: | 2002-03-12 15:29:17 |
Message-ID: | 3C8E1ECD.CEF26157@mohawksoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I have been working on PostgreSQL tuning. Trying to come up with some reliable
and repeatable tested settings. The idea is that with some reliable numbers,
you can measure actual proformance improvement.
pgbench is a pretty poor tool for doing this. It fluctuates a great deal. Just
from run to run. It is virtualy impossible to get reasonable numbers out of it.
I have my benchmarking database set to a scale of 100. Here is my script:
#! /bin/sh
HOST=postgres
DB=bench
totxacts=10000
export PATH=$PATH:/usr/local/pgsql/bin
for c in 25 25 50 50 100 100
do
ssh root(at)$HOST "sync;sync;sync;sleep 1"
t=`expr $totxacts / $c`
psql -h $HOST -c 'vacuum ' $DB
psql -h $HOST -c 'checkpoint' $DB
echo "===== sync ======" 1>&2
ssh root(at)$HOST "sync;sync;sync;sleep 1"
echo $c concurrent users... 1>&2
./pgbench -n -t $t -h $HOST -c $c $DB
done
Here are my results:
VACUUM
CHECKPOINT
===== sync ======
25 concurrent users...
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 25
number of transactions per client: 400
number of transactions actually processed: 10000/10000
tps = 88.409581(including connections establishing)
tps = 88.617577(excluding connections establishing)
VACUUM
CHECKPOINT
===== sync ======
25 concurrent users...
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 25
number of transactions per client: 400
number of transactions actually processed: 10000/10000
tps = 102.325257(including connections establishing)
tps = 102.606724(excluding connections establishing)
VACUUM
CHECKPOINT
===== sync ======
50 concurrent users...
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 50
number of transactions per client: 200
number of transactions actually processed: 10000/10000
tps = 116.379559(including connections establishing)
tps = 117.103796(excluding connections establishing)
VACUUM
CHECKPOINT
===== sync ======
50 concurrent users...
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 50
number of transactions per client: 200
number of transactions actually processed: 10000/10000
tps = 106.869515(including connections establishing)
tps = 107.479233(excluding connections establishing)
VACUUM
CHECKPOINT
===== sync ======
100 concurrent users...
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 100
number of transactions per client: 100
number of transactions actually processed: 10000/10000
tps = 129.923876(including connections establishing)
tps = 131.757784(excluding connections establishing)
VACUUM
CHECKPOINT
===== sync ======
100 concurrent users...
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 100
number of transactions per client: 100
number of transactions actually processed: 10000/10000
tps = 110.506228(including connections establishing)
tps = 111.858151(excluding connections establishing)
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2002-03-12 15:41:30 | Re: My Object able solution.....?? |
Previous Message | Debian User | 2002-03-12 14:56:42 | My Object able solution.....?? |