sysbench工具测试mysql性能

网友投稿 869 2022-05-28

本文介绍Mysql 性能测试一些方法,然后通过测试工具之一sysbench对mysql进行性能测试。

MySQL 是一个关系型数据库管理系统。sysbench是一款开源的多线程性能测试工具,可以执行CPU、内存、线程、IO、数据库等方面的性能测试

对MySQL的基准测试,有如下两种思路:

(1)针对整个系统的基准测试:通过http请求进行测试,如通过浏览器、APP或postman等测试工具。该方案的优点是能够更好的针对整个系统,测试结果更加准确;缺点是设计复杂实现困难。

(2)只针对MySQL的基准测试:优点和缺点与针对整个系统的测试恰好相反。

在针对MySQL进行基准测试时,一般使用专门的工具进行,例如mysqlslap、sysbench等。其中,sysbench比mysqlslap更通用、更强大,且更适合Innodb(因为模拟了许多Innodb的IO特性),下面介绍使用sysbench进行基准测试的方法。

利用sysbench对MySQL进行性能测试

1、  安装准备

华为云购买一台鲲鹏服务器(sysbench和mysql部署在同一台鲲鹏服务器上,当然也可以部署在不同的服务器上)

本文以云服务器KC1实例搭建,云服务器配置如表1-1所示。

表1-1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求如表1-2所示。

表1-2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

2、  部署MySQL

鲲鹏社区软件栈已经有部署文档,请参考

https://www.huaweicloud.com/kunpeng/software/mysql0.html

sysbench工具测试mysql性能

3、  部署sysbench

鲲鹏社区软件栈已经有部署文档,请参考

https://www.huaweicloud.com/kunpeng/software/sysbench.html

4、  登录mysql

mysql –uroot -p123456

5、  创建sysbench测试使用的数据库“dbtest”

create database dbtest;

show databases;

6、  准备数据

执行命令:

sysbench /usr/local/share/sysbench/oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=dbtest --db-driver=mysql --tables=1 --table-size=10000 --report-interval=30 --threads=1 --time=30 prepare

显示如下:

7、  执行测试

执行命令:

sysbench /usr/local/share/sysbench/oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=dbtest --db-driver=mysql --tables=1 --table-size=10000 --report-interval=30 --threads=1 --time=30 run

说明:

其中,对于我们比较重要的信息包括:

queries:查询总数及qps

transactions:事务总数及tps

Latency-95th percentile:前95%的请求的最大响应时间,本例中是7.7毫秒

显示如下:

8、  清理数据

执行完测试后,清理数据,否则后面的测试会受到影响。执行命令如下:

sysbench /usr/local/share/sysbench/oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=dbtest --db-driver=mysql --tables=1 --table-size=10000 --report-interval=30 --threads=1 --time=30 cleanup

显示如下:

Mysql 鲲鹏

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Zabbix的应用(2)----配置系列
下一篇:JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解
相关文章