MySQL压测工具-Sysbench

MySQL压测工具-Sysbench

一、软件简介

SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试:

cpu性能,磁盘io性能,调度程序性能,内存分配及传输速度,POSIX线程性能,数据库性能(OLTP基准测试) 。

目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。

二 、Sysbench文件下载

2.1设置yum源

http://mirrors.aliyun.com/repo/Centos-7.repo
http://mirrors.163.com/.help/CentOS7-Base-163.repo
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache 

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash

yum -y install sysbench

2.2验证安装

[root@localhost sysbench-1.0.20]# sysbench --help
[root@localhost sysbench-1.0.20]# sysbench --version
sysbench 1.0.20

在这里插入图片描述

四、数据库压测

# 登录mysql
mysql -uroot -proot
# 创建数据库
mysql> create database sbtest;

在这里插入图片描述

4.2 准备数据

 创建10个并发,10张表,20万条数据,测试120秒,每10秒报告一次
sysbench ./usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.204.21 --mysql-port=3307 --mysql-user=root --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=200000 --threads=10 --time=120 --report-interval=10 prepare

4.3 压测数据

创建10个并发,10张表,20万条数据,测试120秒,每10秒报告一次,日志写到data/test/mysysbench.log

# 创建10个并发,10张表,20万条数据,测试120秒,每10秒报告一次,日志写到home/test/mysysbench.log
sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.204.21 --mysql-port=3307 --mysql-user=root --mysql-password=root --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=200000 --threads=10 --time=120 --report-interval=10 run >> /data/test/mysysbench.log

本此测试为机械硬盘:

TPS:310 per/sec

QPS:6216 per/sec

Latency-95th percentile:前95%的请求的最大响应时间 82.96ms
在这里插入图片描述

4.4 清除数据

sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.204.21 --mysql-port=3307 --mysql-user=root --mysql-password=123456 cleanup

五、测试总结

1.尽量不要在MySQL服务器运行的机器上进行测试,一方面可能无法体现网络(哪怕是局域网)的影响,另一方面,sysbench的运行(尤其是设置的并发数较高时)会影响MySQL服务器的表现。
2.可以逐步增加客户端的并发连接数(–thread参数),观察在连接数不同情况下,MySQL服务器的表现;如分别设置为10,20,50,100等。
3.一般执行模式选择complex即可,如果需要特别测试服务器只读性能,或不使用事务时的性能,可以选择simple模式或nontrx模式。
4.如果连续进行多次测试,注意确保之前测试的数据已经被清理干净。

六、参考链接

1.Yum安装MySQL以及相关目录路径和修改目录
2.MySql性能测试工具-sysbench
3.数据库性能测试:sysbench用法详解
4.详解MySQL基准测试和sysbench工具
5.mysql+mycat压力测试一例

猜你喜欢

转载自blog.csdn.net/qq_40584358/article/details/114765385