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

发表于:2022-3-28 10:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:知乎

  其实在进行性能测试过程中,我们选择的业务都与数据库有关,即选择的业务都会经过数据库的处理,那么业务的响应时间就包含数据库查询的时间,同样如果数据库查询的时间过长,那么将直接导致事务的响应时间过长,所以数据库的调优也是性能调优的重要组成部分。
  redis 我们已经学得差不多了,那么从今天起,我们来学习一下有关 “mysql的监控与调优” 的内容。

  使用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);

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号