test_many_tables

text/plain

Filename: test_many_tables
Type: text/plain
Part: 1
Message: Pg_upgrade faster, again!
:

. traprm

export QUIET=$((QUIET + 1))

> /rtmp/out

JOBLIMIT=16
REL=9.3
BRANCH=jobs

export PGOPTIONS="-c synchronous_commit=off"

for CYCLES in 1000 2000 4000 8000 16000 32000 64000
do
	echo "$CYCLES" >> /rtmp/out
	for JOBLIMIT in 1 16
	do
		cd /pgsql/$REL
		pgsw $BRANCH
		cd -
		tools/setup $REL $REL
		sleep 2
#		[ "$SSD" = "f" ] && tools/mv_to_archive
	
		# need for +16k
		for CONFIG in /u/pgsql.old/data/postgresql.conf /u/pgsql/data/postgresql.conf
		do
			pipe sed 's/#max_locks_per_transaction = 64/max_locks_per_transaction = 64000/' "$CONFIG"
			pipe sed 's/shared_buffers = 128MB/shared_buffers = 1GB/' "$CONFIG"
		done

		pgstart /u/pgsql.old/data
		sleep 2
		for DB in $(jot $JOBLIMIT)
		do	newdb test$DB
			for JOT in $(jot $(( $CYCLES / $JOBLIMIT )) ); do echo "CREATE TABLE test$JOT (x SERIAL PRIMARY KEY);"; done |
				PGOPTIONS="-c synchronous_commit=off" sql --single-transaction test$DB
		done
		pgstop /u/pgsql.old/data
		sleep 2
		/usr/bin/time --output=/rtmp/out --append --format '%e' tools/upgrade -j $JOBLIMIT || exit 
		sleep 2
	done
done

bell