[关闭]
@mo-xiaojiang 2018-02-28T08:19:04.000000Z 字数 1785 阅读 574

WEB压力测试

WEB 压力测试


什么是压力测试

压力测试是为了确定系统的瓶颈或最大使用极限而存在的。
它通过构造 高频访问 的应用情景,来暴露出软件系统的性能瓶颈。

它有区别于 负载测试

负载测试,是为了测试软件系统当负载逐渐增加时,系统各项性能指标的变化情况。
考察指标一般为响应时间、交易容量、并发容量、资源使用率等。

压力测试的重要概念

  1. 吞吐率

    单位时间内处理的请求数

  2. 并发连接数

    软件系统某时刻所接受的请求数目

  3. 并发用户数

    与软件系统同时发生交互的用户总数

  4. 用户平均请求等待时间

  5. 平均请求等待时间

    单个请求处理所需时间

压力测试的工具

JMeter

参考资料
jmeter之优缺点 - 蓝雨菲1991
Jmeter做功能测试的优点和不足

LoadRunner

参考资料
jmeter,loadrunner异同
LoadRunner与JMeter的比较

后面,主要以 JMeter 作为测试工具来讲解

Jmeter使用流程——登录示例

测试准备

获取必要的登录参数

  1. 打开浏览器(这里选用Google浏览器)
    地址栏输入 http://192.168.0.200:28080/merchant/login
    (可换成相应的测试URL)

  2. F12 (可换为对应浏览器的快捷键) 打开浏览器 开发者工具
    点击调试窗顶部的 Network
    (在这里查看请求的请求头和响应头)
    image.png-551.7kB

  3. 输入用户名、密码,点击登录按钮后,产生了一次登录请求
    Network 下的网络资源列表中,滚动到顶部,可以发现名为 login 文件
    (请求文件一般在网络资源的顶部)
    image.png-305.6kB

  4. 点击查看名为 login 文件,其中
    image.png-336kB

    • General 包含了请求提交到的 URL 和请求方式(POST or GET)
    • Form Data 包含了请求时携带的表单数据
      这些都是我们需要关注的

测试流程

  1. 启动 Apache JMeter
    image.png-90.4kB
    默认新建了一个 Test Plan,直接保存为 login.jmx 即可。

  2. 添加 thread group
    选中 Test Plan 右键 > Add > Threads (users) > Thread Group,并点击
    image.png-77.6kB
    点击新建的线程组,配置其参数

    • 设置用户线程 10
    • 设置 3s 内启动所有线程
    • 设置线程对其下的所有事务只循环 1
  3. 添加 HTTP request,并配置参数
    为了保证看到登录后的效果,先添加一个 HTTP Cookie Manager,用于维持登录状态

    选中 Thread Group,右键 > Add > Config Element > HTTP Cookie Manager,并点击

    然后,添加一个 HTTP 请求

    选中 Thread Group,右键 > Add > Sampler > HTTP Request,并点击
    注:不是 HTTP Request Defaults,这个位于 Config Element

    配置 HTTP 请求的参数
    image.png-98kB
    以上参数均来自前面的 测试准备

  4. 添加 view result tree(查看结果树),Aggregate Graph (聚合图)

    选中 Thread Group,右键 > Add > Listener > view result tree,并点击
    选中 Thread Group,右键 > Add > Listener > Aggregate Graph,并点击

    image.png-299.1kB

  5. 启动并查看结果
    image.png-151.5kB

    查看聚合图
    image.png-119.5kB

    如果没有 HTTP Cookie Manager,其查看结果树是这样的
    image.png-372.5kB

  6. 在命令行中打报告
  1. jmeter -n -t Login.jmx -l html.csv -e -o report

jmeter 应换成对应机器上 jmeter 的路径
指定的日志文件必须事先不存在

image.png-54.4kB

打开 report 文件夹下的 index.html 可以查看报告
image.png-132.2kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注