怎么使用tpcc做mysql的压力测试
怎么使用tpcc做mysql的压力测试
首先mysql/bin目录里应该有mysqlslap.exe,我的版本是5.5.11,里面是有这玩意的
在执行之前需要在mysql里建一个mysqlslap的database
usemysqlslap
然后建表news,classify输数据...
在命令行里输入:
C:\ProgramFiles\MySQL\MySQLServer5.5\bin>mysqlslap-uroot–no-defaults-p-c
reate-schema=example--query="SELECTn.*FROMnewsn,classifycWHEREn.type=c.idANDc.type='2'"--iterations=1000
其中-u为username,-p为使用密码,query引号后的内容为执行的测试的sql,循环1000次
要求输入密码
Enterpassword:****
Averagenumberofsecondstorunallqueries:0.007seconds
Minimumnumberofsecondstorunallqueries:0.000seconds
Maximumnumberofsecondstorunallqueries:1.016seconds
Numberofclientsrunningqueries:1
Averagenumberofqueriesperclient:1
本回答由提问者推荐
如何利用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"
#definerandom(x)(rand()%x)
#include
#include
#include
#include
#include
#include
#include
#endif//_GLOBALS_H
vuser_init.c
MYSQL*db;
MYSQL_ROWrecord;
vuser_init()
charsql[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,"showtables");
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);
return0;
vuser_end.c
vuser_end()
mysql_close(db);
mysql_server_end();
return0;
Action.c
Action()
intr1=0;
charsql[128];
r1=random(11);//10种用户,8种正常访问,两种在挖坟
lr_log_message("%d",r1);
if(r1==11)
my_mysql_insert();
my_mysql_query(r1);
return0;
intmy_mysql_query(intrandid)
intr2=0;
intj=0;
intcount=0;
intpage=0;
charsql[128];
MYSQL_RES*results2;
if(randid<2)//老数据,小部分20%
r2=random(700000);
sprintf(sql,"SELECTCOUNT(*)AScountFROMposts_jx3WHEREtid=%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*FROMposts_jx3WHEREtid=%dLIMIT%d,10;",r2,j);
mysql_query(db,sql);
lr_log_message("%s",sql);
if(j>0){
results2=mysql_store_result(db);
while((record=mysql_fetch_row(results2)))
本回答由提问者推荐
压力测试通常是在什么情况下测试的?
压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等
压力测试测试方法是什么?
冲击发生了以后,实际上我们把频率往右移了,可以看出信用损失百分比的数据,出现高的数据频率增加了,原来是把这个频率往外偏移,所以可以看出较高信用损失百分比出现的频率增加了,较小的信用损失百分比出现的频率减少了
Mysql 如何进行压力测试啊??
如何用JMeter对MySQL数据库进行压测
在Jmeter中建立一个JDBC Request 测试计划主要分两步。
(1)设置JDBC连接池(在JDBC Connection Configuration)
(2)添加JDBC Request
其他步骤就是设置参数化、断言、监听结果。
第一步:添加 JDBC Connection Configuration
需要设置jdbc线程池变量的名称,这里设置为jdbcConfig,这个变量在JDBC Request中要使用的;还有要设置Database URL,格式为:jdbc::3306/chen?serverTimezone=UTC&characterEncoding=utf-8,注意:?后面的serverTimezone=UTC&characterEncoding=utf-8不能缺少,否则会报时区错误。
第二部:设置JDBC Request