一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“使用loadrunner调用mysql API进行性能测试”。
其实在进行性能测试过程中,我们选择的业务都与数据库有关,即选择的业务都会经过数据库的处理,那么业务的响应时间就包含数据库查询的时间,同样如果数据库查询的时间过长,那么将直接导致事务的响应时间过长,所以数据库的调优也是性能调优的重要组成部分。
今天起,我们来更新习一下有关 “mysql的监控与调优” 的内容。
使用loadrunner调用mysql API进行性能测试
使用LoadRunner对mysql数据库存进行接口性能测试的步骤如下:
#1
将bin目录的文件libmysql.dll拷贝到loadrunner安装路径下的bin目录
#2
将include目录下所有的头文件拷贝到loadrunner安装路径下的include目录下
#3
在init.c中添加Ptt_Mysql.h头文件
#include "Ptt_Mysql.h"
#4
在action.c中创建两个变量:查询字符串和连接对象
char chQuery[128];
MYSQL *Mconn;
#5
在action.c中导入libmysql.dll文件
lr_load_dll("libmysql.dll");
#6
创建一个连接字符串
Mconn =
lr_mysql_connect(MYSQLSERVER,MYSQLUSERNAME,MYSQLPASSWORD,MYSQLDB,atoi(PORT));
//MYSQLSERVER:服务器IP地址
//MYSQLUSERNAME:表示访问服务器的用户名
//MYSQLPASSWORD:表示访问服务器的密码
//MYSQLDB:表示访问的是哪个数据库
//PORT:表示mysql数据库访问的端口号
#7
在init.c中对这些连接的参数进行宏定义
#define MYSQLSERVER "localhost"
#define MYSQLUSERNAME "root"
#define MYSQLPASSWORD ""
#define MYSQLDB "ecshop"
#define PORT "3306"
#8
将查询字符串存储到一个变量
sprintf(chQuery,"SELECT DISTINCT * FROM ecs_goods");
#9
执行查询语句
lr_mysql_query(Mconn,chQuery);
#10
读取结果集中的数据
lr_save_string(row[列号][行号].cell, "变量名");
如:
lr_save_string(row[0][0].cell, "goods_id");
lr_save_string(row[1][0].cell, "cart_id");
lr_save_string(row[2][0].cell, "goods_sn");
#11
查询执行结束后,断开数据库的连接
lr_mysql_disconnect(Mconn);
#12
对脚本进行参数化
char cQuery[128];
MYSQL *Mconn;
lr_load_dll("libmysql.dll");
Mconn = lr_mysql_connect(MYSQLSERVER,USERNAME,PASSWORD,MYSQLDB,atoi(PORT));
lr_save_string(lr_eval_string("{pram_goods_id}"),"goods_id");
sprintf(cQuery,"SELECT * FROM ecs_goods WHERE goods_id =
%d",atoi(lr_eval_string("{goods_id}")));
lr_mysql_query(Mconn,cQuery);
lr_save_string(row[3][0].cell,"goods_name");
lr_error_message(lr_eval_string("{goods_name}"));
lr_mysql_disconnect(Mconn);
今天关于“使用loadrunner调用mysql API进行性能测试”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!