利用Lib库实现LoadRunner测试Mysql性能

由于项目初期测试计划并没有涉及Mysql的性能测试,只是针对前端及负载做了性能测试,于是乎就在上线后出现了各种Mysql死锁等问题。正好在项目1.0期之后出现空档,自己可以研究一下关于Mysql的性能测试。本期也只是记录通过LoadRunner官方库去实现Mysql的连接及SQL事务提交的步骤,真正的性能测试还没有开始。

1。LoadRunner的mysqllib库

  下载地址:http://down.51cto.com/data/403722

  安装步骤:解压文件,将bin和include文件覆盖至LoadRunner根目录下;

  库函数文件:Ptt_Mysql.h文件;

  调用函数:lr_mysql_connect();lr_mysql_query();lr_mysql_disconnect();

2。代码实现

  vuser_init:

#define MYSQLSERVER "*******" 		//mysql服务端IP
#define MYSQLUSERNAME "*****"	        //mysql用户名
#define MYSQLPASSWORD "*****"  	        //mysql密码
#define MYSQLDB "******"		//mysql数据库名
#define MYSQLPORT "****" 		//mysql端口

#include "Ptt_Mysql.h"			//导入库文件

vuser_init()
{
	return 0;
}    

   Action:

{
	char chQuery[128];
	int resultValue;
	MYSQL *Mconn;

	lr_load_dll("libmysql.dll");

	Mconn = lr_mysql_connect(MYSQLSERVER,MYSQLUSERNAME,MYSQLPASSWORD,MYSQLDB,atoi(MYSQLPORT));
	strcpy(chQuery, "INSERT INTO `netbarapppolicys`.`dbsyncinfo`(syncversion) VALUES('112');");

	lr_start_transaction("Insert");
	resultValue = lr_mysql_query(Mconn, chQuery);   //执行SQL语句

	if (resultValue != 0) 
	{
		lr_end_transaction("Insert",LR_FAIL);
	}
	else 
	{
		lr_end_transaction ("Insert",LR_PASS);
	}

	lr_mysql_disconnect(Mconn);

	return 0;
}

 3。注意

  让你的Mysql允许其他PC可以作为root连接。命令: grant all on *.* to 'root'@'IP' identified by 'password';

原文地址:https://www.cnblogs.com/GoldbachRhapsody/p/4595920.html