MySQL 压力性能测试(Mysqlslap)工具

Mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。

它的使用语法如下:
shell>/usr/local/mysql/bin/mysqlslap [options]

常用参数【options】详细介绍:
--concurrency代表并发数量,多个可以用逗号隔开。例如:--concurrency=50,200,500
--engines代表要测试的引擎,可以有多个,用分隔符隔开。例如:--engines=myisam,innodb,memory
--iterations代表要在不同并发环境下,各自运行测试多少次。
--auto-generate-sql 代表用mysqlslap工具自己生成的SQL脚本来测试并发压力。
--auto-generate-sql-add-auto-increment 代表对生成的表自动添加auto_increment列,从5.1.18版本开始,
--auto-generate-sql-load-type 代表要测试的环境是读操作还是写操作还是两者混合的(read,write,update,mixed)
--number-of-queries 代表总共要运行多少条查询。
--debug-info 代表要额外输出CPU以及内存的相关信息。
--number-int-cols 代表示例表中的INTEGER类型的属性有几个。
--number-char-cols代表示例表中的vachar类型的属性有几个。
--create-schema 代表自定义的测试库名称。
--query 代表自定义的测试SQL脚本。

说明:

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

实验步骤:

练习一:
单线程测试。测试做了什么。
>./bin/mysqlslap -a -uroot -p111111
多线程测试。使用--concurrency来模拟并发连接。
> ./bin/mysqlslap -a  -c 100 -uroot -p111111
迭代测试。用于需要多次执行测试得到平均值。
> ./bin/mysqlslap  -a -i 10 -uroot -p111111

练习二:
> ./bin/mysqlslap -auto-generate-sql-add-autoincrement -a -uroot -p111111
> ./bin/mysqlslap -a -auto-generate-sql-load-type=read -uroot -p111111
> ./bin/mysqlslap -a -auto-generate-secondary-indexes=3 -uroot -p111111
> ./bin/mysqlslap -a -auto-generate-sql-write-number=1000 -uroot -p111111

> ./bin/mysqlslap --create-schema world -q "select count(*) from City" -uroot -p111111
> ./bin/mysqlslap -a -e innodb -uroot -p111111
> ./bin/mysqlslap -a --number-of-queries=10 -uroot -p111111

练习三:
执行一次测试,分别50和100个并发,执行1000次总查询:
> ./bin/mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --debug-info -uroot -p111111

50和100个并发分别得到一次测试结果(Benchmark),并发数越多,执行完所有查询的时间越长。为了准确起见,可以多迭代测试几次:
> ./bin/mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --debug-info -uroot -p111111

测试同时不同的存储引擎的性能进行对比:
>./bin/mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb --debug-info -uroot -p111111

 

时间: 2024-11-08 19:15:53

MySQL 压力性能测试(Mysqlslap)工具的相关文章

MySQL压力测试方法 如何使用mysqlslap测试MySQL的压力?_Mysql

其实mysql测试也没有这么复杂,除了一些常用的select\insert\update\deletc这些外,其实测试他的并发量才是最重要的.比如在连接数1K的时候,并发量能否满足当前请求\服务器性能.内存CPU使用情况.说白了,测试mysql就是测试他的配置文件和并发量及服务器性能. 一.工具 首选工具mysql自带的:mysqlslap –auto-generate-sql, -a 自动生成测试表和数据 –auto-generate-sql-load-type=type 测试语句的类型.取值

mysql读写性能测试

用mysqlslap进行mysql压力测试 mysqlslap官方文档   mysqlslap菜鸟译文 概述和测试环境 压测的目的是为了尽量模拟真实情况.测试的表都是由10个int型字段和10个字符串型字段组成.每个测试项目都测试了myisam和innodb两个引擎.测试的方法都是用两个线程并发,一共跑10000个请求. 压测的机器用的是自己的笔记本.CPU是Intel(R) Core(TM)2 Duo CPU     P8400, 4G内存, SATA硬盘. mysql服务器端和压测的客户端跑

Mysqlslap MySQL压力测试工具 简单教程_Mysql

MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单.通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考官方手册. 复制代码 代码如下: –auto-generate-sql, -a 自动生成测试表和数据 –auto-generate-sql-load-type=type 测试语句的类型.取值包括:read,key,write,update和mixed(默认). –numb

mysql服务器性能测试怎么做

问题描述 mysql服务器性能测试怎么做 本人新搭建好一个mysql服务器,它的性能和处理能力该怎样来测试呢?包括用哪个工具,关注哪些性能参数? 解决方案 有很多这样的工具,比如说 mysqlslap Super-smack MySQL Benchmark loadrunner 但是不是说用工具就能准确度量出你的服务器性能了,因为工具仅仅是工具,压力测试仅仅是模拟测试. 真实场景下业务是多种多样的,用户的真实访问,真实的数据和查询请求不是简单靠工具能模拟出来的,dba的经验在这里非常关键. 解决

老叶倡议:MySQL压力测试基准值

通常,我们会出于以下几个目的对MySQL进行压力测试: 1.确认新的MySQL版本性能相比之前差异多大,比如从5.6变成5.7,或者从官方版本改成Percona分支版本: 2.确认新的服务器性能是否更高,能高多少,比如CPU升级了.阵列卡cache加大了.从机械盘换成SSD盘了: 3.确认一些新的参数调整后,对性能影响多少,比如 innodb_flush_log_at_trx_commit.sync_binlog 等参数: 4.确认即将上线的新业务对MySQL负载影响多少,是否能承载得住,是否需

Mysql压力测试shell脚本

Mysql压力测试shell脚本 Mysql自带了压力测试工具mysqlslap,所以我们可以不用自己编写程序来测试Mysql读取的压力.压力测试shell脚本如下:  www.bitsCN.com [plain] #!/bin/sh while true do mysqlslap --concurrency=100 --iterations=10 --create-schema='test' --query="insert into test(c1,c2,c3,c4) values(1,1,1

为什么需要云压力性能测试?

为什么需要云压力性能测试? 对软件开发和测试人员来说,最危险的事情之一莫过于被"虚假的安全感"哄骗.举个例子,应用程序的功能和性能水平在预生产阶段往往已经达到预期,但在真实用户环境下就可能崩溃频出.故障不断. 所以我们讲,是骡子是马,拉出来溜溜.传统压力测试,在真实生产环境中,压力小还好,一旦真实负载一起来,问题就多了. 同样的,如果你的团队有任何一种性能测试策略,那么很有可能你正在进行负载测试.然而,在你的负载测试中,你可能无法真正的模拟用户在真实世界的行为. 用户体验成就产品,也杀

服务器性能测试 测试工具 如何测试?

问题描述 服务器性能测试 测试工具 如何测试? 服务器性能测试有哪些方法? 测试工具有哪些? 如何测试? 服务器压力测试怎么做? 解决方案 1.衡量服务器性能,通常有以下指标:吞吐量,连接建立速率,并发连接数: 2.测试服务器性能通常采用专门的测试工具来测试,硬件工具有smartbit,ixia等,价格通常不菲,软件测试工具由http_load, web_load, opensta等. 3.要测试服务器性能的话,首先需要搭建一个测试环境,如果使用硬件测试器的话(性能好,功能强),一般都有很好的手

MySQL分卷备份/导入工具使用教程

相信很多使用虚拟主机,没有SSH权限的站长们,最郁闷的一件事就是MySQL数据的备份和导入,几兆大小的数据文件还好说,但经常有动辄几十上百兆的数据需要导入导出,phpmyadmin可以方便的导出大量数据,但对于大文件的导入却无能为力. 下面推荐的一款"PHP版MySQL数据库分卷备份工具",可以轻松胜任超大数据库的备份/导入工具,最重要的是,他可以分卷操作,并可以指定每个文件的大小. 需要输入密码验证才能进行操作 分卷备份 分卷导入,只要导入一个文件,会自动导入其余分卷 官方下载