Commit ea21eea6 authored by Tatsuo Ishii's avatar Tatsuo Ishii

Change "tps" to "scale" to avoid confusion

Fix bug with handling default scaling factor in the default
scenarios
parent 500da222
...@@ -184,7 +184,7 @@ o -f option ...@@ -184,7 +184,7 @@ o -f option
example: example:
\set ntellers 10 * :tps \set ntellers 10 * :scale
\setrandom name min max \setrandom name min max
...@@ -206,9 +206,9 @@ o -f option ...@@ -206,9 +206,9 @@ o -f option
Example, TPC-B like benchmark can be defined as follows(scaling Example, TPC-B like benchmark can be defined as follows(scaling
factor = 1): factor = 1):
\set nbranches :tps \set nbranches :scale
\set ntellers 10 * :tps \set ntellers 10 * :scale
\set naccounts 100000 * :tps \set naccounts 100000 * :scale
\setrandom aid 1 :naccounts \setrandom aid 1 :naccounts
\setrandom bid 1 :nbranches \setrandom bid 1 :nbranches
\setrandom tid 1 :ntellers \setrandom tid 1 :ntellers
...@@ -235,6 +235,12 @@ Basically it is same as BSD license. See pgbench.c for more details. ...@@ -235,6 +235,12 @@ Basically it is same as BSD license. See pgbench.c for more details.
o History o History
2006/09/14
* change "tps" to "scale" to avoid confusion
* fix bug with handling default scaling factor in the default
scenarios
2006/07/26 2006/07/26
* New features contributed by Tomoaki Sato. * New features contributed by Tomoaki Sato.
......
...@@ -73,7 +73,7 @@ pgbench $B$K$O$$$m$$$m$J%*%W%7%g%s$,$"$j$^$9!%(B ...@@ -73,7 +73,7 @@ pgbench $B$K$O$$$m$$$m$J%*%W%7%g%s$,$"$j$^$9!%(B
$BBg$-$5$,(B 10$BK|(B x [$B%9%1!<%j%s%0%U%!%/%?!<(B]$B$K$J$j$^$9!%(B $BBg$-$5$,(B 10$BK|(B x [$B%9%1!<%j%s%0%U%!%/%?!<(B]$B$K$J$j$^$9!%(B
$B%G%U%)%k%H$N%9%1!<%j%s%0%U%!%/%?!<$O(B 1 $B$G$9!%(B $B%G%U%)%k%H$N%9%1!<%j%s%0%U%!%/%?!<$O(B 1 $B$G$9!%(B
-f $B%*%W%7%g%s$G;XDj$7$?%U%!%$%k$+$i%9%1!<%j%s%0%U%!%/(B -f $B%*%W%7%g%s$G;XDj$7$?%U%!%$%k$+$i%9%1!<%j%s%0%U%!%/(B
$B%?!<$r;2>H$9$k$K$O(B tps $B$H$$$&JQ?tL>$r;HMQ$7$^$9!%(B $B%?!<$r;2>H$9$k$K$O(B scale $B$H$$$&JQ?tL>$r;HMQ$7$^$9!%(B
-D varname=value -D varname=value
...@@ -223,7 +223,7 @@ pgbench $B$G$O!$0J2<$N%7!<%1%s%9$rA4It40N;$7$F(B1$B%H%i%s%6%/%7%g%s$H?t$($F( ...@@ -223,7 +223,7 @@ pgbench $B$G$O!$0J2<$N%7!<%1%s%9$rA4It40N;$7$F(B1$B%H%i%s%6%/%7%g%s$H?t$($F(
$BJQ?t$K1i;;$N7k2L$r@_Dj$9$k$K$O!$(B\set $B%a%?%3%^%s%I$r;HMQ$7$F0J(B $BJQ?t$K1i;;$N7k2L$r@_Dj$9$k$K$O!$(B\set $B%a%?%3%^%s%I$r;HMQ$7$F0J(B
$B2<$N$h$&$K5-=R$7$^$9!%(B $B2<$N$h$&$K5-=R$7$^$9!%(B
\set ntellers 10 * :tps \set ntellers 10 * :tp
$B$3$l$O!$JQ?t(B ntellers $B$K%9%1!<%j%s%0%U%!%/%?!<(B (-s $B%*%W%7%g%s(B $B$3$l$O!$JQ?t(B ntellers $B$K%9%1!<%j%s%0%U%!%/%?!<(B (-s $B%*%W%7%g%s(B
$B$G;XDj$7$?(B) $B$r(B 10 $BG\$7$?7k2L$r@_Dj$7$^$9!%(B $B$G;XDj$7$?(B) $B$r(B 10 $BG\$7$?7k2L$r@_Dj$7$^$9!%(B
...@@ -253,9 +253,9 @@ SELECT abalance FROM accounts WHERE aid = :aid ...@@ -253,9 +253,9 @@ SELECT abalance FROM accounts WHERE aid = :aid
$B%6%/%7%g%s$NFbMF$r%U%!%$%k$K5-=R$7!$(B-f $B%*%W%7%g%s$K$h$C$F$=$N%U%!%$%k(B $B%6%/%7%g%s$NFbMF$r%U%!%$%k$K5-=R$7!$(B-f $B%*%W%7%g%s$K$h$C$F$=$N%U%!%$%k(B
$B$r;XDj$7$F(B pgbench $B$r<B9T$7$^$9!%(B $B$r;XDj$7$F(B pgbench $B$r<B9T$7$^$9!%(B
\set nbranches :tps \set nbranches :scale
\set ntellers 10 * :tps \set ntellers 10 * :scale
\set naccounts 100000 * :tps \set naccounts 100000 * :scale
\setrandom aid 1 :naccounts \setrandom aid 1 :naccounts
\setrandom bid 1 :nbranches \setrandom bid 1 :nbranches
\setrandom tid 1 :ntellers \setrandom tid 1 :ntellers
...@@ -285,6 +285,10 @@ pgbench $B$O@P0f(B $BC#IW$K$h$C$F=q$+$l$^$7$?!%%i%$%;%s%9>r7o$O(B pgbench.c ...@@ -285,6 +285,10 @@ pgbench $B$O@P0f(B $BC#IW$K$h$C$F=q$+$l$^$7$?!%%i%$%;%s%9>r7o$O(B pgbench.c
$B"#2~DjMzNr(B $B"#2~DjMzNr(B
2006/09/13
* $BJQ?t(Btps$B$OJ6$i$o$7$$$N$G(Bscale$B$KJQ99!%%G%U%)%k%H%7%J%j%*$N;~$K!$(B
$B%G%U%)%k%H$N%9%1!<%j%s%0%U%!%/%?$r(Bbranches$B$+$i<h$C$F$3$J$$%P%0$r=$@5!%(B
2006/07/26 2006/07/26
* $B:4F#$5$s$N%Q%C%A$rE,MQ!%0J2<$N5!G=DI2C!%(BPostgreSQL 8.2$B$K<h$j(B * $B:4F#$5$s$N%Q%C%A$rE,MQ!%0J2<$N5!G=DI2C!%(BPostgreSQL 8.2$B$K<h$j(B
$B9~$^$l$^$9!%(B $B9~$^$l$^$9!%(B
......
/* /*
* $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.53 2006/08/15 13:05:30 ishii Exp $ * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.54 2006/09/13 00:39:19 ishii Exp $
* *
* pgbench: a simple benchmark program for PostgreSQL * pgbench: a simple benchmark program for PostgreSQL
* written by Tatsuo Ishii * written by Tatsuo Ishii
...@@ -58,10 +58,10 @@ int nclients = 1; /* default number of simulated clients */ ...@@ -58,10 +58,10 @@ int nclients = 1; /* default number of simulated clients */
int nxacts = 10; /* default number of transactions per clients */ int nxacts = 10; /* default number of transactions per clients */
/* /*
* scaling factor. for example, tps = 10 will make 1000000 tuples of * scaling factor. for example, scale = 10 will make 1000000 tuples of
* accounts table. * accounts table.
*/ */
int tps = 1; int scale = 1;
/* /*
* end of configurable parameters * end of configurable parameters
...@@ -134,9 +134,9 @@ int num_files; /* its number */ ...@@ -134,9 +134,9 @@ int num_files; /* its number */
/* default scenario */ /* default scenario */
static char *tpc_b = { static char *tpc_b = {
"\\set nbranches :tps\n" "\\set nbranches :scale\n"
"\\set ntellers 10 * :tps\n" "\\set ntellers 10 * :scale\n"
"\\set naccounts 100000 * :tps\n" "\\set naccounts 100000 * :scale\n"
"\\setrandom aid 1 :naccounts\n" "\\setrandom aid 1 :naccounts\n"
"\\setrandom bid 1 :nbranches\n" "\\setrandom bid 1 :nbranches\n"
"\\setrandom tid 1 :ntellers\n" "\\setrandom tid 1 :ntellers\n"
...@@ -152,9 +152,9 @@ static char *tpc_b = { ...@@ -152,9 +152,9 @@ static char *tpc_b = {
/* -N case */ /* -N case */
static char *simple_update = { static char *simple_update = {
"\\set nbranches :tps\n" "\\set nbranches :scale\n"
"\\set ntellers 10 * :tps\n" "\\set ntellers 10 * :scale\n"
"\\set naccounts 100000 * :tps\n" "\\set naccounts 100000 * :scale\n"
"\\setrandom aid 1 :naccounts\n" "\\setrandom aid 1 :naccounts\n"
"\\setrandom bid 1 :nbranches\n" "\\setrandom bid 1 :nbranches\n"
"\\setrandom tid 1 :ntellers\n" "\\setrandom tid 1 :ntellers\n"
...@@ -168,7 +168,7 @@ static char *simple_update = { ...@@ -168,7 +168,7 @@ static char *simple_update = {
/* -S case */ /* -S case */
static char *select_only = { static char *select_only = {
"\\set naccounts 100000 * :tps\n" "\\set naccounts 100000 * :scale\n"
"\\setrandom aid 1 :naccounts\n" "\\setrandom aid 1 :naccounts\n"
"SELECT abalance FROM accounts WHERE aid = :aid;\n" "SELECT abalance FROM accounts WHERE aid = :aid;\n"
}; };
...@@ -338,10 +338,13 @@ putVariable(CState * st, char *name, char *value) ...@@ -338,10 +338,13 @@ putVariable(CState * st, char *name, char *value)
} }
else else
{ {
if ((value = strdup(value)) == NULL) char *val;
if ((val = strdup(value)) == NULL)
return false; return false;
free(var->value); free(var->value);
var->value = value; var->value = val;
} }
return true; return true;
...@@ -755,7 +758,7 @@ init(void) ...@@ -755,7 +758,7 @@ init(void)
} }
PQclear(res); PQclear(res);
for (i = 0; i < nbranches * tps; i++) for (i = 0; i < nbranches * scale; i++)
{ {
snprintf(sql, 256, "insert into branches(bid,bbalance) values(%d,0)", i + 1); snprintf(sql, 256, "insert into branches(bid,bbalance) values(%d,0)", i + 1);
res = PQexec(con, sql); res = PQexec(con, sql);
...@@ -767,7 +770,7 @@ init(void) ...@@ -767,7 +770,7 @@ init(void)
PQclear(res); PQclear(res);
} }
for (i = 0; i < ntellers * tps; i++) for (i = 0; i < ntellers * scale; i++)
{ {
snprintf(sql, 256, "insert into tellers(tid,bid,tbalance) values (%d,%d,0)" snprintf(sql, 256, "insert into tellers(tid,bid,tbalance) values (%d,%d,0)"
,i + 1, i / ntellers + 1); ,i + 1, i / ntellers + 1);
...@@ -792,7 +795,7 @@ init(void) ...@@ -792,7 +795,7 @@ init(void)
* occupy accounts table with some data * occupy accounts table with some data
*/ */
fprintf(stderr, "creating tables...\n"); fprintf(stderr, "creating tables...\n");
for (i = 0; i < naccounts * tps; i++) for (i = 0; i < naccounts * scale; i++)
{ {
int j = i + 1; int j = i + 1;
...@@ -1133,7 +1136,7 @@ printResults( ...@@ -1133,7 +1136,7 @@ printResults(
s = "Custom query"; s = "Custom query";
printf("transaction type: %s\n", s); printf("transaction type: %s\n", s);
printf("scaling factor: %d\n", tps); printf("scaling factor: %d\n", scale);
printf("number of clients: %d\n", nclients); printf("number of clients: %d\n", nclients);
printf("number of transactions per client: %d\n", nxacts); printf("number of transactions per client: %d\n", nxacts);
printf("number of transactions actually processed: %d/%d\n", normal_xacts, nxacts * nclients); printf("number of transactions actually processed: %d/%d\n", normal_xacts, nxacts * nclients);
...@@ -1175,6 +1178,8 @@ main(int argc, char **argv) ...@@ -1175,6 +1178,8 @@ main(int argc, char **argv)
PGresult *res; PGresult *res;
char *env; char *env;
char val[64];
if ((env = getenv("PGHOST")) != NULL && *env != '\0') if ((env = getenv("PGHOST")) != NULL && *env != '\0')
pghost = env; pghost = env;
if ((env = getenv("PGPORT")) != NULL && *env != '\0') if ((env = getenv("PGPORT")) != NULL && *env != '\0')
...@@ -1248,10 +1253,10 @@ main(int argc, char **argv) ...@@ -1248,10 +1253,10 @@ main(int argc, char **argv)
is_connect = 1; is_connect = 1;
break; break;
case 's': case 's':
tps = atoi(optarg); scale = atoi(optarg);
if (tps <= 0) if (scale <= 0)
{ {
fprintf(stderr, "invalid scaling factor: %d\n", tps); fprintf(stderr, "invalid scaling factor: %d\n", scale);
exit(1); exit(1);
} }
break; break;
...@@ -1323,12 +1328,10 @@ main(int argc, char **argv) ...@@ -1323,12 +1328,10 @@ main(int argc, char **argv)
remains = nclients; remains = nclients;
if (getVariable(&state[0], "tps") == NULL) if (getVariable(&state[0], "scale") == NULL)
{ {
char val[64]; snprintf(val, sizeof(val), "%d", scale);
if (putVariable(&state[0], "scale", val) == false)
snprintf(val, sizeof(val), "%d", tps);
if (putVariable(&state[0], "tps", val) == false)
{ {
fprintf(stderr, "Couldn't allocate memory for variable\n"); fprintf(stderr, "Couldn't allocate memory for variable\n");
exit(1); exit(1);
...@@ -1405,13 +1408,20 @@ main(int argc, char **argv) ...@@ -1405,13 +1408,20 @@ main(int argc, char **argv)
fprintf(stderr, "%s", PQerrorMessage(con)); fprintf(stderr, "%s", PQerrorMessage(con));
exit(1); exit(1);
} }
tps = atoi(PQgetvalue(res, 0, 0)); scale = atoi(PQgetvalue(res, 0, 0));
if (tps < 0) if (scale < 0)
{ {
fprintf(stderr, "count(*) from branches invalid (%d)\n", tps); fprintf(stderr, "count(*) from branches invalid (%d)\n", scale);
exit(1); exit(1);
} }
PQclear(res); PQclear(res);
snprintf(val, sizeof(val), "%d", scale);
if (putVariable(&state[0], "scale", val) == false)
{
fprintf(stderr, "Couldn't allocate memory for variable\n");
exit(1);
}
} }
if (!is_no_vacuum) if (!is_no_vacuum)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment