性能测试过程中,我们选择的业务都与
数据库有关,即选择的业务都会经过数据库的处理,那么业务的响应时间就包含数据库查询的时间,同样如果数据库查询的时间过长,那么将直接导致事务的响应时间过长,所以数据库的调优也是性能调优的重要组成部分。 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),我们将立即处理
权威发布,测试选择不纠结!第15届软件测试行业报告,直击行业发展,把握未来方向!
原文地址:http://www.51testing.com/?action-viewnews-itemid-5096401
免责声明:本文来源于互联网,版权归合法拥有者所有,如有侵权请公众号联系管理员
* 本站提供的一些文章、资料是供学习研究之用,如用于商业用途,请购买正版。