Add -F option to set fillfactor for tellers, accounts and branches.
Patch contributed by Pavan Deolasee. Along with Japanese doc modification by Tatsuo Ishii.
This commit is contained in:
parent
c218c0bfda
commit
2fca2c05e7
@ -1,4 +1,4 @@
|
|||||||
$PostgreSQL: pgsql/contrib/pgbench/README.pgbench,v 1.17 2007/04/06 09:16:15 ishii Exp $
|
$PostgreSQL: pgsql/contrib/pgbench/README.pgbench,v 1.18 2007/04/08 01:15:07 ishii Exp $
|
||||||
|
|
||||||
pgbench README
|
pgbench README
|
||||||
|
|
||||||
@ -57,8 +57,9 @@ o How to use pgbench?
|
|||||||
accounts 100000
|
accounts 100000
|
||||||
history 0
|
history 0
|
||||||
|
|
||||||
You can increase the number of tuples by using -s option. See
|
You can increase the number of tuples by using -s option. branches,
|
||||||
below.
|
tellers and accounts tables are created with a fillfactor which is
|
||||||
|
set using -F option. See below.
|
||||||
|
|
||||||
(2) Run the benchmark test
|
(2) Run the benchmark test
|
||||||
|
|
||||||
@ -162,6 +163,12 @@ o options
|
|||||||
0 201 2513 0 1175850569 608
|
0 201 2513 0 1175850569 608
|
||||||
0 202 2038 0 1175850569 2663
|
0 202 2038 0 1175850569 2663
|
||||||
|
|
||||||
|
-F fillfactor
|
||||||
|
|
||||||
|
Create tables(accounts, tellers and branches) with the given
|
||||||
|
fillfactor. Default is 100. This should be used with -i
|
||||||
|
(initialize) option.
|
||||||
|
|
||||||
-d
|
-d
|
||||||
debug option.
|
debug option.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$PostgreSQL: pgsql/contrib/pgbench/README.pgbench_jis,v 1.18 2007/04/06 09:16:16 ishii Exp $
|
$PostgreSQL: pgsql/contrib/pgbench/README.pgbench_jis,v 1.19 2007/04/08 01:15:07 ishii Exp $
|
||||||
|
|
||||||
pgbench README
|
pgbench README
|
||||||
|
|
||||||
@ -155,6 +155,11 @@ pgbench $B$K$O$$$m$$$m$J%*%W%7%g%s$,$"$j$^$9!%(B
|
|||||||
0 201 2513 0 1175850569 608
|
0 201 2513 0 1175850569 608
|
||||||
0 202 2038 0 1175850569 2663
|
0 202 2038 0 1175850569 2663
|
||||||
|
|
||||||
|
-F $B%U%#%k%U%!%/%?!<(B
|
||||||
|
accounts, tellers, bracnhes$B%F!<%V%k$r:n@.$9$k:]$K;XDj$5$l$?%U%#(B
|
||||||
|
$B%k%U%!%/%?!<$r;HMQ$7$^$9!%%U%#%k%U%!%/%?!<$N%G%U%)%k%H$O(B100$B$G(B
|
||||||
|
$B$9!%$3$N%*%W%7%g%s$O(B -i $B%*%W%7%g%s$HF1;~$K;HMQ$7$^$9!%(B
|
||||||
|
|
||||||
-d $B%G%P%C%0%*%W%7%g%s!%MM!9$J>pJs$,I=<($5$l$^$9!%(B
|
-d $B%G%P%C%0%*%W%7%g%s!%MM!9$J>pJs$,I=<($5$l$^$9!%(B
|
||||||
|
|
||||||
$B"#%G!<%?%Y!<%9$N=i4|2=(B
|
$B"#%G!<%?%Y!<%9$N=i4|2=(B
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.64 2007/04/06 09:16:16 ishii Exp $
|
* $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.65 2007/04/08 01:15:07 ishii Exp $
|
||||||
*
|
*
|
||||||
* pgbench: a simple benchmark program for PostgreSQL
|
* pgbench: a simple benchmark program for PostgreSQL
|
||||||
* written by Tatsuo Ishii
|
* written by Tatsuo Ishii
|
||||||
@ -64,6 +64,12 @@ int nxacts = 10; /* default number of transactions per clients */
|
|||||||
*/
|
*/
|
||||||
int scale = 1;
|
int scale = 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fillfactor. for example, fillfactor = 90 will use only 90 percent
|
||||||
|
* space during inserts and leave 10 percent free.
|
||||||
|
*/
|
||||||
|
int fillfactor = 100;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* end of configurable parameters
|
* end of configurable parameters
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
@ -178,7 +184,7 @@ static void
|
|||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "usage: pgbench [-h hostname][-p port][-c nclients][-t ntransactions][-s scaling_factor][-D varname=value][-n][-C][-v][-S][-N][-f filename][-l][-U login][-P password][-d][dbname]\n");
|
fprintf(stderr, "usage: pgbench [-h hostname][-p port][-c nclients][-t ntransactions][-s scaling_factor][-D varname=value][-n][-C][-v][-S][-N][-f filename][-l][-U login][-P password][-d][dbname]\n");
|
||||||
fprintf(stderr, "(initialize mode): pgbench -i [-h hostname][-p port][-s scaling_factor][-U login][-P password][-d][dbname]\n");
|
fprintf(stderr, "(initialize mode): pgbench -i [-h hostname][-p port][-s scaling_factor] [-F fillfactor] [-U login][-P password][-d][dbname]\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* random number generator */
|
/* random number generator */
|
||||||
@ -730,11 +736,11 @@ init(void)
|
|||||||
PGresult *res;
|
PGresult *res;
|
||||||
static char *DDLs[] = {
|
static char *DDLs[] = {
|
||||||
"drop table if exists branches",
|
"drop table if exists branches",
|
||||||
"create table branches(bid int not null,bbalance int,filler char(88))",
|
"create table branches(bid int not null,bbalance int,filler char(88)) with (fillfactor=%d)",
|
||||||
"drop table if exists tellers",
|
"drop table if exists tellers",
|
||||||
"create table tellers(tid int not null,bid int,tbalance int,filler char(84))",
|
"create table tellers(tid int not null,bid int,tbalance int,filler char(84)) with (fillfactor=%d)",
|
||||||
"drop table if exists accounts",
|
"drop table if exists accounts",
|
||||||
"create table accounts(aid int not null,bid int,abalance int,filler char(84))",
|
"create table accounts(aid int not null,bid int,abalance int,filler char(84)) with (fillfactor=%d)",
|
||||||
"drop table if exists history",
|
"drop table if exists history",
|
||||||
"create table history(tid int,bid int,aid int,delta int,mtime timestamp,filler char(22))"};
|
"create table history(tid int,bid int,aid int,delta int,mtime timestamp,filler char(22))"};
|
||||||
static char *DDLAFTERs[] = {
|
static char *DDLAFTERs[] = {
|
||||||
@ -751,7 +757,22 @@ init(void)
|
|||||||
exit(1);
|
exit(1);
|
||||||
|
|
||||||
for (i = 0; i < lengthof(DDLs); i++)
|
for (i = 0; i < lengthof(DDLs); i++)
|
||||||
executeStatement(con, DDLs[i]);
|
{
|
||||||
|
/*
|
||||||
|
* set fillfactor for branches, tellers and accounts tables
|
||||||
|
*/
|
||||||
|
if ((strstr(DDLs[i], "create table branches") == DDLs[i]) ||
|
||||||
|
(strstr(DDLs[i], "create table tellers") == DDLs[i]) ||
|
||||||
|
(strstr(DDLs[i], "create table accounts") == DDLs[i]))
|
||||||
|
{
|
||||||
|
char ddl_stmt[128];
|
||||||
|
snprintf(ddl_stmt, 128, DDLs[i], fillfactor);
|
||||||
|
executeStatement(con, ddl_stmt);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
executeStatement(con, DDLs[i]);
|
||||||
|
}
|
||||||
|
|
||||||
executeStatement(con, "begin");
|
executeStatement(con, "begin");
|
||||||
|
|
||||||
@ -1153,7 +1174,7 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
memset(state, 0, sizeof(*state));
|
memset(state, 0, sizeof(*state));
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "ih:nvp:dc:t:s:U:P:CNSlf:D:")) != -1)
|
while ((c = getopt(argc, argv, "ih:nvp:dc:t:s:U:P:CNSlf:D:F:")) != -1)
|
||||||
{
|
{
|
||||||
switch (c)
|
switch (c)
|
||||||
{
|
{
|
||||||
@ -1258,6 +1279,14 @@ main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'F':
|
||||||
|
fillfactor = atoi(optarg);
|
||||||
|
if ((fillfactor < 10) || (fillfactor > 100))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "invalid fillfactor: %d\n", fillfactor);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage();
|
usage();
|
||||||
exit(1);
|
exit(1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user