#!/bin/bash # Skip prompts so we can run unattended export DEBIAN_FRONTEND=noninteractive if [ $# -eq 0 ]; then echo 'Missing argument, provider name' exit 1 fi; PROVIDER=$1 SPEEDTEST_SERVER=1774 swapoff -a apt-get update apt-get upgrade -y apt-get install sysbench nginx mysql-server python redis-server -y wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli mkdir results cat /proc/cpuinfo > results/proc-cpuinfo.txt sysbench cpu run > results/sysbench-cpu.txt sysbench memory run > results/sysbench-memory-read.txt sysbench --memory-oper=write memory run > results/sysbench-memory-write.txt sysbench fileio prepare sysbench --file-test-mode=rndrw fileio run > results/sysbench-fileio.txt sysbench fileio cleanup sysbench --threads=10 threads run > results/sysbench-threads.txt sysbench --threads=10 mutex run > results/sysbench-mutex.txt mysql -uroot -e "CREATE DATABASE sbtest;" 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