zoukankan      html  css  js  c++  java
  • 利用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';

  • 相关阅读:
    Unity Behaviors for Interception
    Unity Method Dependency Injection
    Unity的AdditionalInterfaces问题
    Unity的三种Interceptor
    C#实现office文档转换为PDF或xps的一些方法
    多级菜单CSS+DIV
    应用软件系统架构设计的“七种武器”(转)
    AjaxModalPopupExtender
    越来越苦,献给狗日的小温
    NHibernate教程
  • 原文地址:https://www.cnblogs.com/GoldbachRhapsody/p/4595920.html
Copyright © 2011-2022 走看看