mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-30 00:04:49 -04:00 
			
		
		
		
	Change "tps" to "scale" to avoid confusion
Fix bug with handling default scaling factor in the default scenarios
This commit is contained in:
		
							parent
							
								
									500da222f1
								
							
						
					
					
						commit
						ea21eea6a8
					
				| @ -184,7 +184,7 @@ o -f option | ||||
| 
 | ||||
|   example: | ||||
| 
 | ||||
|   \set ntellers 10 * :tps | ||||
|   \set ntellers 10 * :scale | ||||
| 
 | ||||
|   \setrandom name min max | ||||
| 
 | ||||
| @ -206,9 +206,9 @@ o -f option | ||||
|   Example, TPC-B like benchmark can be defined as follows(scaling | ||||
|   factor = 1): | ||||
| 
 | ||||
| \set nbranches :tps | ||||
| \set ntellers 10 * :tps | ||||
| \set naccounts 100000 * :tps | ||||
| \set nbranches :scale | ||||
| \set ntellers 10 * :scale | ||||
| \set naccounts 100000 * :scale | ||||
| \setrandom aid 1 :naccounts | ||||
| \setrandom bid 1 :nbranches | ||||
| \setrandom tid 1 :ntellers | ||||
| @ -235,6 +235,12 @@ Basically it is same as BSD license. See pgbench.c for more details. | ||||
| 
 | ||||
| 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 | ||||
| 	* New features contributed by Tomoaki Sato. | ||||
| 
 | ||||
|  | ||||
| @ -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 | ||||
| 		$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 | ||||
| 		$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 | ||||
| 
 | ||||
| @ -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 | ||||
| 	$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$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 | ||||
| $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 | ||||
| 
 | ||||
| \set nbranches :tps | ||||
| \set ntellers 10 * :tps | ||||
| \set naccounts 100000 * :tps | ||||
| \set nbranches :scale | ||||
| \set ntellers 10 * :scale | ||||
| \set naccounts 100000 * :scale | ||||
| \setrandom aid 1 :naccounts | ||||
| \setrandom bid 1 :nbranches | ||||
| \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 | ||||
| 
 | ||||
| $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 | ||||
| 	* $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 | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| /*
 | ||||
|  * $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 | ||||
|  * written by Tatsuo Ishii | ||||
| @ -58,10 +58,10 @@ int			nclients = 1;		/* default number of simulated 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. | ||||
|  */ | ||||
| int			tps = 1; | ||||
| int			scale = 1; | ||||
| 
 | ||||
| /*
 | ||||
|  * end of configurable parameters | ||||
| @ -134,9 +134,9 @@ int			num_files;			/* its number */ | ||||
| 
 | ||||
| /* default scenario */ | ||||
| static char *tpc_b = { | ||||
| 	"\\set nbranches :tps\n" | ||||
| 	"\\set ntellers 10 * :tps\n" | ||||
|     "\\set naccounts 100000 * :tps\n" | ||||
| 	"\\set nbranches :scale\n" | ||||
| 	"\\set ntellers 10 * :scale\n" | ||||
|     "\\set naccounts 100000 * :scale\n" | ||||
| 	"\\setrandom aid 1 :naccounts\n" | ||||
| 	"\\setrandom bid 1 :nbranches\n" | ||||
| 	"\\setrandom tid 1 :ntellers\n" | ||||
| @ -152,9 +152,9 @@ static char *tpc_b = { | ||||
| 
 | ||||
| /* -N case */ | ||||
| static char *simple_update = { | ||||
| 	"\\set nbranches :tps\n" | ||||
| 	"\\set ntellers 10 * :tps\n" | ||||
|     "\\set naccounts 100000 * :tps\n" | ||||
| 	"\\set nbranches :scale\n" | ||||
| 	"\\set ntellers 10 * :scale\n" | ||||
|     "\\set naccounts 100000 * :scale\n" | ||||
| 	"\\setrandom aid 1 :naccounts\n" | ||||
| 	"\\setrandom bid 1 :nbranches\n" | ||||
| 	"\\setrandom tid 1 :ntellers\n" | ||||
| @ -168,7 +168,7 @@ static char *simple_update = { | ||||
| 
 | ||||
| /* -S case */ | ||||
| static char *select_only = { | ||||
|     "\\set naccounts 100000 * :tps\n" | ||||
|     "\\set naccounts 100000 * :scale\n" | ||||
| 	"\\setrandom aid 1 :naccounts\n" | ||||
| 	"SELECT abalance FROM accounts WHERE aid = :aid;\n" | ||||
| }; | ||||
| @ -338,10 +338,13 @@ putVariable(CState * st, char *name, char *value) | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		if ((value = strdup(value)) == NULL) | ||||
| 		char *val; | ||||
| 
 | ||||
| 		if ((val = strdup(value)) == NULL) | ||||
| 			return false; | ||||
| 
 | ||||
| 		free(var->value); | ||||
| 		var->value = value; | ||||
| 		var->value = val; | ||||
| 	} | ||||
| 
 | ||||
| 	return true; | ||||
| @ -755,7 +758,7 @@ init(void) | ||||
| 	} | ||||
| 	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); | ||||
| 		res = PQexec(con, sql); | ||||
| @ -767,7 +770,7 @@ init(void) | ||||
| 		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)" | ||||
| 				 ,i + 1, i / ntellers + 1); | ||||
| @ -792,7 +795,7 @@ init(void) | ||||
| 	 * occupy accounts table with some data | ||||
| 	 */ | ||||
| 	fprintf(stderr, "creating tables...\n"); | ||||
| 	for (i = 0; i < naccounts * tps; i++) | ||||
| 	for (i = 0; i < naccounts * scale; i++) | ||||
| 	{ | ||||
| 		int			j = i + 1; | ||||
| 
 | ||||
| @ -1133,7 +1136,7 @@ printResults( | ||||
| 		s = "Custom query"; | ||||
| 
 | ||||
| 	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 transactions per client: %d\n", nxacts); | ||||
| 	printf("number of transactions actually processed: %d/%d\n", normal_xacts, nxacts * nclients); | ||||
| @ -1175,6 +1178,8 @@ main(int argc, char **argv) | ||||
| 	PGresult   *res; | ||||
| 	char	   *env; | ||||
| 
 | ||||
| 	char		val[64]; | ||||
| 
 | ||||
| 	if ((env = getenv("PGHOST")) != NULL && *env != '\0') | ||||
| 		pghost = env; | ||||
| 	if ((env = getenv("PGPORT")) != NULL && *env != '\0') | ||||
| @ -1248,10 +1253,10 @@ main(int argc, char **argv) | ||||
| 				is_connect = 1; | ||||
| 				break; | ||||
| 			case 's': | ||||
| 				tps = atoi(optarg); | ||||
| 				if (tps <= 0) | ||||
| 				scale = atoi(optarg); | ||||
| 				if (scale <= 0) | ||||
| 				{ | ||||
| 					fprintf(stderr, "invalid scaling factor: %d\n", tps); | ||||
| 					fprintf(stderr, "invalid scaling factor: %d\n", scale); | ||||
| 					exit(1); | ||||
| 				} | ||||
| 				break; | ||||
| @ -1323,12 +1328,10 @@ main(int argc, char **argv) | ||||
| 
 | ||||
| 	remains = nclients; | ||||
| 
 | ||||
| 	if (getVariable(&state[0], "tps") == NULL) | ||||
| 	if (getVariable(&state[0], "scale") == NULL) | ||||
| 	{ | ||||
| 		char		val[64]; | ||||
| 
 | ||||
| 		snprintf(val, sizeof(val), "%d", tps); | ||||
| 		if (putVariable(&state[0], "tps", val) == false) | ||||
| 		snprintf(val, sizeof(val), "%d", scale); | ||||
| 		if (putVariable(&state[0], "scale", val) == false) | ||||
| 		{ | ||||
| 			fprintf(stderr, "Couldn't allocate memory for variable\n"); | ||||
| 			exit(1); | ||||
| @ -1405,13 +1408,20 @@ main(int argc, char **argv) | ||||
| 			fprintf(stderr, "%s", PQerrorMessage(con)); | ||||
| 			exit(1); | ||||
| 		} | ||||
| 		tps = atoi(PQgetvalue(res, 0, 0)); | ||||
| 		if (tps < 0) | ||||
| 		scale = atoi(PQgetvalue(res, 0, 0)); | ||||
| 		if (scale < 0) | ||||
| 		{ | ||||
| 			fprintf(stderr, "count(*) from branches invalid (%d)\n", tps); | ||||
| 			fprintf(stderr, "count(*) from branches invalid (%d)\n", scale); | ||||
| 			exit(1); | ||||
| 		} | ||||
| 		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) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user