No longer testing on old Ubuntu versions, so dropped the sanity checks around that. Added some additional `sysbench` tests, improved the speed tests and did some naming clean up.
68 lines
2 KiB
Bash
Executable file
68 lines
2 KiB
Bash
Executable file
#!/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
|