Java应用的性能测试

来自软件实验室
跳转至: 导航搜索

为什么要做压力测试?

压力测试基本原理

  1. jmeter向服务器发出指定的请求或者请求序列
  2. 服务器返回请求的结果给jmeter
  3. jmeter记录请求的时间,并重复以上过程

压力测试工具:jmeter

安装

download from jmeter.apache.org and install it.

web页面压力测试

  1. 创建线程组,设置线程数量、线程间隔(ramp-up period)、循环次数

Jmeter setup threads.png

  1. 添加samples:http请求,设置请求地址(或者请求URL文件,参考“函数助手对话框”)。可以添加多个http请求或者其他请求,jmeter会随机抽取测试。

Jmeter setup http.png

  1. 添加listener:结果树或者图形结果

Jmeter result view.png

登陆页面的测试方法

  1. 添加Get方法的登陆页面访问
  2. 添加Post方法的登陆页面http请求,并通过http spy工具,比如firebug等查看登陆时的请求参数,照样填入post请求的参数列表

可以通过添加http cookie manager维护登陆状态,但是暂时实验不成功。

录制系列页面路径的方法

其原理是jmeter利用内置的http proxy server,将页面访问的路径记录到Recording Controller。

  1. 给测试组增加一个Recording controller和http request
  2. 在workbench增加一个http proxy server
  3. 访问指定的页面,可以看到recording controller逐步记录页面的访问路径


数据库压力测试

压力测试结果解读

重点关注在不同的压力下(测试组数、间隔时间)的参数:

  • 吞吐量的变化情况:反应了系统的处理能力
  • 失效页面是否开始增多?