`

JMeter随机对某一网点进行随机压力测试

阅读更多

        Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。

        另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

        下面我对我本机的SpringMVC进行压力测试,压力测试对象为随机的几个网页链接,这几个链接是写在一个文本文件中的,在压力测试的时候会随机读取。

1.建立一个线程组


        为什么要建立线程组?原因很简单,因为我们要模拟多个线程(用户)来访问。

        线程属性部分中,线程数是启动多少个线程,我这里填写的是100,Ramp-Up Period (in seconds)表示线程之间间隔多少时间允许,单位是秒,比如如果填写1,那么1/100=0.01表示100个线程间每隔0.01秒钟请求网站。

        循环次数:100个线程运行完毕算是一次,循环次数就是这样的一个请求过程运行多少次,我这里测试就填写的是100。

      每次修改一个设置后,别忘记了保存一下。

 

2.设置请求服务器、压力链接等信息

      接下来很自然的是,我们要测试的网站地址是什么?链接是什么?所以现在我们就来设置这些信息。右键点击我们刚创建的线程组,在弹出的菜单中,选择添加->Sampler->Http请求,弹出如下图界面:


        路径:假如你只是对一个链接进行压力测试,直接填写一个链接就ok,比如http://localhost:8080/SpringMVC/greet?name=lisi,但是大多数情况下都不是这样的,我们这里需要多个链接,就如同刚开始讲到的那样,我们要将多个链接保存到一个文本文件中,然后随机读取进行压力测试。我们可以这么做,如图:


        在选择一个功能下拉列表中选择_StringFromFile,然后在本机新建一个测试文件D:\software\Jmeter-2.13\data\test.txt,在第一行(你也可以不在第一行)的值中填写测试文件的路径,如下图:


        然后点击“生成”按钮,在生成按钮的左边文本框中将生成一个字符串如:${__StringFromFile(D:\software\Jmeter-2.13\data\test.txt,,,)}

        在test.txt测试文件中,我们每行写一个URL链接,如下格式:


        注意,每行前面并没有http://localhost:8080这样的信息,因为我们在前面已经填写了服务器地址为localhost,端口为8080,这里就没必要再为每个url填写这个相同前缀了;另外,上面的url格式也只是个例子,表示域名后的部分。

        这样一来,当我们并非请求的时候,就会从test.txt中随机选择url来进行压力测试。

        另外值得注意的一个地方是,如果参数中有中文的情况,运行的时候可能会出现乱码,这个时候就需要注意你在Jmeter中的编码设置与你要请求的网页编码是一致的。

        路径文本框下面的选项,可以按默认的就成,Use multipart/form-data for HTTP POST是当请求中有附件的情况,一般情况下都不用选中的。

 

3.查看运行结果

        鼠标右键点击线程组,在弹出的菜单中选择添加->监听器->用表格查询结果,如下图:


 

4.运行

        当然,在运行前,请把所有修改都保存好。运行后的结果表格如下:


各属性如下:

        Sample:每个请求的序号

        Start Time:每个请求开始时间

        Thread Name:每个线程的名称

        Label:Http请求名称

        Sample Time:每个请求所花时间,单位毫秒

        Status:请求状态,如果为勾则表示成功,如果为叉表示失败。

        Bytes:请求的字节数

        如果Status为叉,那很显然请求是失败了,但如果是勾,也并不能认为请求就一定完全成功了,因为还得看Bytes的字节数是否是所请求网页的正常大小值,如果不是则说明发生了丢包现象,也不是完全成功。

在下面还有几个参数:

        样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数

        平均:每个线程请求的平均时间

        最新样本:表示服务器响应最后一个请求的时间

        偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布(这个我不是很理解)。

        当然,也可以察看结果树来看到请求及请求响应的详细信息,如下所示:



5.配置文件下载

        以上实例生成的配置文件,可下载附件《》获得。

 

附:术语

        线程组:测试里每个任务都要线程去处理,所有我们后来的任务必须在线程组下面创建。可以在“Test Plan(鼠标右击) -> 添加  ->Threads(Users) -> 线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。

        取样器(Sampler):可以认为所有的测试任务都由取样器承担,有很多种,如:HTTP请求。

        断言:对取样器返回的请求结果给出判断是否正确。

        monitor:它的功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等

 

文章来源:http://blog.csdn.net/hshl1214/article/details/50611910

  • 大小: 64.7 KB
  • 大小: 83.7 KB
  • 大小: 46.9 KB
  • 大小: 46.8 KB
  • 大小: 14.6 KB
  • 大小: 78.3 KB
  • 大小: 130.4 KB
  • 大小: 80.2 KB
分享到:
评论

相关推荐

    jmeter mqtt服务器压力测试

    JMeter,一个由Apache软件基金会开发的开源性能测试工具,被广泛应用于Web应用、数据库和其他服务器的压力测试。本文将详细介绍如何使用JMeter进行MQTT服务器的压力测试。 首先,我们需要理解MQTT协议。MQTT是一种...

    jmeter获取随机字符串

    将此文件放在jmeter目录下的/lib/ext/ApacheJMeter_functions.jar下的org/apache/jmeter/functions目录下,重启jmeter便可使用。...jmeter版本:3.3,是否兼容别的版本还未测试。 有问题,请私信我

    jmeter-压力测试报告-超细

    "jmeter-压力测试报告-超细"这一标题暗示我们将关注的是JMeter如何进行详尽的性能测试和报告分析。 在JMeter的使用过程中,我们首先需要创建测试计划,这是所有测试操作的基础。测试计划包含采样器(Sampler)来...

    使用jmeter做ws压力测试

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

    Jmeter WEB HTTP压力测试实例

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

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

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

    压力测试工具 JMeter

    Apache JMeter是一款开源、跨平台的压力测试工具,由Apache软件基金会开发并维护。作为一款功能丰富的性能测试工具,JMeter被广泛应用于Web应用程序、FTP服务器、数据库和其他通用协议的负载和性能测试。它不仅能够...

    使用JMeter 对Web服务器压力测试

    使用JMeter 对Web服务器压力测试

    Jmeter-5.6.2压力测试工具

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

    JMeter 之TCP服务器并发压力测试

    综上所述,JMeter是一款功能强大、灵活性高的性能测试工具,通过模拟用户负载对服务器进行压力测试,可以帮助开发者和测试人员发现并优化软件的性能瓶颈。在实际使用过程中,需要重点注意环境的搭建、软件的下载与...

    Jmeter 压力测试工具

    Apache JMeter是一款强大的开源压力测试工具,主要用于检测Web应用程序的性能和稳定性。它最初设计用于HTTP测试,但随着时间的推移,已经发展成为一个多功能的负载和性能测试框架,支持多种协议,包括FTP、SMTP、...

    JMeter 压力测试详解PPT

    JMeter 是一个广泛使用的开源压力测试工具,适用于各种类型的测试,包括Web应用、数据库和消息中间件(JMS)等。 **JMeter 基本概念** JMeter 是由Apache软件基金会开发的一个纯Java应用程序,用于进行负载和性能...

    jmeter4.0进行微信小程序测试报告(jmeter性能测试教程)

    微信小程序的广泛使用使得其性能测试变得至关重要,本文将详细介绍如何使用JMeter 4.0这一强大的性能测试工具对微信小程序进行压力测试。JMeter是一款由Apache开发的、开源的、适用于Web应用的负载和性能测试工具,...

    Jmeter压力测试工具

    Apache jmeter 是一个100%的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其他测试领域。Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,...

    压力测试工具apache-jmeter-4.0

    Apache JMeter是一款强大的开源压力测试工具,主要用于对各种应用程序和服务进行性能测试和负载测试。它最初设计用于Web应用测试,但后来发展成为可以对多种协议(如HTTP、FTP、JDBC、SMTP等)进行测试的全能工具。...

    JMeter性能测试脚本

    测试计划是JMeter的核心,它定义了如何对目标系统进行压力测试。在这个阶段,学习者会了解到如何创建线程组(模拟并发用户)、采样器(执行特定类型的请求,如HTTP、FTP或数据库请求)、监听器(记录和展示测试结果...

    jmeter性能测试报告.docx

    JMeter是一款广泛使用的开源性能测试工具,适用于模拟多种负载条件,进行负载测试、压力测试、并发测试和容量测试,以验证系统的性能表现。 1.1 性能测试概念 性能测试包括负载测试和压力测试,前者用于了解系统在...

Global site tag (gtag.js) - Google Analytics