`
qys2010
  • 浏览: 127359 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用JMeter进行压力测试

阅读更多
JMeter是apache的jakarta上面的项目,用于软件的压力测试(Load Test),不但可以对HTTP,也可以对数据库(通过JDBC)、FTP、Web Service、Java 对象等等进行压力测试。

项目地址:http://jakarta.apache.org/jmeter

使用: 运行bin目录下的jmeterw.bat,运行jmeter.bat也可以,不过就会有一个命令窗口显示。

要提醒一下的是jmeter根据当前系统的locale显示菜单的语言,为了方便想设置回英文的话,可以修改jmeter.properties文件,设置language=en  (我下载的2.1.1版本把“退出”误译为“推出”,怎么看都不顺眼)

使用:

JMeter的测试计划(Test Plan)呈树状结构,树里面有多种元素类型,树状结构的元素之间有的是有继承关系的(其原理有点类似log4j)。下面简述一下元素类型:

1、ThreadGroup
      顾名思义就是线程组,测试必须有一个ThreadGroup元素作为基础(否则就没有测试线程在跑了),这个元素可以配置跑多少个线程、每个线程循环多少次,所有线程数的总启动时间(Ramp-up period)等等。

2、Controller
     包括Logical Controller和Sampler,前者用来作一些逻辑上的控制,例如轮换、条件、循环等等。Sampler就是真正“干活”的“取样器”,例如“HTTP Request”,就是拿来执行一个HTTP请求的。

3、Listener
    Listener对请求过程进行监听,可以简单理解为获取结果的东东。例如Simple Data Writer,可以把结果写到一个文本文件里(其实所有Listener都可以写数据到文件里),还有View Results in Table,就是把结果显示在表格里。

4、 Timer
    用来控制执行流程中的时间延迟等功能。

5、 Assertion
    断言,加到Sampler里面可以对返回的结果进行判断,例如判断HTTP返回结果里面是否含有某个字符串。如果断言为真,JMeter会标记请求为成功,否则标记为失败。

6、 Configuration Element
    配置用的元素,很有用。由于测试计划是树状和有继承关系的,可以在高层次指定一个Configuration Element,低层次的相关Sampler如果没有显式地指定配置,就继承高层次的配置信息。(跟log4j很像吧?)

7、 Pre-Processor/Post-Processor Elements
   用来在Sampler运行前和运行后作一些预处理和后处理工作的。例如动态修改请求的参数(预处理),从返回信息里面提取信息(后处理)等等。

举例:要做一个最简单的HTTP压力测试: 用10个线程访问一个URL,每个线程访问100次。
做法:
1、 在Test Plan下面加一个Thread Group,配置里面,线程数填10,循环次数填100
2、 在Thread Group下面加一个HTTP Request,这是一个Sampler,在它的配置里面填写主机信息,端口、协议、路径、参数等信息
3、 在HTTP Request下面加一个View Results in Table,如果你想把记录记到文件,则填写文件路径。
4、 保存一些这个Test Plan,就可以选择Run菜单下面的Run来运行了。直到Run菜单项从灰色变回黑色,就表示运行完了。在View Results in Table下面,你可以看到运行结果。

关于元素的详细描述可以参考官方文档。

JMeter功能很丰富的,还有很强的扩展能力,而且又是免费,值得研究使用。
分享到:
评论

相关推荐

    使用jmeter进行压力测试入门讲解1

    标题 "使用jmeter进行压力测试入门讲解1" 涉及到的知识点主要集中在如何使用Apache JMeter这一开源性能测试工具进行基础的压力测试。JMeter主要用于模拟多个并发用户执行特定的任务,例如HTTP请求,以此来评估系统在...

    jmeter-压力测试报告-超细

    本文将深入探讨JMeter的使用方法、重要功能以及如何进行超细粒度的压力测试报告分析。 首先,JMeter是一款由Apache软件基金会开发的负载和性能测试工具,适用于Web应用、FTP服务器、数据库和其他协议的服务。它支持...

    使用jmeter做ws压力测试

    这篇博客文章“使用jmeter做ws压力测试”将深入探讨如何利用JMeter进行Web服务的压力测试。 首先,了解JMeter的基本结构至关重要。JMeter由线程组、采样器、监听器、断言、定时器、配置元件等组件构成。线程组模拟...

    使用JMeter做压力测试1

    在本文中,我们将探讨如何使用JMeter进行压力测试,特别是针对Java应用程序的场景。JMeter是一款开源的、跨平台的性能测试工具,广泛用于测试Web应用和服务的负载和性能。 首先,你需要从官方网站下载JMeter,地址...

    JMeter数据库压力测试工具学习资料.rar

    JMeter数据库压力测试工具学习资料JMeter数据库压力测试工具学习资料JMeter数据库压力测试工具学习资料JMeter数据库压力测试工具学习资料JMeter数据库压力测试工具学习资料JMeter数据库压力测试工具学习资料JMeter...

    mssql使用jmeter压力测试文件及程序

    1. "mssql使用jmeter压力测试.jmx":这是一个JMeter的测试计划文件,包含了对MSSQL的压力测试配置,包括数据库连接参数、SQL语句等。通过打开这个文件,我们可以直接运行测试,查看测试结果。 2. "apache-jmeter-...

    jmeter mqtt服务器压力测试

    本文将详细介绍如何使用JMeter进行MQTT服务器的压力测试。 首先,我们需要理解MQTT协议。MQTT是一种轻量级的发布/订阅消息传输协议,特别适合于资源有限的设备和低带宽、高延迟的网络环境。在物联网场景中,它用于...

    jmeter-http压力测试步骤

    在实际工作过程中,以电商平台为实例,详细讲解如何使用 JMeter 工具进行压力测试。压力测试是指通过模拟多用户访问系统,以评估系统在高并发环境下的性能,避免系统崩溃和性能下降。 安装环境 JMeter 可以在 ...

    使用JMeter进行性能测试

    【使用JMeter进行性能测试】 性能测试是评估软件系统在高负载或大数据量下的稳定性和效率的关键步骤。Apache JMeter是一款强大的、开放源代码的性能测试工具,适用于Web应用、FTP服务器、数据库和其他通用协议。它...

    jmeter压力测试

    ### 使用JMeter进行压力测试的步骤 1. **创建线程组**: 首先,定义线程组,设置并发用户数量和循环次数。 2. **添加采样器**: 根据要测试的应用类型,选择合适的采样器。例如,HTTP采样器用于Web应用测试。 3. **...

    压力测试工具 JMeter

    **使用JMeter进行压力测试的步骤:** 1. **规划测试计划**:确定测试目标,设计线程组和采样器结构。 2. **配置采样器**:根据目标协议和应用特性,设置正确的请求参数。 3. **添加定时器和断言**:模拟真实用户...

    apache-jmeter-5.1.1项目压力测试,scoket接收测试

    Apache JMeter是一款强大的开源性能测试工具,主要用于模拟大量并发用户对Web应用、API接口以及其他服务进行压力和负载测试。...正确使用JMeter进行压力测试,可以帮助我们找出系统的瓶颈,提升服务的稳定性和效率。

    jmeter-压力测试报告-超细.docx

    【JMeter压力测试报告】 本报告是一份基于Apache JMeter工具进行的压力测试文档,由一位高级测试工程师精心制作,旨在提供一个详细的模板供其他测试人员参考。报告详细记录了整个测试过程,包括测试内容、方法、...

    Jmeter WEB HTTP压力测试实例

    Jmeter WEB HTTP 压力测试实例是使用 Apache JMeter 工具对 WEB 应用程序进行压力测试的实例。下面是该实例的详细说明: 安装环境 Jmeter 在 Windows XP/2003/W7/W8 等操作系统中都可以运行,前提是需要安装好 JDK ...

    jmeter压力测试工具.zip

    使用JMeter进行压力测试时,首先需要创建测试计划,定义线程组(模拟用户)、采样器(执行请求)、监听器(收集并展示结果)和其他配置元素。测试计划可以通过录制用户的浏览器行为来创建,也可以手动构建。在执行...

    Jmeter-5.6.2压力测试工具

    Apache JMeter是一款强大的开源压力测试工具,主要由Apache组织开发并维护,其最新版本为5.6.2。这款工具完全基于Java语言,因此具备跨平台特性,可以在多种操作系统上运行,如Windows、Linux和Mac OS等。JMeter主要...

Global site tag (gtag.js) - Google Analytics