1. 程式人生 > >效能測試構造測試資料--初篇

效能測試構造測試資料--初篇

MySQL

mysql構造測試資料分為兩種:

1、自己寫SQL語句,利用LR等工具進行對資料的插入

2、利用資料庫本身的儲存過程構造測試資料(單執行緒執行,伺服器端執行減少了網路的消耗)

本篇主要說下第二種方式。

 1 BEGIN
 2     -- DECLARE 是用來定義變數的
 3     DECLARE i INT DEFAULT 1; 
 4     DECLARE p_sex VARCHAR(10);
 5     DECLARE p_course VARCHAR(10);
 6     -- WHILE迴圈,以DO開始,以END WHILE結束
 7     WHILE i<10000
8 DO 9 -- IF迴圈,以THEN開始,以END IF結束 10 IF i%2=0 THEN 11 SET p_sex = 'M'; 12 SET p_course = 'Math'; 13 ELSE 14 SET p_sex = 'W'; 15 SET p_course = 'Music'; 16 END IF; 17 -- CONCAT(str1,str2,...)拼接多個字串 18 -- RAND()函式,隨機返回一個(0
,1)的小數 19 -- FLOOR()函式:取整函式 20 INSERT INTO teacher (cardNO,name,sex,age,course,created,modified) VALUES(i+1000000,CONCAT('teacher_',FLOOR(RAND()*10000)),p_sex,FLOOR(20+RAND()*10),p_course,NOW(),NOW()); 21 SET i = i+1; 22 END WHILE; 23 END

redis

redis的資料構造要比mysql的資料構造簡單些。

具體方法如下:

1、匯入jedis-2.1.0.jar包,在eclipse寫構造資料的程式碼

2、把寫好的程式碼匯入LR進行引數化等

單個redis具體的程式碼如下:

 1 package com.redis;
 2 
 3 import redis.clients.jedis.Jedis;
 4 
 5 public class redistest {
 6     
 7     public static void main(String[] args){
 8         Jedis jedis = new Jedis("192.168.1.x",6379);//連線redis,可以放在LR的int裡面
 9         
10         jedis.set("hankai", "123456");//具體需要構造的資料,可在LR中進行引數化等
11         System.out.println("ok");
12     }
13 }

還有一種辦法是先進行壓力的測試直接從資料庫讀取資料,一邊連線進redis檢視dbsize的數量。