1. 程式人生 > >MySQL資料庫效能測試的方法

MySQL資料庫效能測試的方法

MySQL資料庫效能測試的方法

前置條件:

安裝系統:windows 7 64

Mysql版本:mysql-installer-community-5.6.35.0

JAVA版本:jdk1.6.0_45

Jmeter版本:apache-jmeter-3.1

Mysql odbc驅動:mysql-connector-odbc-5.1.7-win32.msi

Mysql jdbc驅動:mysql-connector-java-5.1.7-bin.jar

使用Jmeter JDBC Request方式實現

1.

開啟JMeter,點選測試計劃,點選瀏覽...”按鈕,將你的JDBC驅動新增進來。

2.

新增一個執行緒組,

右鍵點選執行緒組,在下面新增一個“JDBC Connection Configuration”

來配置一下JDBCConnection Configuration頁面。

3.

右鍵點選執行緒組,在下面新增一個“JDBC request”,並配置請求資訊;

4.

新增斷言。

右鍵點選執行緒組---->新增--->斷言---->響應斷言。

5.

我們來新增一些監聽器來行檢視(根據實際的需要配置監聽器)

新增一個斷言結果:

右鍵點選執行緒組---->新增--->監聽器---->結果斷言。

新增一個圖形結果:

右鍵點選執行緒組

---->新增--->監聽器---->圖形結果。

新增一個檢視結果樹:

右鍵點選執行緒組---->新增--->監聽器---->檢視結果樹。

下面是新增所有東東的列表:

6.

線上程組頁面設定使用者數、啟動時間、迴圈次數

點選選單欄執行”----“啟動

下面是結果:

其它的結果圖片就不貼了......

使用Loadrunner 11 Web Services協議中的lr_db_xxxx系列函式方式實現

1.      安裝MySQL ODBC驅動

在網上下載一個是MYSQL資料庫的ODBC驅動程式:mysql-connector-odbc-5.1.7-win32.msi

(已上傳),以預設選項安裝該檔案。]

2.  2

開啟資料來源:開始->設定->控制面板->找到資料來源,或者直接訪問資料來源啟動配置路徑

3.  3

開啟資料來源(ODBC),在使用者DSN選項卡中點選“新增”按鈕,彈出“建立新資料來源”視窗。

4.  4

選中“MYSQL ODBC 5.1Driver”,點選“完成”按鈕。

5.  5

彈出新視窗,在login選項卡中填寫資料來源資訊。
Data Source Name 資料原名稱;
Discription 描述(選填);
Server 資料來源計算機的IP;
User 資料庫使用者名稱;
Password 資料庫密碼;
DataBase 資料來源所要連線的資料庫;

6.  6

配置完後,點選“test”按鈕,如果出現如下提示,即配置成功。

步驟閱讀

點選“OK”返回使用者DSN選項卡,增加一條記錄,名為你所配置的資料來源名稱。

 

到此 Mysql ODBC 驅動安裝配置成功。

2.啟動Loadrunner的Virtual Vuser Generator ,建立Web Services協議指令碼(因為lr_db_xxxx類函式只支援web services協議)

3、根據實際需要編寫指令碼

1)lr_db_xxxx相關函式引數細資訊:

int lr_db_connect("StepName","ConnectionString=<connection_string>","ConnectionName=<connection_name>","ConnectionType=<connection_type>", LAST );

int lr_db_executeSQLStatement("StepName=<step_name>","ConnectionName=<connection_name>","SQLStatement=<statement>",["DatasetName=<dataset_name>",] LAST );

int lr_db_dataset_action("StepName=<step_name>","DatasetName=<dataset_name>", "Action=<action>",LAST );

int lr_db_getValue("StepName=<step_name>","DatasetName=<dataset_name>","Column=<column>", "Row=<row>","OutParam=<output_parm>", LAST );

int lr_db_disconnect("StepName=<step_name>","ConnectionName=<connection_name>", LAST );

2)具體的指令碼實現方法

Action()

{

//開啟連線,注意DRIVER就是上面安裝的 

int NumRows=0;

int i=0;

lr_db_connect("StepName=databaseConnect",

"ConnectionString=DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=test;USER=root;PASSWORD=012306;OPTION=3",

"ConnectionName=Mysql",

"ConnectionType=ODBC",

LAST);

lr_start_transaction("SQL");

//while(i<=5){

lr_db_executeSQLStatement("StepName=PerformQuery",

"ConnectionName=Mysql",

"SQLStatement=SELECT * FROM student",

"DatasetName=test",LAST);

//i++;

//}//執行SQL語句

/*lr_output_message(lr_eval_string("{idParam}"));*/

lr_end_transaction("SQL", LR_AUTO);

lr_output_message("The query returned %d rows.",NumRows);

lr_db_dataset_action("StepName=actionPrint",

"DatasetName=test",

 "Action=PRINT",

LAST);//對資料庫執行操作

/*while(i<NumRows){

lr_db_getvalue("StepName=GetValue",

"DatasetName=test",

"Column=sname", //欄位名

"Row=next",

"OutParam=MyOutputParam",

LAST);

lr_output_message("The value is: %s",lr_eval_string("{MyOutputParam}") );

i=i+1;

}*/

lr_db_disconnect("StepName=disconnect",

"ConnectionName=Mysql",LAST);

//ConnectionName的值與lr_db_connect中的ConnectionName值要相同

//與資料庫斷開連線

return0;

}

3)除錯執行指令碼

 

使用Loadrunner 11  Java Vuser協議 JDBC連結方式實現

1.啟動Loadrunner的Virtual Vuser Generator ,建立Java/Java Vuser協議指令碼

2.根據實際需要編輯Mysql的請求連結、資料插入、修改、查詢、刪除指令碼

/*

* LoadRunner Javascript. (Build: _build_number_)

*

* ScriptDescription:

*                    

*/

import java.awt.List;

import java.sql.*;

import java.sql.DriverManager;

import java.sql.Statement;

import com.mysql.jdbc.Connection;

import lrapi.lr;

public class Actions

{

public intinit() throws Throwable {

return 0;

}//end of init

public intaction() throws Throwable {

intColumnCount;

intRowCount;

Stringdriver = "com.mysql.jdbc.Driver";

Stringurl = "jdbc:mysql://localhost:3306/test";

Stringuser = "root";

Stringpassword = "012306";

try {

Class.forName(driver);

lr.start_transaction("jdbc");

Connection conn = (Connection)DriverManager.getConnection(url,user,password);

if(!conn.isClosed())

{

System.out.println("資料庫連線成功");

lr.start_transaction("search");

    String sqls="select stu_id,sname,sage,ssexfrom student";  //sql語句

PreparedStatement ps = conn.prepareStatement(sqls);

ResultSet rs = ps.executeQuery();

lr.end_transaction("search",lr.AUTO);

while(rs.next()){

    ResultSetMetaData rsmd = rs.getMetaData();

ColumnCount = rsmd.getColumnCount();

rs.last();

RowCount = rs.getRow();

System.out.println("結果集的列數:" + ColumnCount);

               System.out.println("結果集的行數:" + RowCount);

    }

ps.close();

conn.close();

}

lr.end_transaction("jdbc",lr.AUTO);

}

catch(ClassNotFoundException e)

{

System.out.println("資料庫驅動程式沒有找到");

e.printStackTrace();

}

catch(SQLException e)

{

e.printStackTrace();

}

    return 0;

    }//end of action

public int end()throws Throwable {

return 0;

}//end of end

}

相關推薦

MySQL資料庫效能測試方法

MySQL資料庫效能測試的方法 前置條件: 安裝系統:windows 7 64 Mysql版本:mysql-installer-community-5.6.35.0 JAVA版本:jdk1.6.0_45 Jmeter版本:apache-jmeter-3.1 Mysql od

一些mysql資料庫效能優化方法

很多人都將 資料庫設計正規化 作為資料庫表結構設計“聖經”,認為只要按照這個正規化需求設計,就能讓設計出來的表結構足夠優化,既能保證效能優異同時還能滿足擴充套件性要求。殊不知,在N年前被奉為“聖經”的資料庫設計3正規化早就已經不完全適用了。這裡我整理了一些比較常見的資料庫表結構設計方面的優化技巧,希望對大

一些mysql資料庫效能優化方法 (17/2/28整理)

一、MySQL 資料庫效能優化之SQL優化 優化目標 1.減少 IO 次數 IO永遠是資料庫最容易瓶頸的地方,這是由資料庫的職責所決定的,大部分資料庫操作中超過90%的時間都是 IO 操作所佔用的,減少 IO 次數是 SQL 優化中需要第一優先考慮

一種簡單的資料庫效能測試方法

轉載地址:http://www.cnblogs.com/fnng/archive/2011/08/03/2126775.html   這兩天接到一個任務,要測試一個伺服器的效能,客戶要求向資料庫內 1000/s(每插入一千條資料)  的處理能力,當時腦子賭賽了,

MySQL組複製技術實現與資料庫效能測試工具

測試環境 本文件是在 99Cloud Lab OpenStack 平臺虛機上面測試,僅供參考。 系統: CentOS 7.3 虛機: 2 核 4G 版本: MySQL 5.7 技術架構 MySQL Group Replication(簡稱 MGR)是官方推出的高可用解決方案,原生複製技術,基於外掛

Java使用JDBC連線mysql資料庫測試是否連線成功的方法

一、連線mysql資料庫: 步驟一:在eclipse下面建一個專案,我的是JDBC_Test, 步驟二:選中專案名稱,右鍵選擇Build Path->Configure Build Path…. 步驟三:進入Java Build Path 選擇L

mysql之 sysbench0.4.12資料庫效能測試

1. 常用選項 在Shell中執行以下命令便可得到sysbench的常用選項資訊: sysbench --help 上述命令的輸出資訊如下圖所示: 1.1 使用語法 使用sysbench時,可以通過以下語法進行基準測試: sysbench [通用選項].

關於sqlserver、access、mysql資料庫效能的一個簡單測試

本人因為好奇加想驗證,對sql server access mysql三款資料庫效能進行一個簡單測試。 測試方法如下: 建立資料庫欄位為: sql server: access: mysql:

優化MYSQL資料庫效能的八個方法

這幾天一直在研究mysql的優化問題,對於mysql情況,今天在無意中發現了一篇文章,其時這篇文章我早就看過了,當時是功力不夠深看不懂,現在回頭一看,真的是挺經典的,所以轉發一下,希望對各位有所幫助.1、選取最適用的欄位屬性   MySQL可以很好的支援大資料量的存取

資料庫效能測試---也談PostgreSQL和MySQL的隨機更新測試

拜讀後,受老唐啟發,想出下面一些問題,也許能進一步驗證Pg和MySQL的效能。 1 目的:這除了對比2者UPDATE命令的效能外,更進一步考察2者整體效能. 2 為什麼說可以進一步考察2者整體效能呢

Kafka效能測試方法

以下會介紹利用Kafka自帶的效能測試指令碼及KafkaManager測試Kafka的效能,以及如何使用Kafka Manager監控Kafka的工作狀態。 Kafka效能測試指令碼   $KAFKA_HOME/bin/kafka-producer-perf-test.sh 該指令

Mysql資料庫效能優化之查詢效能優化

一、前言:為啥查詢速度會變慢? 通常來說,查詢的生命週期大致分為從客戶端、到伺服器,然後在伺服器上進行解析,生成執行計劃,執行,並返回結果給客戶端。其中執行可以說是最重要的階段,這其中包括了大量為了檢索資料到儲存引擎的呼叫以及呼叫後的資料處理,包括排序和分組等。在每一個消耗大量時間的查

Access,Mysql資料庫速度測試

  Access在多個數據庫多表中讀取 Release版直接點選exe下執行 以MMQ工程為例,讀取desi型別資料庫 1.105個數據庫,每個資料庫169個表,共 151336條記錄,時間:31秒 2.資料庫連線及表格連線(不讀取內容),時間:23秒 3.資料庫

scrapy框架 基於mysql資料庫儲存資料方法、案例

流程思路 將解析資料存到items物件 使用yield 將items交給管道檔案處理 在管道檔案pipelines編寫程式碼儲存到資料庫 在setting配置檔案開啟管道 案例 items中 按照格式定義欄位 import s

MySQL 資料庫效能優化之表結構優化

很多人都將 資料庫設計正規化 作為資料庫表結構設計“聖經”,認為只要按照這個正規化需求設計,就能讓設計出來的表結構足夠優化,既能保證效能優異同時還能滿足擴充套件性要求。殊不知,在N年前被奉為“聖經”的資料庫設計3正規化早就已經不完全適用了。這裡我整理了一些比較常見的資料庫表結構設計方面的優化技巧,希

ambari安裝使用MySQL資料庫的具體方法

一、需要先下載資料庫並安裝 1、使用 yum list|grep mysql 檢視yum上的可用MySQL版本 2、然後使用 yum installd mysql安裝MySQL資料庫 3、檢視資料庫狀態:chkconfig status mysql 4、啟動資料庫:systemctl m

Hibernate 環境 配置 對映資料庫 SQL server ,Mysql 資料庫測試無誤

最近要消化的知識有點多,多以特地將筆記寫道 部落格中,方便檢視 需要到的hibernate jar 包 ,大家可以自行到官網下載 Hibernate 中 配置 Sqlserver 資料庫 <?xml version="1.0" encoding=

sysbench mysql 資料庫oltp 測試

oltp是針對資料庫的基準測試,例如每次對資料庫進行優化後執行基準測試來測試不同的配置的tps。 sysbench 0.5之後通過一系列LUA指令碼來替換之前的oltp,來模擬更接近真實的基準測試環境。這些測試 指令碼包含:insert.lua、oltp.lua、para

學習mysql資料庫最好的方法,從專案入手,電子資源賬務管理系統(electronic_resources),理解專案如何實現的

電子資源賬務管理系統mysql資料庫建立語句 電子資源賬務管理系統oracle資料庫建立語句 電子資源賬務管理系統sqlserver資料庫建立語句 電子資源賬務管理系統spring+springMVC+hibernate框架物件(javaBean,pojo)設計

資料庫效能測試實戰】測試不同分頁儲存過程在10w,100w以及1000w資料量下面的表現

前言 資料庫的效能與每一行程式碼息息相關,所以,每次寫程式碼可以考慮一下在不同級別的資料量下面測試一下效能。 本文參考了: Postgresql生成大量測試資料 以及 準備測試用資料 此次測試我們將分別用10w,100w以及1000w級別的表來測試,下面先建立