MySQL 5.7vs8.0,你选谁?网友:我继续原地踏步( 二 )

使用脚本
cat sysbench_test_mysql5.7_8.0_tps_qps.sh#!/bin/bash#用于sysbench 测试在读写模式、只读模式、只写模式下 mysql5.7和mysql8.0 的tps,qps#nohup bash $0 >/tmp/sysbench_test 2>31m ${what} \e[0m"}function check_las_comm(){if [ $1 -ne 0 ];thenred_echo $2exit 1fi}functionrestart_mysqld(){service mysqld${1} restartsleep 2}functionpurge_binlog(){port=$1mysql -u$user -p$passwd -P$port -h$host< /proc/sys/vm/drop_caches}functionsysbench_with_diff_thread(){thread_num=$1port=$2order=$3test_mode=$4sysbench /usr/local/share/sysbench/${test_mode}.lua --mysql_storage_engine=innodb--table-size=100000 --tables=20 --mysql-db=test_1 --mysql-user=$user --mysql-password=$passwd --mysql-port=$port--mysql-host=$host --threads=$thread_num--time=60 --report-interval=2 --db-ps-mode=disable --events=0 --db-driver=mysql $order}functionmain(){for test_mode in $sysbench_test_mode;dofor port in $ports;dofor thread_num in {5,10,20,30,40,80,120,200};dorestart_mysqld "$port"check_las_comm"$?" "restart mysqld${port} failed "clean_os_cachepurge_binlog "$port"red_echo "sysbench $thread_numthreads cleanup mysqld${port}"sysbench_with_diff_thread "$thread_num" "$port" "cleanup" "$test_mode">/dev/nullred_echo "sysbench $thread_numthreads prepare mysqld${port}"sysbench_with_diff_thread "$thread_num" "$port" "prepare" "$test_mode">/dev/nullmkdir -p $sysbench_test_info_pathred_echo "sysbench $thread_numthreads run mysqld${port} $test_mode"sysbench_with_diff_thread "$thread_num" "$port" "run" "$test_mode" > $sysbench_test_info_path/${test_mode}_${thread_num}_$port# service mysqld{port} stopdonedonedone}main