LoadRunner驅動MySQL性能測試(lib庫實現)

發表于:2011-11-15來源:未知作者:領測軟件測試網采編點擊數: 標簽:
LoadRunner驅動MySQL性能測試(lib庫實現) 因為loadrunner原生未提供針對mysql測試的功能 國內網絡上流傳的都是ODBC連接mysql進行性能測試,過程較為繁瑣 而LR本身推薦的是使用提供的dll庫或者自行編寫dll庫進行測試。

  LoadRunner驅動MySQL性能測試(lib庫實現)

  前言

  因為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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97