性能测试构造测试数据--初篇

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         //jedis.auth(password:"xxx");   //连接设置的密码
10         jedis.set("hankai", "123456");  //具体需要构造的数据,可在LR中进行参数化等
11         System.out.println("ok");
12     }
13 }

 

 

还有一种办法是先进行压力的测试直接从数据库读取数据,一边连接进redis查看dbsize的数量。

posted @ 2016-05-15 20:32  韩凯1202  阅读(852)  评论(0编辑  收藏  举报