diff --git a/run.sh b/run.sh index 26c7f3e..ea178e1 100755 --- a/run.sh +++ b/run.sh @@ -9,6 +9,7 @@ if [ $# -eq 0 ]; then fi; PROVIDER=$1 +SPEEDTEST_SERVER=1774 swapoff -a @@ -16,44 +17,52 @@ apt-get update apt-get upgrade -y apt-get install sysbench nginx mysql-server python redis-server -y -# Grabs the major version of sysbench so we can use the correct parameters for MySQL -SYSBENCH_MAJOR_VERSION=$(sysbench --version | cut -d ' ' -f 2 | cut -d '.' -f 1) - wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli mkdir results -cat /proc/cpuinfo > results/cpuinfo.log +cat /proc/cpuinfo > results/proc-cpuinfo.txt -sysbench --test=cpu run > results/cpu.log +sysbench cpu run > results/sysbench-cpu.txt -sysbench --test=memory run > results/memory-read.log -sysbench --test=memory --memory-oper=write run > results/memory-write.log +sysbench memory run > results/sysbench-memory-read.txt +sysbench --memory-oper=write memory run > results/sysbench-memory-write.txt -sysbench --test=fileio prepare -sysbench --test=fileio --file-test-mode=rndrw run > results/fileio.log -sysbench --test=fileio cleanup +sysbench fileio prepare +sysbench --file-test-mode=rndrw fileio run > results/sysbench-fileio.txt +sysbench fileio cleanup -if [ "$SYSBENCH_MAJOR_VERSION" == "0" ]; then - # Ubuntu 16.04 - mysql -uroot -e "CREATE DATABASE sbtest;" - sysbench --test=oltp --oltp-table-size=1000000 --mysql-user=root prepare - sysbench --test=oltp --oltp-table-size=1000000 --mysql-user=root run > results/mysql.log - sysbench --test=oltp --oltp-table-size=1000000 --mysql-user=root cleanup -else - # Ubuntu 18.04 - mysql -uroot -e "CREATE DATABASE sbtest;" - sysbench --db-driver=mysql --table-size=1000000 --mysql-user=root /usr/share/sysbench/oltp_read_write.lua prepare - sysbench --db-driver=mysql --table-size=1000000 --mysql-user=root /usr/share/sysbench/oltp_read_write.lua run > results/mysql.log - sysbench --db-driver=mysql --table-size=1000000 --mysql-user=root /usr/share/sysbench/oltp_read_write.lua cleanup -fi +sysbench --threads=10 threads run > results/sysbench-threads.txt +sysbench --threads=10 mutex run > results/sysbench-mutex.txt -redis-benchmark -q -n 100000 --csv > results/redis-benchmark.log +mysql -uroot -e "CREATE DATABASE sbtest;" -./speedtest-cli --server=16089 > results/speedtest1.log -./speedtest-cli --server=16089 > results/speedtest2.log -./speedtest-cli --server=16089 > results/speedtest3.log +TESTS=( + "bulk_insert" + "oltp_delete" + "oltp_insert" + "oltp_point_select" + "oltp_read_only" + "oltp_read_write" + "oltp_update_index" + "oltp_update_non_index" + "oltp_write_only" + "select_random_points" + "select_random_ranges" +) + +for TEST in "${TESTS[@]}"; do + sysbench --db-driver=mysql --table-size=1000000 --mysql-user=root "/usr/share/sysbench/$TEST.lua" prepare + sysbench --db-driver=mysql --table-size=1000000 --mysql-user=root "/usr/share/sysbench/$TEST.lua" run > "results/sysbench-mysql-$TEST.txt" + sysbench --db-driver=mysql --table-size=1000000 --mysql-user=root "/usr/share/sysbench/$TEST.lua" cleanup +done + +redis-benchmark -q -n 100000 --csv > results/redis-benchmark.txt + +./speedtest-cli --json --secure --single --server="$SPEEDTEST_SERVER" > results/speedtest1.txt +./speedtest-cli --json --secure --single --server="$SPEEDTEST_SERVER" > results/speedtest2.txt +./speedtest-cli --json --secure --single --server="$SPEEDTEST_SERVER" > results/speedtest3.txt # Wraps it all up in a nice package tar -zcvf "results-$PROVIDER.tgz" results