前言
因為loadrunner原生未提供針對mysql測試的功能
國內網絡上流傳的都是ODBC連接mysql進行性能測試,過程較為繁瑣
而LR本身推薦的是使用提供的dll庫或者自行編寫dll庫進行測試。
只要能在網上找到支持自編寫dll庫的license即可
本文方法參考的主要是Bish.co.uk論壇,有mysql,php和loadrunner板塊,
使用它們編寫的mysql鏈接庫
———–待測試庫環境準備———————-
GRANT ALL PRIVILEGES ON *.* TO 'root'@'windows IP'
IDENTIFIED BY'root'WITHGRANTOPTION;
配置好測試數據庫和表
—————–LoadRunner運行庫準備———————
a.解壓MySQL LoadRunner libraries.zip版本1 版本2 中的文件至LR安裝目錄
b.在LR的vuser腳本的init中加入實例信息
#include "Ptt_Mysql.h"
#define MYSQLSERVER "192.168.2.5"
#define MYSQLUSERNAME "root"
#define MYSQLPASSWORD "root"
#define MYSQLDB "tpch_1"
#define MYSQLPORT "5029"
c.在action腳本中 每個sql語句前加入
lr_load_dll("libmysql.dll");
———————–vu腳本編寫方法,c語言————————–
//action中加入
char chQuery[128];
MYSQL *Mconn;
//將sql語句保存在 char中
lr_load_dll("libmysql.dll");
//每個sql前加入讀取dll庫
Mconn = lr_mysql_connect(MYSQLSERVER, MYSQLUSERNAME,
MYSQLPASSWORD, MYSQLDB,
atoi(MYSQLPORT));
//從init的define中讀取連接參數
sprintf(chQuery, "select N_NATIONKEY,N_NAME,N_REGIONKEY from
nation limit 3;");
lr_mysql_query(Mconn, chQuery);
//在輸出中打印語句,調用dll中的lr_mysql_query方法執行語句
lr_save_string(row[0][0].cell, "sN_NATIONKEY");
lr_save_string(row[1][0].cell, "sN_NAME");
lr_save_string(row[2][0].cell, "sN_REGIONKEY");
//結果集要保存到多維數組中。。也可以直接忽略輸出
lr_output_message(lr_eval_string("N_NATIONKEY: {sN_NATIONKEY};
N_NAME: {sN_NAME}; N_REGIONKEY Description:{sN_REGIONKEY}"));
lr_save_string(row[0][1].cell, "sN_NATIONKEY");
lr_save_string(row[1][1].cell, "sN_NAME");
lr_save_string(row[2][1].cell, "sJobDesc");
lr_output_message(lr_eval_string("N_NATIONKEY: {sN_NATIONKEY};
N_NAME: {sN_NAME}; N_REGIONKEY Description:{
//vu_end中加入
lr_mysql_disconnect(Mconn);
//斷開連接
———–安裝對linux的資源監控———
a.安裝rsh
一般都有
rpm -q rsh
b.安裝rstat 開源軟件
http://sourceforge.net/projects/rstatd/files/rstatd/4.0.1/rpc.rstatd-4.0.1.tar.gz/download
# tar –xzvf rpc.rstatd-4.0.1.tar.gz
# ./configure
//配置
# make
//編譯
# make install
//安裝
# rpc.rstatd
//啟動rstatd進程
c.查看rstatd是否啟動:
# rpcinfo -p
如果能看到:
100001 5 udp 892 rstatd
100001 3 udp 892 rstatd
100001 2 udp 892 rstatd
100001 1 udp 892 rstatd
就說明rstatd服務已經啟動??梢杂肔R去監視了。
d.在LoadRunner Controller的run界面中,添加System Resource Graphs下的Unix Resource,在Unix Resource圖上右鍵Add Measurements,然后點擊Add,填寫ip如192.168.1.99,默認只有三個指標,在下面的Add中可以添加其他指標。
—————-lr control——-
啟動controller設定vu用戶數和迭代次數,配置后對linux的資源監控后即可進行測試,之后調用analyse進行分析。
不過因為不是原生的支持,analyse分析內容有限。
注:對于dml也可進行測試,但要做好數據的規劃,如insert 10條,delete10條
原文轉自:http://www.anti-gravitydesign.com