sysbench测试
基本信息
192.168.1.58与192.168.1.59的内核参数文件内容是一致的
主机 | CPU核心数 | 内存大小 | 内核版本 | |
192.168.1.58 | 4核 | 8G | 2.6.32 |
192.168.1.58 | 4核 | 8G | 2.6.32 |
安装sysbench
官方安装脚本方式curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bashyum安装方式 yum install epel-release && sudo yum -y install sysbenchexport LD_LIBRARY_PATH=/usr/local/mysql/lib/
1 CPU基准测试报告
使用以下参数--num-threads 线程数,默认值为1--max-requests 最大请求数,默认值为10000--cpu-max-prime 最大素数,使用该参数后,会使用64-bit int型进行性能测试计算--percentile 取值百分比值,默认是95 ,即丢弃5%的长请求,在剩余的95%里取最大值#指定线程数和最大请求数测试CPUsysbench --num-threads=16 --max-requests=20000 --debug=on --test=cpu --cpu-max-prime=50000 run
主机 | 线程数 | 最大请求数 | 计算最大素数 | 总时间 | 最小响应时间 | 最大响应时间 | 平均响应时间 | 95%的语句的平均响应时间 |
192.168.1.58 | 16 | 20000 | 50000 | 10.0332s | 12.13ms | 48.45ms | 111.34ms | 78.60ms |
192.168.1.59 | 16 | 20000 | 50000 | 10.0567s | 23.74ms | 77.91ms | 125.91ms | 97.55ms |
2 磁盘IO基准测试报告
Sysbench的fileio测试需要经过prepare、run和cleanup三个阶段。prepare是准备阶段,生产需要的测试文件,run是实际测试阶段,cleanup是清理测试产生的文件。进行4个文件、总大小2GB的fileio测试:sysbench fileio \--file-num=4 \--file-total-size=2G \preparesysbench fileio \--time=180 \--events=100000000 \--threads=1 \--file-num=4 \--file-total-size=2G \--file-io-mode=sync \--file-test-mode=rndrd \--file-block-size=16384 \runsysbench fileio \--file-num=16 \--file-total-size=2G \cleanup
prepare阶段
主机名 | 准备时间 | 速率 |
192.168.1.58 | 10.24s | 200.02 MiB/s |
192.168.1.59 | 39.61s | 51.70 MiB/s |
测试阶段
主机名 | 测试模式 | 最大随机请求数 | 磁盘IOPS | 磁盘每秒速率 |
192.168.1.58 | rndrd | 100000000 | 257233.75 | 4019.28 |
192.168.1.59 | rndrd | 100000000 | 177808.02 | 2778.25 |
3 OLTP基准测试
查看帮助sysbench --test=oltp help主要测试以下参数--mysql-engine-trx=STRING 指定不同的存储引擎测试。--oltp-test-mode=STRING 测试类型:simple(简单select测试),complex(事务测试),nontrx(非事务测试),sp(存储过程) ;默认complex--oltp-sp-name=STRING 指定存储过程进行语句测试--oltp-table-size=N 指定表的记录大小,默认[10000]--oltp-num-tables=N 指定测试表的数量,默认[1]先创建好测试数据库eitest事务测试,测试12个线程执行1万条请求,10个表,每个表大小100W准备sysbench --num-threads=12 --max-requests=100000 \ --test=/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua\ --mysql-user=root --mysql-password=123456 \ --oltp-test-mode=complex --mysql-db=eitest --db-driver=mysql \ --oltp-table-size=1000000 --oltp-num-tables=10 prepare 测试sysbench --num-threads=12 --max-requests=100000 \ --test=/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua\ --mysql-user=root --mysql-password=123456 \ --oltp-test-mode=complex --mysql-db=eitest --db-driver=mysql \ --oltp-table-size=1000000 --oltp-num-tables=10 run清理sysbench --num-threads=12 --max-requests=100000 \ --test=/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua\ --mysql-user=root --mysql-password=123456 \ --oltp-test-mode=complex --mysql-db=eitest --db-driver=mysql \ --oltp-table-size=1000000 --oltp-num-tables=10 cleanup每秒事务量 TPS每秒的读写请求数 RQ
主机名 | CPU核心数 | 内存 | 总时间 | TPS | RQ | 95%的请求花费 |
192.168.1.58 | 4核 | 8G | 10.0099s | 850.00 | 16999.98 | 23.95 |
192.168.1.59 | 2核 | 8G | 10.0100s | 775.50 | 15509.93 | 26.20 |