php mysql 压力测试_MySQL压力测试

1. 什么是压力测试

压力测试是针对系统的一种性能测试,但是测试数据与业务逻辑无关,更加简单直接的测试读写性能

2. 压力测试的指标

QPS:每秒钟处理完请求的次数

TPS:每秒钟处理完的事务次数

响应时间:一次请求所需要的平均处理时间

并发量:系统能同时处理的请求数

3. 压力测试工具

Mysqlslap

Sysbench

Jmeter

长时间高并发的测试应该选择Sysbench

3. 安装Sysbench

设置yum源

下载阿里云或163的yum源,放在/etc/yum.repos.d目录中, 然后再执行如下两条命令

yum clean all

yum makecache

复制代码

下载Sysbench安装脚本并进行安装

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

yum install -y sysbench

复制代码

⚠️注意:sysbench不能和MySQL8.0安装到同一个Linux系统上

3. Sysbench基本语法

sysbench script [options] [command]

[option]连接信息参数

参数名称

功能意义

--mysql-host

ip地址

--mysql-port

端口号

--mysql-user

用户名

--mysql-password

密码

[option]执行参数

参数名称

功能意义

--oltp-test-mode

执行模式,包括simple、nontrx和complex,默认是complex

--oltp-tables-count

测试的表数量

--oltp-table-size

测试的表的大小

--threads

客户端的并发连接数

--time

测试执行的时间,单位是秒

--report-interval

生成报告的时间间隔,单位是秒

[command]命令

命令名称

功能意义

prepare

准备测试数据

run

执行测试

cleanup

清除测试数据

准备测试数据

sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.1.99 --mysql-port=3306 --mysql-user=root --mysql-password=123456abc --oltp-tables-count=10 --oltp-table-size=100000 prepare

复制代码

--oltp-tables-count=10 表示生成10个用于测试的数据表

--oltp-table-size=100000 每个表里有10万条数据

执行测试

sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.1.99 --mysql-port=3306 --mysql-user=root --mysql-password=123456abc --oltp-test-mode=complex --threads=10 --time=600 --report-interval=10 run >> /home/report.log

复制代码

--time=600 执行时长600秒,10分钟

--report-interval=10 每隔10秒钟生成一次测试报告

/home/report.log 测试报告输出位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值