效能測試構造測試資料--初篇
阿新 • • 發佈:2019-02-09
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<100008 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的數量。