loadrunner測試MySQL資料庫效能

2022-08-23 11:51:10 字數 2771 閱讀 1485

目錄可以看到 mysql loadrunner libraries 裡面有兩個資料夾:bin 以及 include。將 bin 資料夾裡的檔案拷貝到 loadrunner 安裝路徑下的 bin 資料夾下。將 include 資料夾裡的檔案全部拷貝到 loadrunner 安裝路徑下的 include 資料夾下。

1. vuser_init檔案**

#include "ptt_mysql.h"

#include "mysql.h"

#include "mysql_com.h"

#include "mysql_time.h"

#include "mysql_version.h"

#include "typelib.h"

#include "my_list.h"

#include "my_alloc.h"

#define mysqlserver "**.**.**.***"//ip位址

#define mysqlusername "root"

#define mysqlpassword "root123"

#define mysqldb "mytest"

#define mysqlport "3306"

int statu=1;

//mysql連線字串

mysql *mconn;

int conn_fail=0, conn_iter=0;

vuser_init()

lr_start_transaction("mysql_connection");

//initialise mysql

if(!(mconn = mysql_init(null)))

doelse

conn_fail = 0;

}//如果連線失敗,重複連線最多10次

while(conn_fail < 0 && conn_iter < 10);

//連線失敗返回error

if (conn_fail < 0)

//連線成功返回mysql - good connection

else

return 0;

}

2. action檔案**
action()

"));

lr_output_message("the parameter score is : %s",lr_eval_string(""));

//將sql結果(格式化後的字串)輸出到目標陣列

sprintf(chquery, "update user_info set score = '%s' where username = '%s';",lr_eval_string(""),lr_eval_string(""));

//是否成功,0成功,其他失敗

status = lr_mysql_query(mconn, chquery);

if(status!=0)

else

} return 0;

}

3. vuser_end檔案**
vuser_end()

4. 遇到的問題

問題一:linux中 mysql 授權遠端連線?

解決辦法:

在虛擬機器中使用 root 使用者登入 mysql 資料庫

mysql -u root -p

使用 mysql 命令為 root 使用者授權 mysql 遠端連線服務

grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;

說明:此命令是為密碼為 root 、ip(%)任意的 root 使用者授權。(%:模糊查詢,所有 ip 都可以,可指定其他主機 ip;by 後的 'password' 為密碼)

將配置寫入 mysql 授權表中

flush privileges;

防火牆開放3306埠

開啟防火牆配置檔案

vi /etc/sysconfig/iptables

增加下面一行

-a input -m state --state new -m tcp -p tcp --dport 3306 -j accept

重啟防火牆

service iptables restart

注意:增加的開放3306埠的語句一定要在icmp-host-prohibited之前

問題二:jmeter連線oracle資料庫報錯,報錯資訊:

system.data.oledb.oledbexception:one or more errors occurred during processing of command. ora-00911: invalid character at...

解決辦法:

原因是不能將分號(;)放到sql的語句中(loadrunner可以),解決辦法很簡單,取得分號就行了。

問題三:oracle ora-00984: column not allowed here?

解決辦法:ora-00984錯誤: 列在此處不允許,當資料以char的形式存在時,應加單引號,則插入資料庫就不會出現類似錯誤

loadrunner壓力測試

1.錄製指令碼使用lr12錄製,lr12相容性更好,錄製完後將指令碼在lr11中執行 2.錄製指令碼一次性錄製完所有場景,進入需要壓力測試的場景前新增事務 3.指令碼將每個事物拆分成乙個方法,用 控制執行的場景 4.場景設計 主要業務流程包括瀏覽主要頁面,登入,入庫申請,發布上架,應邀,登出 場景1...

loadrunner 測試步驟

負載測試通常由五個階段組成 計畫負載測試 定義效能測試要求,例如併發使用者的數量 典型業務流程和所需響應時間。建立 vuser 指令碼 將終端使用者活動捕獲到自動指令碼中。定義場景 使用 loadrunner controller 設定負載測試環境。執行場景 通過 loadrunner contro...

LoadRunner壓力測試

一 錄製指令碼 1.安裝完畢後,建立指令碼 點選ok之後,會彈出 之後建立action,每進乙個頁面新增乙個action,錄製結束後,終止錄製。二 修改指令碼 1.指令碼引數化 將登入的使用者名稱密碼進行動態化,右鍵 replace with a parameter 將其替換為乙個引數,後期進行壓力...