使用loadrunner调用mysql API进行性能测试

其实在进行性能测试过程中,我们选择的业务都与数据库有关,即选择的业务都会经过数据库的处理,那么业务的响应时间就包含数据库查询的时间,同样如果数据库查询的时间过长,那么将直接导致事务的响应时间过长,所以数据库的调优也是性能调优的重要组成部分。

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进接口"就学习到这里了,每周小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!

相关推荐
2601_9620738118 分钟前
大数据-240 离线数仓 - 广告业务 测试 ADS层数据加载 DataX数据导出到 MySQL
大数据·数据库·mysql
XZ-07000140 分钟前
week2-1-可视化
开发语言·python
Java后端的Ai之路1 小时前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式
张人玉1 小时前
基于 Python 机器学习 与 PyQt5 桌面框架开发的可视化分析系统——基于大数据的网上购物消费行为分析可视化大屏
python·qt·机器学习·echarts·three.js
Frank_refuel1 小时前
【MYSQL进阶】-> 索引理解
数据库
lv__pf1 小时前
MVCC机制【TL mysql7】
数据库
一位正在转型AI全栈的前端工程师1 小时前
AI 全栈学习之旅 -Week 5:RAG 知识库问答系统:从零到生产级部署的全栈实践总结
前端·python
2601_962381861 小时前
Python办公联动:Excel数据一键自动生成PPT图表
python·数据分析·自动化·excel·ppt
东莞市永盛电气1 小时前
三相208V变380V变压器,出海工业设备供电适配方案
python·单片机·嵌入式硬件
Wang's Blog1 小时前
Vibe Coding一人即团队系列40: 基于Git历史与自定义Skill的自动化周报生成实践
人工智能·自动化