由于项目初期测试计划并没有涉及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';