Files
sysbench/scripts/sb_test_ps.sh
Alexey Kopytov d224c6368a Initial import
2006-01-20 16:13:23 +00:00

106 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# File: sb_test_ps.sh
#
# Copyright (C) 2004 Alexey Kopytov & MySQL AB
NUM_THREADS=4
progname="$0"
curdir=`dirname "$progname"`
sbrun="$curdir/sb_run.sh"
clean_vars()
{
point_selects=0
simple_ranges=0
sum_ranges=0
order_ranges=0
distinct_ranges=0
index_updates=0
non_index_updates=0
}
run_test()
{
tname="$1"
sbargs="--num-threads=$NUM_THREADS --max-requests=0 --max-time=60 \
--test=oltp --oltp-table-size=100000 --mysql-table-type=myisam \
--oltp-point-selects=$point_selects \
--oltp-simple-ranges=$simple_ranges
--oltp-sum-ranges=$sum_ranges
--oltp-order-ranges=$order_ranges
--oltp-distinct-ranges=$distinct_ranges
--oltp-index-updates=$index_updates
--oltp-non-index-updates=$non_index_updates"
echo -e "\n*** Running test for $tname (client-side PS) ***\n"
sysbench $sbargs prepare >/dev/null
sb_run.sh -c "$tname (client-side PS)" $sbargs --db-ps-mode=disable run
sysbench $sbargs cleanup >/dev/null
echo -e "\n*** Running test for $tname (server-side PS)... ***\n"
sysbench $sbargs prepare >/dev/null
sb_run.sh -c "$tname (server-side PS)" $sbargs run
sysbench $sbargs cleanup >/dev/null
}
collect_results()
{
for dir in output/*; do
trans=`grep "transactions:" $dir/sysbench.out | sed -e 's/.*(\([0-9.]\+\).*)/\1/g'`
comment=`grep "comment:" $dir/desc.txt | sed -e 's/comment: //'`
echo "$comment: $trans"
done
}
# Run point selects test
clean_vars
point_selects=1
run_test "point_selects"
# Run simple ranges test
clean_vars
simple_ranges=1
run_test "simple_ranges"
# Run sum ranges test
clean_vars
sum_ranges=1
run_test "sum_ranges"
# Run order order ranges test
clean_vars
order_ranges=1
run_test "order_ranges"
# Run distinct ranges test
clean_vars
distinct_ranges=1
run_test "distinct_ranges"
# Run index updates test
clean_vars
index_updates=1
run_test "index_updates"
# Run non-index updates test
clean_vars
non_index_updates=1
run_test "non_index_updates"
# Run complex test
clean_vars
point_selects=10
simple_ranges=1
sum_ranges=1
order_ranges=1
distinct_ranges=1
index_updates=1
non_index_updates=1
run_test "complex"
# Collect the results
collect_results | sort