The update on the work to push towards a bigger pgbench is that I now
have the patch running and generating databases larger than any
previously possible scale:
$ time pgbench -i -s 25000 pgbench
...
2500000000 tuples done.
...
real 258m46.350s
user 14m41.970s
sys 0m21.310s
$ psql -d pgbench -c "select
pg_size_pretty(pg_relation_size('pgbench_accounts'));"
pg_size_pretty
----------------
313 GB
$ psql -d pgbench -c "select
pg_size_pretty(pg_relation_size('pgbench_accounts_pkey'));"
pg_size_pretty
----------------
52 GB
$ time psql -d pgbench -c "select count(*) from pgbench_accounts"
count
------------
2500000000
real 18m48.363s
user 0m0.010s
sys 0m0.000s
The only thing wrong with the patch sent already needed to reach this
point was this line:
for (k = 0; k < naccounts * scale; k++)
Which needed a (int64) cast for the multiplied value in the middle there.
Unfortunately the actual test itself doesn't run yet. Every line I see
when running the SELECT-only test says:
client 0 sending SELECT abalance FROM pgbench_accounts WHERE aid = 1;
So something about the updated random generation code isn't quite right
yet. Now that I have this monster built, I'm going to leave it on the
server until I can sort that out, which hopefully will finish up in the
next day or so.
--
Greg Smith 2ndQuadrant US greg(at)2ndQuadrant(dot)com Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.us
"PostgreSQL 9.0 High Performance": http://www.2ndQuadrant.com/books
In response to
Responses
pgsql-performance by date
| Next: | From: Scott Marlowe | Date: 2011-02-07 18:42:02 |
| Subject: Re: Really really slow select count(*) |
| Previous: | From: felix | Date: 2011-02-07 15:05:07 |
| Subject: Re: Really really slow select count(*) |
pgsql-hackers by date
| Next: | From: Tom Lane | Date: 2011-02-07 16:12:07 |
| Subject: Re: Varlena and binary |
| Previous: | From: Bruce Momjian | Date: 2011-02-07 16:01:52 |
| Subject: Re: [COMMITTERS] pgsql: remove tags. |