MySQL性能测试(完整版)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL性能测试(完整版)

MySQL性能测试之SysBench

一、SysBench安装

1、mac安装命令:(其他系统安装对应的命令即可,不影响后面的使用)

brew install sysbench

2、查看是否安装成功;

sysbench --version

附:

(1)执行一些简单的 SysBench 命令,以确保它能够正常运行。例如,你可以运行一个 CPU 测试:

bashCopy codesysbench cpu --cpu-max-prime=20000 run

或者运行一个内存测试:

bashCopy codesysbench memory --memory-block-size=1M --memory-total-size=10G run

3、查看命令使用

sysbench --help

二、MySQL吞吐量测试

PS:对应参数填入正确的值(使用时可以先粘贴到文本中修改参数),具体的参数名成可能会因为版本问题稍有变化,对应修改即可。更多参数可查看详细文档。

1、准备测试数据:

注:需要先准备测试数据

sysbench /usr/local/share/sysbench/oltp_read_write.lua --db-driver=mysql --mysql-host=10.0.1.11 --mysql-port=30086 --mysql-user=root --mysql-password=123 --mysql-db=room --tables=10 --table-size=50000 --threads=1 prepare

参数解释:

命令使用了 sysbench,一个用于数据库基准测试的工具,特别是针对 MySQL。

  1. sysbench:命令本身。
  2. /usr/local/share/sysbench/oltp_read_write.lua:指定 sysbench 将用于基准测试的 Lua 脚本。在这种情况下,它是oltp_read_write.lua 脚本,专为包含读写操作混合的 OLTP(在线事务处理)工作负载而设计。
  3. --db-driver=mysql:指定数据库驱动程序,这里是 MySQL。
  4. --mysql-host=10.0.11:指定 MySQL 服务器的主机地址为 10.0.1.11
  5. --mysql-port=30086:指定 MySQL 服务器的端口号为 30086
  6. --mysql-user=root:指定连接到 MySQL 的用户名为 root
  7. --mysql-password=123:指定连接到 MySQL 的密码为 123
  8. --mysql-db=room:指定要执行基准测试的 MySQL 数据库名称为 room
  9. --tables=10:指定要创建的表的数量为 10
  10. --table-size=50000:指定每个表的大小为 50000
  11. --threads=1:指定用于执行基准测试的线程数为 1
  1. prepare:指定运行的操作是准备阶段,用于初始化数据库和表格以进行后续的基准测试。

2、开始测试

注:开始测试,运行结束会有结果生成。(线程数一般设置高点,可以100以上)

sysbench /usr/local/share/sysbench/oltp_read_write.lua --db-driver=mysql --mysql-host=10.0.1.11 --mysql-port=30086 --mysql-user=root --mysql-password=123 --mysql-db=room --percentile=80 --max-requests=0 --threads=101 --time=60 run

参数说明:

使用 sysbench 工具进行数据库基准测试:

  1. sysbench:命令本身。
  2. /usr/local/share/sysbench/oltp_read_write.lua:指定 sysbench 将用于基准测试的 Lua 脚本。在这种情况下它是 oltp_read_write.lua 脚本,专为包含读写操作混合的 OLTP(在线事务处理)工作负载而设计。
  3. --db-driver=mysql:指定数据库驱动程序,这里是 MySQL。
  4. --mysql-host=10.0.1.11:指定 MySQL 服务器的主机地址为 10.0.1.11
  5. --mysql-port=30086:指定 MySQL 服务器的端口号为 30086
  6. --mysql-user=root:指定连接到 MySQL 的用户名为 root
  7. --mysql-password=123:指定连接到 MySQL 的密码为 123
  8. --mysql-db=room:指定要执行基准测试的 MySQL 数据库名称为 room
  9. --percentile=80:读写比例为8:2。
  10. --max-requests=0:指定在测试运行期间的最大请求数。在这里,设置为 0 表示不限制最大请求数。
  11. --threads=101:指定用于执行基准测试的线程数为 101
  1. --time=60:指定测试运行的时间,这里设置为 60 秒。
  2. run:指定运行的操作是执行基准测试。

3、结果分析

QPS计算:

在 SQL 统计中,查询总数为 49820,测试总时间为 60.0476 秒。使用以下公式计算 QPS:

QPS = 总查询数 / 测试总时间

= 277425 / 60.2574

≈ 4585

SysBench 测试的 QPS 大约是 829.58。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL 测试技术
【赵渝强老师】MySQL的基准测试与sysbench
本文介绍了MySQL数据库的基准测试及其重要性,并详细讲解了如何使用sysbench工具进行测试。内容涵盖sysbench的安装、基本使用方法,以及具体测试MySQL数据库的步骤,包括创建测试数据库、准备测试数据、执行测试和清理测试数据。通过这些步骤,可以帮助读者掌握如何有效地评估MySQL数据库的性能。
|
2月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
58 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
4月前
|
关系型数据库 MySQL OLTP
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
【8月更文挑战第6天】使用 pt-query-digest 工具分析 MySQL 慢日志性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
322 0
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
|
4月前
|
关系型数据库 MySQL 测试技术
使用docker部署MySQL测试环境
使用docker部署MySQL测试环境
57 0
|
5月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
73 3
|
4月前
|
SQL 缓存 关系型数据库
MySQL配置简单优化与读写测试
MySQL配置简单优化与读写测试
|
6月前
|
关系型数据库 MySQL 测试技术
《阿里云产品四月刊》—瑶池数据库微课堂|RDS MySQL 经济版 vs 自建 MySQL 性能压测与性价比分析
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
6月前
|
存储 关系型数据库 MySQL
Baidu Comate Web在线出题能力测试——MySQL出题能力
Baidu Comate Web在线出题能力测试——MySQL出题能力
46 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL——case when语句测试
MySQL——case when语句测试
65 0
|
6月前
|
SQL 存储 关系型数据库
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
47 0