zoukankan      html  css  js  c++  java
  • 使用JMeter进行简单的压力测试

    一、压力测试

    顾名思义:压力测试,就是  被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)。

    比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃。

    二、JMeter简介

    JMeter 最早是为了测试 Tomcat 的前身 JServ 的执行效率而诞生的。到目前为止,它的最新版本是3.0,它的测试能力也不再仅仅只局限于对于Web服务器的测试,而是涵盖了数据库、JMS、Web Service、LDAP等多种对象的测试能力。从 2.1.1 版开始,它还提供了对于 JUNIT 的测试。

    JMeter 的安装非常简单,从官方网站上下载,解压之后即可使用。运行命令在%JMETER_HOME%/bin 下,对于 Windows 用户来说,命令是 jmeter.bat。运行前请检查JMeter 的文档,查看是否具备相关的运行条件。JMeter 的主要测试组件总结如下:

    1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。

    2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

    3. 监听器负责收集测试结果,同时也被告知了结果显示的方式。

    4. 逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

    5. 断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

    6. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

    7. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

    8. 定时器负责定义请求之间的延迟间隔。

    三、使用JMeter进行压力测试

    1.新建线程组

    必须新建一个Thread Group,  jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。

    image

    线程组界面可以配置线程的数量,Ramp-Up Period(in seconds):这个参数是配置这些线程组在多少时间内完全启动(可以把时间设置长点,这样防止一开始就对服务器造成很大压力),还可以配置循环次数,后面还有调度器配置。

    image

    2.添加http请求

    选择线程组 右键 (添加->Sampler -> HTTP 请求):

    image

    配置域名、端口等信息

    image

    3.添加Summary Report查看结果

    image

    4.点击运行

    image

    5.查看结果

    image

    Samples -- 本次场景中一共完成了多少个Transaction

    Average -- 平均响应时间

    Median -- 统计意义上面的响应时间的中值

    90% Line -- 所有transaction中90%的transaction的响应时间都小于xx

    Min -- 最小响应时间

    Max -- 最大响应时间

    PS: 以上时间的单位均为ms

    Error -- 出错率

    Troughput -- 吞吐量,单位:transaction/sec

    KB/sec -- 以流量做衡量的吞吐量

  • 相关阅读:
    截取字符串的值
    Tomcat发布项目方法
    struts标签
    正则表达式范例
    树的操作方法
    树结点动态帮定事件
    I/O 流和对象序列化
    Word中的字体大小
    script实现的日期表示
    JavaScript弹出窗口技巧
  • 原文地址:https://www.cnblogs.com/zoro-robin/p/5908644.html
Copyright © 2011-2022 走看看