mysql怎么压力测试 mysql压测调优

如何使用MySQL自带的性能压力测试工具mysqlslap

方法/步骤

站在用户的角度思考问题,与客户深入沟通,找到黄岛网站设计与黄岛网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广、主机域名、网页空间、企业邮箱。业务覆盖黄岛地区。

使用--auto-generate-sql参数表示用mysqlslap工具自己生成的SQL脚本来测试并发压力

mysqlslap --auto-generate-sql -uroot -p123456

并发测试,使用–concurrency来模拟并发连接,连接数可以多个,用逗号隔开

mysqlslap --auto-generate-sql --concurrency=100 -uroot -p123456

mysqlslap --auto-generate-sql --concurrency=50,100 -uroot -p123456

使用--iterations模拟迭代测试,用于需要多次执行测试得到平均值。

mysqlslap --auto-generate-sql --iterations=5 -uroot -p123456

使用--engine测试不同的存储引擎的性能进行对比

mysqlslap --auto-generate-sql --concurrency=50,100 --iterations=5 --engine=myisam,innodb -uroot -p123456

--query=name,-q 指定自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。--create-schema 指定自定义的测试数据库名称,

mysqlslap --auto-generate-sql --concurrency=50,100 --create-schema="landclash" --query="call landclash.sp_player_getname(34);" --number-of-queries=5000 -uroot -p123456

如何用mysqlslap进行压力测试

压力测试工具mysqlslap 使用帮助--help介绍的很详细,下面是一些常用的选项。根据帮助文档就可以自己敲命令进行压力测试了。

--concurrency代表并发数量,多个可以用逗号隔开,当然你也可以用自己的分隔符隔开,这个时候要用到--delimiter开关。

--engines代表要测试的引擎,可以有多个,用分隔符隔开。

--iterations代表要运行这些测试多少次。

--auto-generate-sql 代表用系统自己生成的SQL脚本来测试。

--auto-generate-sql-load-type 代表要测试的是读还是写还是两者混合的(read,write,update,mixed)

--number-of-queries 代表总共要运行多少次查询。每个客户运行的查询数量可以用查询总数/并发数来计算。比如倒数第二个结果2=200/100。

--debug-info 代表要额外输出CPU以及内存的相关信息。

--number-int-cols 代表示例表中的INTEGER类型的属性有几个。

--number-char-cols 意思同上。

--create-schema 代表自己定义的模式(在MySQL中也就是库)。

--query 代表自己的SQL脚本。

--only-print 如果只想打印看看SQL语句是什么,可以用这个选项。

mysqlslap对于模拟多个用户同时对MySQL发起“进攻”提供了方便。同时详细的提供了“高负荷攻击MySQL”的详细数据报告。而且如果你想对于多个引擎的性能。这个工具再好不过了。

怎么使用tpcc做mysql的压力测试

怎么使用tpcc做mysql的压力测试

首先mysql/bin 目录里应该有mysqlslap.exe,我的版本是 5.5.11,里面是有这玩意的

在执行之前需要在mysql里建一个mysqlslap的database

use mysqlslap

然后建表news,classify输数据...

在命令行里输入:

C:\Program Files\MySQL\MySQL Server 5.5\binmysqlslap -u root –no-defaults -p -c

reate-schema=example --query="SELECT n.* FROM news n,classify c WHERE n.type=c.id AND c.type='2'" --iterations=1000

其中-u为username,-p为使用密码,query引号后的内容为执行的测试的sql,循环1000次

要求输入密码

Enter password: ****

结果:

Benchmark

Average number of seconds to run all queries: 0.007 seconds

Minimum number of seconds to run all queries: 0.000 seconds

Maximum number of seconds to run all queries: 1.016 seconds

Number of clients running queries: 1

Average number of queries per client: 1

如何用JMeter对MySQL数据库进行压测

在Jmeter中建立一个JDBC

Request

测试计划主要分两步。

(1)设置JDBC连接池(在JDBC

Connection

Configuration)

(2)添加JDBC

Request

其他步骤就是设置参数化、断言、监听结果。

第一步:添加

JDBC

Connection

Configuration

需要设置jdbc线程池变量的名称,这里设置为jdbcConfig,这个变量在JDBC

Request中要使用的;还有要设置Database

URL,格式为:jdbc:mysql://localhost:3306/chen?serverTimezone=UTCcharacterEncoding=utf-8,注意:?后面的serverTimezone=UTCcharacterEncoding=utf-8不能缺少,否则会报时区错误。

第二部:设置JDBC

Request


文章题目:mysql怎么压力测试 mysql压测调优
当前网址:http://myzitong.com/article/ddedhps.html