1、MySQL基准测试的常见指标
- 单位时间所处理的事务数(TPS)
- 单位时间所处理的查询数(QPS)
- 响应时间
平均响应时间、最大响应时间、最小响应时间、各时间所占的百分比 - 并发量(正在工作中的操作数或同时工作的数量)
2、基准测试工具–mysqlslap
特点:
- mysql自带的测试工具,无需单独安装
- 可以模拟服务器负载,并输出相关统计信息
- 可以指定也可以自定义生成查询语句
mysqlslap参数说明:
- –auto-generate-sql:由系统自动生成sql脚本进行测试
- –auto-generate-sql-add-autoincrement:在生成的表中增加自增ID
- –auto-generate-sql-load-type:指定测试中使用的查询类型
- –auto-generate-sql-write-number:指定初始化数据时生成的数据量
- –concurrency:指定并发线程的数量
- –engin:指定要测试表的存储引擎,可用逗号分隔多个引擎
- –no-drop:指定不清理测试数据
- –iterations:指定测试运行的次数
- –number-of-queries:指定每一个线程执行的查询数量
- –number-int-cols:指定测试表中包含INT类型列的数量
- –number-char-cols:指定测试表中包含varchar类型列的数量
- –create-schema:指定用于测试数据的名字
- –query:指定自定义的sql脚本
- –only-print:并不运行测试脚本,而是把生成的脚本打印出来
2、基准测试工具–sysbench
安装
https://github.com/akopykov/sysbench/archive/0.5.zip
unzip sysbench-0.5.zip
cd sysbench
./autogen.sh
./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
make && make install
常用参数
- –test:指定测试类型支持一下参数:
Fileio:文件系统I/O性能测试
cpu:cpu性能测试
memory:内存性能测试
Oltp:指定测试要使用的Lua脚本(Lua脚本位于sysbench-0.5/sysbench/tests/db) - –mysql-db:指定测试使用的数据名
- –mysql-table-engine:指定使用的存储引擎
- –oltp-tables-count:指定测试使用的表的数量
- –oltp-table-size:指定每个表中的数据行数
- –num-threads:指定测试的并发线程数量
- –report-interval:指定间隔多长时间输出一次统计信息
- –mysql-user:指定执行测试的mysql用户名
- –mysql-password:指定执行测试的mysql用户名的密码
- prepare:用于准备测试数据
- run:用于实际进行测试
- cleanup:用于清理测试数据