资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

mysql怎么测压力,mysql自带的压测工具

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

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

创新互联科技有限公司专业互联网基础服务商,为您提供电信机房托管高防物理服务器租用,成都IDC机房托管,成都主机托管等互联网服务。

--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。

Mysql 如何进行压力测试啊??

两种简单的方法,一个是使用海量数据进行测试性能。一个是使用测试工具,比如mysqlslap等等等等。

如何利用loadrunner做mysql压力测试

http函数下的loadrunner编程。

globals.h

#ifndef _GLOBALS_H

#define _GLOBALS_H

#include "lrun.h"

#include "web_api.h"

#include "lrw_custom_body.h"

#include "modal_dialog_callbacks.h"

#define random(x) (rand()%x)

#include

#include

#include

#include

#include

#include

#include

#endif // _GLOBALS_H

vuser_init.c

MYSQL *db;

MYSQL_ROW record;

vuser_init()

{

char sql[128];

MYSQL_RES *results1;

lr_load_dll("libmysql.dll");

db = mysql_init(NULL);

mysql_real_connect(db, "192.168.8.32", "root", "123456", "sunboyu_test", 3311, "/tmp/mysql3311.sock", 1);

sprintf(sql, "show tables");

mysql_query(db, sql);

results1 = mysql_store_result(db);

while((record = mysql_fetch_row(results1)))

{

lr_log_message("table = %s", record[0]);

}

mysql_free_result(results1);

return 0;

}

vuser_end.c

vuser_end()

{

mysql_close(db);

mysql_server_end();

return 0;

}

Action.c

Action()

{

int r1 = 0;

char sql[128];

r1 = random(11); //10种用户,8种正常访问,两种在挖坟

lr_log_message(" %d", r1);

if(r1==11)

{

my_mysql_insert();

}

else

{

my_mysql_query( r1 );

}

return 0;

}

int my_mysql_query( int randid )

{

int r2 = 0;

int j = 0;

int count = 0;

int page = 0;

char sql[128];

MYSQL_RES *results2;

if(randid2) //老数据,小部分 20%

{

r2 = random(700000);

sprintf(sql, "SELECT COUNT(*) AS count FROM posts_jx3 WHERE tid = %d;",r2);

lr_log_message("%s",sql);

mysql_query(db, sql);

results2 = mysql_store_result(db);

while((record = mysql_fetch_row(results2)))

{

lr_log_message("count = %d", record[0]);

}

mysql_free_result(results2);

page = count/10;

lr_log_message("page = %d", page);

for(j=0;j =page;j++)

{

sprintf(sql, "SELECT * FROM posts_jx3 WHERE tid = %d LIMIT %d,10;",r2,j);

mysql_query(db, sql);

lr_log_message("%s", sql);

if (j0) {

results2 = mysql_store_result(db);

while((record = mysql_fetch_row(results2)))

{

lr_log_message("pid = %d", record[0]);

}

mysql_free_result(results2);

}

}

}

else //新数据,大部分 80%

{

r2 = random(273505);

r2 = r2+700000;

sprintf(sql, "SELECT COUNT(*) AS count FROM posts_jx3 WHERE tid = %d;",r2);

如何用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


网站栏目:mysql怎么测压力,mysql自带的压测工具
URL链接:http://cdkjz.cn/article/dsgshio.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220