From: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | "Postgresql Performance" <pgsql-performance(at)postgresql(dot)org> |
Subject: | slow 8.2.6 with 50 connections |
Date: | 2008-02-03 16:02:13 |
Message-ID: | 162867790802030802h322ed3b8ja4c27a3fa57dc2bd@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Hello
I am testing one server and I found strange behave of 8.2.6. My
configuration is:
Linux Orbisek 2.6.18-xeonsmp #1 SMP Thu Jan 31 14:09:15 CET 2008 i686
GNU/Linux, 4 x Intel(R) Xeon(R) CPU E5335 @ 2.00GHz, 6G RAM
pgbench on 8.3 puts 1600-1700tps without dependency on number of
connections or transactions.
pgbench on 8.2 is similar only for 10 connections and doesn't depend
on number of transactions:
postgres(at)Orbisek:/root$ /usr/local/pgsql/bin/pgbench -c10 -t 50000 test
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 10
number of transactions per client: 50000
number of transactions actually processed: 500000/500000
tps = 1747.662768 (including connections establishing)
tps = 1747.758538 (excluding connections establishing)
but is half with 50 connections:
10 (1780), 20 (1545), 30 (1400), 40 (1145) 50c (987tps)
postgres(at)Orbisek:/root$ /usr/local/pgsql/bin/pgbench -c50 -t 100 test
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 50
number of transactions per client: 100
number of transactions actually processed: 5000/5000
tps = 1106.484286 (including connections establishing)
tps = 1126.062214 (excluding connections establishing)
postgres(at)Orbisek:/root$ /usr/local/pgsql/bin/pgbench -c50 -t 1000 test
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 50
number of transactions per client: 1000
number of transactions actually processed: 50000/50000
tps = 975.009227 (including connections establishing)
tps = 976.521036 (excluding connections establishing)
all time load is less than 3 and cpu us 16%, cpu sys 5% (8.3 used
procs about 18%us and 7% sy)
shared_buffers = 160MB
work_mem = 10MB
maintenance_work_mem = 256MB
wal_buffers = 128kB
checkpoint_segments = 100
bgwriter_lru_percent = 20.0
bgwriter_lru_maxpages = 200
bgwriter_all_percent = 10
bgwriter_all_maxpages = 600
autovacuum_vacuum_cost_delay = 20
postgres82=# select mode, count(*) from pg_locks group by mode;
mode | count
--------------------------+-------
ShareLock | 40
ShareUpdateExclusiveLock | 1
AccessShareLock | 99
ExclusiveLock | 62
RowExclusiveLock | 215
(5 rows)
postgres83=# select mode, count(*) from pg_locks group by mode;
mode | count
--------------------------+-------
ShareLock | 43
ShareUpdateExclusiveLock | 2
AccessShareLock | 101
ExclusiveLock | 116
RowExclusiveLock | 218
(5 rows)
postgres(at)Orbisek:/root/postgresql-8.2.6/src/tools/fsync$ ./test_fsync
-f /usr/local/pgsql/data/aa
Simple write timing:
write 0.005241
Compare fsync times on write() and non-write() descriptor:
(If the times are similar, fsync() can sync data written
on a different descriptor.)
write, fsync, close 0.152853
write, close, fsync 0.152203
Compare one o_sync write to two:
one 16k o_sync write 0.298571
two 8k o_sync writes 0.295349
Compare file sync methods with one 8k write:
(o_dsync unavailable)
write, fdatasync 0.151626
write, fsync, 0.150524
Compare file sync methods with 2 8k writes:
(o_dsync unavailable)
open o_sync, write 0.340511
write, fdatasync 0.182257
write, fsync, 0.177968
any ideas are welcome
Regards
Pavel Stehule
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2008-02-03 18:58:12 | Re: slow 8.2.6 with 50 connections |
Previous Message | Decibel! | 2008-02-02 06:37:09 | Re: Storage space usage |