7. 建立一个数据库测试计划 |
在这部分,你会学习到如何创建一个基本的测试计划 来测试一个数据库服务器.你将要创建十个用户发送5个SQL请求到数据库服务器.同时,你会告诉用户运行测试3次.因此,请求的总数是10用户X2请求X重复3次=60个 JDBC请求.为构建此测试计划,你将要使用到以下组件:线程组 , JDBC请求 , 图形结果 .
|
|
7.1 添加用户 |
每次做JMeter测试计划第一步要做的就是添加一个线程组 元件.线程组告诉JMeter你想要模拟的用户数,用户多久发送请求,和他们应该发送多少请求.
添加一个线程组元件.先选中测试计划,右击鼠标在打开的右键菜单中选添加菜单,然后选择添加-->线程组.
你现在应该看到线程组在测试计划下了.如果你没有看到这个元件,那么点击测试计划元件"展开"测试计划树.
下一步,你需要修改默认的属性.选择树中的线程组元件(如果你还没有选择的话).你现在应该看见在JMeter窗口的右侧分栏的线程组控制板(见如下的图7.1).
![](https://i-blog.csdnimg.cn/blog_migrate/7d7da0a3b6a521065994bde7c152e385.png) Figure 7.1. 默认值的线程组 |
先给我们的线程组起一个具有比较好的描述意义的名字.在名字字段, 输入JDBC Users.
你会需要一个合法的数据库,数据表,和表的用户权限.在这个例子中,数据库是mydb,表名是Stocks. |
下一步,增加用户数量到10.
在 下一个字段,Ramp-up时间段,留作默认值0秒.这个属性告诉JMeter在启动每个用户时延迟多久.例如,如果你输入一个Ramp-up时间段为5 秒,JMeter会在第5秒结束前开启所有的用户.因此,如果我们有5个用户,5秒的Ramp-up时间段,那么每个用户之间的启动延迟为1秒(5用户 /5秒=1用户/秒).如果你设这个值为0,那么JMeter会立即启动所有的用户.
最后在循环次数字段输入一个3.这个属性告诉JMeter重复你的测试多少次.让JMeter不停的运行你的测试计划,选择"永远"复选框.
在大多数应用程序里,你不得不手工接受你在控制面板中的做的改动.然而,在JMeter里,当你做了修改后控制面板会自动接受你的修改.如果你改变了元件的名字,树在你离开控制面板后会把那个元件的名字更新成新的(例如,当选择另一个树元件后) |
看图7.2查看完成后的JDBC Users线程组.
![](https://i-blog.csdnimg.cn/blog_migrate/1e083198b8efd135fd6ce16a9d3dc008.png) 图 7.2. JDBC Users线程组 |
|
|
7.2 添加JDBC请求 |
现在我们已经定义了我们的用户,是时候来定义他们要做的任务了.在这一节,你会指定要执行的JDBC请求.
先选择JDBC Users元件.点击你的鼠标右键得到添加菜单,然后选择添加-->配置元件-->JDBC Connection Configuration.然后,选择这个新元件查看它的控制面板(看图7.3).
设置下面的字段 (这里假定我们使用一个本地的名叫test的MYSQL数据库):
- Variable name bound to pool. 这需要唯一标识这个配置. 它被JDBC取样器用来识别被使用的配置
- Database URL: jdbc:mysql://localhost:3306/test
- JDBC Driver class: com.mysql.jdbc.Driver
- Username: guest
- Password: password for guest
剩下的字段可以保留默认值.
JMeter 使用在控制面板里指定的配置创建一个数据库连接池.这个池在JDBC请求的'Variable Name'字段中被提到.一些不同的JDBC配置元件可以被使用,但是它们必须有独立的名字.每一个JDBC请求必须指向一个JDBC配置池.可以有多于 一个的JDBC指向同一个池.
![](https://i-blog.csdnimg.cn/blog_migrate/b1995851263c8dd2cc5087bdcb9b1537.png) 图 7.3. JDBC配置 |
再次选择JDBC Users元件.点击你的右键得到添加菜单,然后选择添加-->Sampler-->JDBC Request. 然后, 选择这个新元件观察它的控制面板 (看图 7.4).
![](https://i-blog.csdnimg.cn/blog_migrate/d5d01bbf62707759f0c3582ca7fd722f.png) 图 7.4. JDBC 请求 |
在我们的测试计划中,我们造了2个JDBC请求.第一个用来查询Eastman Kodak股票,第二个用来查询Pfizer股票(显然你应该修改例子里的这些东西来适合你的特殊数据库). 请看下面描述.
首先修改下面的属性值(看图7.5):
- 修改名称为"Kodak".
- 输入池名称: MySQL (跟在配置元件中的一样)
- 输入SQL查询字符创字段.
![](https://i-blog.csdnimg.cn/blog_migrate/3409ad0dd031df30426615b864770a91.png) 图 7.5. 查询Eastman Kodak股票的JDBC请求 |
下一步,添加第二个JDBC请求并且编辑下面的属性(看图 7.6):
- 修改名称为"Pfizer".
- 输入SQL查询字符串字段.
![](https://i-blog.csdnimg.cn/blog_migrate/4a14702e99ac1f9984340111f16e6e16.png) 图7.6. 查询Pfizer股票的JDBC请求 |
|
|
7.3 添加一个监听器来观察/储存测试结果 |
你最后需要添加到测试计划中的是一个监听器 .这个元件负责储存你所有的JDBC请求结果到一个文件中并且以可视化数据模型呈现出来.
选择JDBC Users元件并且添加一个图形结果 监听器(添加-->监听器-->图形结果).
![](http://jakarta.apache.org/jmeter/images/screenshots/jdbctest/graph-results.png) 图 7.7. 图形结果监听器 |
|
转自:http://zlfoxy.blogbus.com/logs/16785336.html