其实在进行性能测试过程中,我们选择的业务都与数据库有关,即选择的业务都会经过数据库的处理,那么业务的响应时间就包含数据库查询的时间,同样如果数据库查询的时间过长,那么将直接导致事务的响应时间过长,所以数据库的调优也是性能调优的重要组成部分。
redis 我们已经学得差不多了,那么从今天起,我们来学习一下有关 “mysql的监控与调优” 的内容。
01 使用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进接口”就学习到这里了,每周小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!
下面是一份配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
这些都可以以在公众号:伤心的辣条 ! 免费领取,还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!