本文基于课堂PPT笔记整理,主要介绍一下Sysbench及其简单使用,实验代码部分在代码中有重点注释,不另作说明。
一,基准测试
什么是数据库的基准测试?
数据库的基准测试是对数据库的性能指标进行定量的、可复现的、可对比的测试。
数据库的基准测试有何作用?
对数据库的基准测试的作用,就是分析在当前的配置下(包括硬件配置、OS、数据库设置等),数据库的性能表现,从而找出MySQL的性能阈值,并根据实际系统的要求调整配置。
基准测试可以理解为针对系统的一种压力测试。但基准测试不关心业务逻辑,更加简单、直接、易于测试,数据可以由工具生成,不要求真实;而压力测试一般考虑业务逻辑(如购物车业务),要求真实的数据。
数据库的基准测试有哪些测试指标?
1)TPS/QPS:衡量吞吐量;
2)响应时间:包括平均响应时间、最小响应时间、最大响应时间、时间百分比等,其中时间百分比参考意义较大,如前95%的请求的最大响应时间;
3)并发量:同时处理的查询请求的数量。
二,Sysbench简介
Sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库;主要包括以下几种测试:
cpu性能
磁盘io性能
调度程序性能
内存分配及传输速度
POSIX线程性能
数据库性能(OLTP基准测试)
Sysbench基本命令一览表:
1 | ☁ ~ sysbench --help |
三,Mac安装使用Sysbench
1 | ☁ ~ brew install sysbench |
四,安装并使用TPCC-MYSQL
Tpcc-mysql默认自带的数据库比较大,约10G,请实验前保证磁盘空间充足。
1 | # 下载源码 |
五,遇到的问题及其解决方案
问题描述:ld: library not found for -lrt
解决方案:在
src/Makefile
中去掉lrt
,产生的错误按照提示去解决即可。
1 | LIBS= `mysql_config --libs_r` # -lrt |