本篇文章给大家带来的内容是关于mysql集群压测的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

mysql压测

mysql自带就有一个叫mysqlslap的压力测试工具,通过模拟多个并发客户端访问MySQL来执行压力测试,并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考官方手册。如果是系统自带或者使用rpm包安装的mysql,安装了MySQL-client端的包就有mysqlslap这个工具。(推荐课程:MySQL教程)

测试环境介绍:

虚拟机2台2Gmysql读写分离

使用语法如下:

# mysqlslap [options]

常用参数 [options] 详细说明:

--auto-generate-sql, -a 自动生成测试表和数据,表示用mysqlslap工具自己生成的SQL脚本来测试并发压力。

--auto-generate-sql-load-type=type 测试语句的类型。代表要测试的环境是读操作还是写操作还是两者混合的。取值包括:read,key,write,update和mixed(默认)。

--auto-generate-sql-add-auto-increment 代表对生成的表自动添加auto_increment列,从5.1.18版本开始支持。

--number-char-cols=N, -x N 自动生成的测试表中包含多少个字符类型的列,默认1

--number-int-cols=N, -y N 自动生成的测试表中包含多少个数字类型的列,默认1

--number-of-queries=N 总的测试查询次数(并发客户数×每客户查询次数)

--query=name,-q 使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。

--create-schema 代表自定义的测试库名称,测试的schema,MySQL中schema也就是database。

--commint=N 多少条DML后提交一次。

--compress, -C 如果服务器和客户端支持都压缩,则压缩信息传递。

--concurrency=N, -c N 表示并发量,也就是模拟多少个客户端同时执行select。可指定多个值,以逗号或者--delimiter参数指定的值做为分隔符。例如:--concurrency=100,200,500。

--engine=engine_name, -e engine_name 代表要测试的引擎,可以有多个,用分隔符隔开。例如:--engines=myisam,innodb。

--iterations=N, -i N 测试执行的迭代次数,代表要在不同并发环境下,各自运行测试多少次。

--only-print 只打印测试语句而不实际执行。

--detach=N 执行N条语句后断开重连。

--debug-info, -T 打印内存和CPU的相关信息。

说明:

测试的过程需要生成测试表,插入测试数据,这个mysqlslap可以自动生成,默认生成一个mysqlslap的schema,如果已经存在则先删除。可以用--only-print来打印实际的测试过程,整个测试完成后不会在数据库中留下痕迹。

mysqlslap -a -c 150 -i 10 -uroot -proot1234测试mysql连接数150时

压测并发数到200连接崩了

测试实例:

单线程测试。

# mysqlslap -a -uroot -proot1234

多线程测试,测试并发。

# mysqlslap -a -c 100 -uroot -proot1234

并发数达到100时,搜索查询时间在1s多

迭代测试。用于需要多次执行测试得到平均值。

# mysqlslap -a -i 10 -uroot -proot1234

测试同时不同的存储引擎的性能进行对比:

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb -uroot -proot1234

执行一次测试,分别50和100个并发,执行1000次总查询:

明显发现innodb性能查询较优

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 -uroot -proot1234

50和100个并发分别得到一次测试结果(Benchmark),并发数越多,执行完所有查询的时间越长。为了准确起见,可以多迭代测试几次:

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 -uroot -proot1234

mysql为什么要压测_mysql集群压测的详细介绍相关推荐

  1. RabbitMQ 集群高可用部署详细介绍

    链接:cnblogs.com/knowledgesea/p/6535766.html 清风万里的季节,周末本该和亲人朋友一起消遣这烂漫的花花草草,或是懒洋洋的晒个太阳听听风声鸟鸣.无奈工作使然,理想使 ...

  2. Jmeter性能测试五--分布式集群压测

    一.分布式压测背景及原理介绍 1. 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处理能力非常高,或者说被压服务是一个集群,那么这个时候,你使用一台压力机是压不到瓶颈的,反而自己的压力机先瓶颈 ...

  3. mysql 集群与主从_Mysql集群和主从

    1.Mysql cluster: share-nothing,分布式节点架构的存储方案,以便于提供容错性和高性能. 需要用到mysql cluster安装包,在集群中的每一个机器上安装. 有三个关键概 ...

  4. MySQL NDB Cluste-分布式数据库集群搭建

    1 概述 1.1 分布式数据库集群 Mysql cluster是适用于分布式计算环境的高可用.高冗余版本的mysql,其技术在分布式系统中为mysql数据提供了冗余特性,增强了安全性,使得单个mysq ...

  5. MyCAT+MySQL 搭建高可用企业级数据库集群

    第1章 课程介绍 课程介绍 1-1 MyCAT导学 试看 1-2 课程介绍 第2章 MyCAT入门 这一章中,我们将回顾了垂直切分,水平切分,分库分表等基础概念,然后快速回如何安装和启动MyCAT的, ...

  6. 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍

    大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...

  7. mysql windows集群_Mysql集群windows服务器版搭建过程

    此文就聊聊在windows服务器上搭建集群遇到的一些问题,具体的安装和配置解释我就不赘述了.供后续遇到问题的朋友们可以更快的找到问题所在,直接搞定以便避免占用太多不必要的时间. 服务器版本winsev ...

  8. mysql 集群操作系统_mysql集群部署

    mysql集群部署 一.软件准备 MySQL版本采用 5.6.35,通过 Oracle 官方网站下载 也可以直接从HTTP文件服务器上获取: 生产环境: wget http://download.cl ...

  9. mysql 集群 增加服务器_MYSQL集群服务配置

    MYSQL集群服务配置 篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群.并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行. 注意! 虽然这是基于2台服务器的MySQL集群,但 ...

最新文章

  1. tomcat出现5个using_出现急性心梗,要当心5个并发症,一个都不好惹!
  2. linux下 chown命令
  3. linux date 小写h,linux date 命令详解[转载]
  4. 大话设计模式—适配器模式
  5. MYSQL中用正则筛选一定的数据
  6. 买房应该少出首付,多贷款
  7. iOS-cocoapods使用方法
  8. 设置dns_网络速度缓慢怎么办?轻松一键修改DNS设置让网速提升五倍
  9. VMware下Centos7快速搭建vsftpd
  10. Zookeeper的一次启动失败问题解决
  11. Nginx作为WebSocket代理(Handshake failed due to invalid Upgrade header: null)
  12. 外企程序员常用英语单词
  13. 神经网络学习小记录59——Pytorch搭建常见分类网络平台(VGG16、MobileNetV2、ResNet50)
  14. 你应该了解的GPS经纬度
  15. 全国计算机考研人数,考研人数超165万创新高 连续3年年增超10万人
  16. 隐藏Excel单元格重要数值,不显示数值
  17. Excel数据填充技巧
  18. oeasy教您玩转vim - 90 - # 语法定义syntax
  19. 【Python 实战基础】如何绘制关系网格图展示8个节点间的关系
  20. 利润表三点式审阅:以御银股份为例

热门文章

  1. 使用Maven打包生成的-SNAPSHOT.jar与-RELEASE.jar分别代表什么?SNAPSHOT是什么意思?RELEASE是什么意思?
  2. git shanchu stash_git stash用法
  3. 2022-2028年中国水性密封胶行业市场调查研究及未来趋势预测报告
  4. Pytorch 多 GPU 并行处理机制
  5. Cuda Stream流 分析
  6. 长篇自动驾驶技术综述论文(上)
  7. Django 验证码4.4
  8. Django 状态保持3.5
  9. Android 动画 ViewPropertyAnimator 的使用
  10. idea 搭建spring boot 项目