Fixes the issue where the install for MySQL gets locked up because it's expecting input on the password. Benchmarks are using empty passwords so this is fine
56 lines
1.8 KiB
Bash
Executable file
56 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo 'Missing argument, provider name'
|
|
exit 1
|
|
fi;
|
|
|
|
PROVIDER=$1
|
|
|
|
swapoff -a
|
|
|
|
apt-get update
|
|
apt-get upgrade -y
|
|
apt-get install sysbench nginx mysql-server python -y
|
|
|
|
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
|
|
|
|
sysbench --test=cpu run > results/cpu.log
|
|
|
|
sysbench --test=memory run > results/memory-read.log
|
|
sysbench --test=memory --memory-oper=write run > results/memory-write.log
|
|
|
|
sysbench --test=fileio prepare
|
|
sysbench --test=fileio --file-test-mode=rndrw run > results/fileio.log
|
|
sysbench --test=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
|
|
|
|
./speedtest-cli --server=16089 > results/speedtest1.log
|
|
./speedtest-cli --server=16089 > results/speedtest2.log
|
|
./speedtest-cli --server=16089 > results/speedtest3.log
|
|
|
|
ab -kc 1000 -n 10000 http://127.0.0.1/ > results/ab.log
|
|
|
|
tar -zcvf "results-$PROVIDER.tgz" results
|