精华内容
下载资源
问答
  • jmeter性能测试步骤
    万次阅读
    2021-03-16 22:21:10

    🍅 Java学习路线:搬砖工逆袭Java架构师

    🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪

    🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

    🍅 欢迎点赞 👍 收藏 ⭐留言 📝   

    一、下载安装及使用

    下载地址:jmeter-plugins.org

    安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。

    启动jemter,点击选项,最下面的一栏,如下图所示:

    打开后界面如下:

    Installed Plugins(已安装的插件):即插件jar包中已经包含的插件,可以通过选中勾选框,来使用这些插件;

    Available Plugins(可下载的插件):即该插件扩展的一些插件,可以通过选中勾选框,来下载你所需要的插件;

    Upgrades(可更新的插件):即可以更新到最新版本的一些插件,一般显示为加粗斜体,可以通过点击截图右下角的Apply Changes and Restart Jmeter按钮来下载更新;

    PS:一般不建议进行更新操作,因为最新的插件都有一些兼容问题,而且很可能导致jmeter无法使用(经常报加载类异常)!!!

      建议使用jmeter最新的3.2版本来尝试更新这些插件。

    二、Transactions per Second

    即TPS:每秒事务数,性能测试中,最重要的2个指标之一。该插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现————比如整体趋势、实时平均值走向、稳定性等。

    jmeter本身的安装包中,监视器虽然提供了比如聚合报告这种元件,也能提供一些实时的数据,但相比于要求更高的性能测试需求,就稍显乏力。

    某次压力测试TPS变化展示图:

     

    三、Response Times Over Time

    即TRT:事务响应时间,性能测试中,最重要的两个指标的另外一个。该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。

    使用方法如上,下载安装配置好插件之后,重启jmeter,添加该监视器,即可实时看到实时的TRT数值及整体表现。

    某次压力测试TRT变化展示图:

    四、PerfMon Metrics Collector

    即服务器性能监控数据采集器。在性能测试过程中,除了监控TPS和TRT,还需要监控服务器的资源使用情况,比如CPU、memory、I/O等。该插件可以在性能测试中实时监控服务器的各项资源使用。

    下载地址:Install :: JMeter-Plugins.org或链接:http://pan.baidu.com/s/1skZS0Zb 密码:isu5

    下载界面如下:

    其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的插件,ServerAgent是服务端的插件。

    下载成功后,复制JmeterPlugins-Extras.jar和JmeterPlugins-Standard.jar两个文件,放到jmeter安装文件中的lib/ext中,重启jmeter,即可看到该监视器插件。

    将ServerAgent-2.2.1.jar上传到被测服务器,解压,进入目录,Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口。

    如出现如下图所示情况,即表明服务端配置成功:

    1、服务端启动校验

    CMD进入命令框,观察是否有接收到消息,如果有,即表明ServerAgent成功启动。

    2、客户端监听测试

    给测试脚本中添加jp@gc - PerfMon Metrics Collector监听器,然后添加需要监控的服务器资源选项,启动脚本,即可在该监听器界面看到资源使用的曲线变化。如下图所示:

    在脚本启动后,即可从界面看到服务器资源使用的曲线变化,Chart表示主界面显示,Rows表示小界面以及不同资源曲线所代表的颜色,Settings表示设置,可选择自己需要的配置。

    PS:注意测试脚本需要持续运行一段时间,才可以看到具体的曲线变化,否则ServerAgent端会断开连接!

    五、线程组

    1、线程数:表示启动的线程数,也就是并发的数量。

    2、Ramp-Up Period:表示1秒内启动1个线程,默认为0,表示程序启动后,立即开启1个线程,设置太大或太小都不是很好,设置的最佳值,Ramp-Up Period = 线程数/吞吐量

    3、循环次数:表示每个线程要发送多少次请求。

    4、调度器:顾名思义,持续时间如果设置为60,表示持续1分钟,通常循环次数和调度器设置一个即可。

    六、添加HTTP请求

    一个HTTP请求有着许多的配置参数,下面将详细介绍:

    1、名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

    2、注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

    3、服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

    4、端口号:目标服务器的端口号,默认值为80 。

    5、协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http 。

    6、方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

    7、Content encoding :内容的编码方式,默认值为iso8859

    8、路径:目标URL路径(不包括服务器地址和端口)

    9、自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

    10、Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。

    11、Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。

    12、同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

    13、同请求一起发送文件:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟。/14、从HTML文件获取所有有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse 并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。

    15、用作监视器:此取样器被当成监视器,在Monitor Results Listener 中可以直接看到基于该取样器的图形化统计信息。默认为不选中。

    16、Save response as MD5 hash:选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。

    七、系统吞吐量 QPS(TPS)

    系统吞吐量 = 每秒处理的事务数

    QPS(TPS)= 并发数/平均响应时间

    一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

    八、聚合报告

    我认为聚合报告应该是JMeter压力测试软件中最重要的报告。

    1. #Samples:样本数,如果你看过上一篇,这个就是前面我们那个公式算出来的结果

    (Loop Count(Loop Controler)*Number of Threads*Loop Count(group))

    2. Average:平均响应时间。

    3. Median:中位数,50%用户响应时间。

    4. Line:90%用户响应时间。

    5. Min:最小响应时间。

    6. Max:最大响应时间。

    7. Error%:本次测试中出现错误的请求的数量/请求的总数

    8. Throughput:吞吐量,表示每秒完成的请求数。

    9. KB/Sec:每秒从服务器端接收到的数据量(只是接收)。

    九、Linux查看程序运行情况

    1、Top

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

    top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户 终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间 对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

    在linux系统中,top命令可谓是分析系统性能最方便的工具,而且top还是个交互式工具;通过top命令可以清楚地了解到正在执行的进程信息包括进程ID,内存占用率,CPU占用率等。其实就跟window的任务管理器类似。

    2、查看CPU使用率

    sar -u 1 5

    表示每1秒采集一次,共采集5次。

    这个命令可根据实际线程组中的设置,进行CPU使用率方面的查看。

    [root@sss ~]# sar -u 1 5
    Linux 3.10.0-957.10.1.el7.x86_64 (izuf633l0ge76tv5mzalpmz)      04/16/2019      _x86_64_        (1 CPU)
    
    04:56:03 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    04:56:04 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    04:56:05 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    04:56:06 PM     all      0.99      0.00      0.99      0.00      0.00     98.02
    04:56:07 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    04:56:08 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    Average:        all      0.20      0.00      0.20      0.00      0.00     99.60
    

    3、查看内存占用情况

    free -m

    1352/1838即为内存占用。

    十、Linux如何统计进程的CPU利用率

    Linux的/proc文件系统,可以看到自启动时候开始,所有CPU消耗的时间片;对于个进程,也可以看到进程消耗的时间片。这是一个累计值,可以"非阻塞"的输出。获得一定时间间隔的两次统计就可以计算出这段时间内的进程CPU利用率。

    所以,是否存在一种简单的,非阻塞的方式获得进程的CPU利用率? 答案是:“没有”。这里给出一个很恰当的比喻:"这就像有人给你一张照片,要你回答照片中车子的速度一样"。

    1、/proc/stat 统计总CPU消耗

    计算CPU总消耗可以使用如下shell命令:

    cat /proc/stat|grep "cpu "|awk '{for(i=2;i<=NF;i++)j+=$i;print "cpu_total_slice " j;}'

    cpu_total_slice 19208187744

    2、进程消耗的CPU时间片

    在proc文件系统中,可以通过/proc/[pid]/stat获得进程消耗的时间片,输出的第14、15、16、17列分别对应进程用户态CPU消耗、内核态的消耗、用户态等待子进程的消耗、内核态等待子进程的消耗(man proc)。所以进程的CPU消耗可以使用如下命令:

    cat /proc/9583/stat|awk '{print "cpu_process_total_slice " $14+$15+$16+$17}'

    cpu_process_total_slice 1068099

    3、"非阻塞"的计算进程CPU利用率

    从这里也看到,是没有某个时刻CPU利用率的说法的,也就没法获得某个时刻的CPU利用率。这就像物理中的"速度"的概念,没有某一时刻速度的概念,速度一定是一个时间段之内的。那么要"非阻塞"计算某个进程CPU利用率,则需要取两次事件间隔进行计算,这两次事件间隔的操作可以是非阻塞的。计算办法如下:

    时刻A,计算操作系统总CPU时间片消耗total_cpu_slice_A;计算进程总CPU时间片消耗;total_process_slice_A ;

    时刻B,计算操作系统总CPU时间片消耗total_cpu_slice_B;计算进程总CPU时间片消耗;total_process_slice_B。

    B时刻就可以"非阻塞"的计算这段时间进程的CPU利用率了:

    100%*(total_process_slice_B-total_process_slice_A)/(total_cpu_slice_B-total_cpu_slice_A)

    十一、JMeter使用过程中常见的问题

    1、Response Times Over Time中的峰值和聚合报告中的最大值为何不一致?

    因为Response Times Over Time中的点是一个时间的概念,表示的是一段时间内的请求的平均响应时间,而聚合报告中的最大值表示的是一个请求的最大响应时间,因此Response Times Over Time的峰值和聚合报告中的最大值不一致。

    2、Response Times Over Time图中有多少个点,和请求数有什么关系?

    Response Times Over Time中的点是一个时间的概念,在setting中可以设置,每隔500ms记录一个点,这个点就表示这段时间内的请求的平均响应时间。

    十二、CPU使用率与CPU空闲时间的关系?

    多任务操作对CPU都是分时间片使用的,比如A进程占用10ms,B进程占用30ms,然后空闲60ms,再又是A进程占用10ms,B进程占用30ms,空闲60ms;如果一段时间内都是如此,那么这段时间内的CPU占用率就是40%。

    CPU对线程的响应并不是连续的,通常会在一段时间后自动中断线程。未响应的线程增加,就会不断加大CPU的占用。

    往期精彩内容:

    Java知识体系总结(2021版)

    Java多线程基础知识总结(绝对经典)

    超详细的springBoot学习笔记

    常见数据结构与算法整理总结

    Java设计模式:23种设计模式全面解析(超级详细)

    Java面试题总结(附答案)

    参考:

    jmeter(二十一)jmeter常用插件介绍 - 老_张 - 博客园

    jmeter 线程数—请求数详解 - wendy_cai - 博客园

    Linux如何统计进程的CPU利用率 - yuyue2014 - 博客园

    更多相关内容
  • jmeter性能测试步骤入门

    千次阅读 2022-05-22 16:25:43
    它主要对 Apache JServ(现在称为如 Apache Tomcat 项目)的性能进行测试。 Apache 后来重新设计 JMeter 增强的图形用户界面和添加功能测试能力。 以下是一些 JMeter 的特点: 它是免费的。开放源码软件。 ...

    目录

    一、Jmeter简介

    二、Jmeter实现性能测试

    三、总结


    一、Jmeter简介

    1 概述

            jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 Apache JServ(现在称为如 Apache Tomcat 项目)的性能进行测试。 Apache 后来重新设计 JMeter 增强的图形用户界面和添加功能测试能力。

    以下是一些 JMeter 的特点:

            它是免费的。开放源码软件。

            它具有简单,直观的图形用户界面。

            JMeter 中负载和性能测试许多不同的服务器类型:网站 - - HTTP,HTTPS,SOAP,数据库通过 JDBC,LDAP,JMS,邮件 POP3

            它是独立于平台的工具。在 Linux / UNIX,JMeter 中 JMeter 中 shell 脚本点击可以调用。在         Windows 上,它可以调用启动 JMeter.bat 文件。

            它具有完整的 Swing 和轻量级组件支持(预编译的 JAR 使用包 javax.swing 中*)。

            JMeter 测试计划存储为XML格式。这意味着可以使用文本编辑器生成一个测试计划。

            它的完整的多线程框架,允许并发多线程和同步采样不同的功能由单独的线程组采样。

            它是高度可扩展的。

            也可用于执行应用程序的自动化测试和功能测试。

    2 JMeter支持的协议

    web —— HTTP,HTTPS 站点的 Web1.0的Web 2.0 (ajax, flex and flex-ws-amf)

    Web Services: —— SOAP / XML-RPC

    通过 JDBC 驱动程序的数据库

    目录: —— LDAP

    通过 JMS 面向消息的服务

    Service: —— POP3, IMAP, SMTP

    FTP 服务

    3 Jmeter作用

    它是免费的。开放源码软件。

    它具有简单,直观的图形用户界面。

    JMeter中负载和性能测试许多不同的服务器类型:网站 – HTTP,HTTPS,SOAP,数据库通过JDBC,LDAP,JMS,邮件 – POP3

    它是独立于平台的工具。在Linux / UNIX,JMeter中JMeter中shell脚本点击可以调用。在Windows上,它可以调用启动jmeter.bat文件。

    它具有完整的Swing和轻量级组件支持(预编译的JAR使用包javax.swing中*)。

    JMeter 测试计划存储为XML格式。这意味着可以使用文本编辑器生成一个测试计划。

    它的完整的多线程框架,允许并发多线程和同步采样不同的功能由单独的线程组采样。

    它是高度可扩展的。

    也可用于执行应用程序的自动化测试和功能测试

    二、Jmeter实现性能测试

    简介:

    在用工具之前,首先我们来简单了解一下什么是性能测试?

    性能测试是系统在一定的负载和压力的情况下,系统的响应时间,吞吐量,稳定性,课扩展性等性能指标。也就是我们要验证系统是否在这些指标范围,或者说验证这些指标是否符合用户或客户的需求。性能指标包含系统指标和资源指标,今天我们就以用户角度去看一下如何验证系统指标?(系统指标:与用户场景和需求相关的指标,关键的一些指标包含:响应时间,吞吐量,并发用户数等)

    以下是按照中文版的jmeter进行编写的,jmeter的bin目下打开这个文件jmeter.properties,查找language,把这个属性前面的#去掉并修改值为:zh_CN,修改后的显示 language=zh_CN

    第一步:配置jdk环境

    如果想要使用Jmeter,那么所在机器必须配置jdk的环境变量

    第二步:下载jmeter

    下载路径: https://jmeter.apache.org/download_jmeter.cgi 可以下载最新版本的jmeter

    第三步:启动Jmeter

    一、打开bin目录,点击jmeter.bat 或cmd 输入 jmeter启动jmeter工具

    二、选中测试计划右键new(添加)---》线程(用户)----》线程组,进行线程组的添加(在线用户数)

    (1)名称和注释任意

    (2)线程数(用户数),根据需求实际情况去添加

    (3)Rum-up(秒)几秒执行完用户数

    (4)循环次数这些用户执行多次

    三、所有的请求都在线程组的基础上进行,那么如何发起一个http请求呢?(在此之前同学们需要了解一个http请求包含哪些内容,以及响应包含哪些内容)

    选中线程组右键---》取样器---》http请求

    (1)名称和注释最好与此次请求相关,有意义

    (2)协议:http或https

    (3)服务器名称或ip:(域名或ip地址)

    (4)端口号:http是80,https 443 ,mysql 3306

    (5)请求方法(根据请求行中的方法进行填写):post

    (6)路径:资源的位置

    (7)内容编码:UTF8(如果请求中不包含中文可不写)

    (8)post请求是有请求体的,所以要填写参数:

    具体如图:

     四、一个http还除了上述http请求中的请求行和请求体,还包含请求头,如何添加请求头呢?(有的请求头不是必填的,此部分可以省略)

    如果请求头是对所有的http请求有效,那么选中线程组进行添加,请求头仅对本请求有效,那么选中http请求进行添加

    选中线程组右键--添加--配置元件--http信息头管理器(把需要的数据如图填写进来就可以)

    以上http请求数据已经准备好,可以发起这个请求了,但是我们要想看到请求的结果怎么办呢?需要添加一个察看结果树

    五、如何添加察看结果树呢?可以选中线程组或选中请求添加,作用域不一样,选中线程组对应的作用域为这个线程组下的所有请求,而请求下的呢,仅作用域本请求,一般情况下选择线程组即可

    选中线程组右键--添加--监听器---察看结果树

    准备好以上数据后就可以进行调试了,在结果树中查看我们请求的数据添加的是否正确和响应结果是否正确

    六、如何运行和结果显示如图

    执行失败为红色显示,成功为绿色显示

    (1)取样器结果:显示的是Sample的请求和响应的总体情况(包含如下内容)

    Thread Name(线程名称): 登录 1-3

    Sample Start(开始时间): 2020-03-19 16:37:03 CST

    Load time(加载时间): 33

    Connect Time(连接时间): 1

    Latency(延迟): 33

    Size in bytes(字节): 153

    Sent bytes(发送字节数):327

    Headers size in bytes: 128

    Body size in bytes: 25

    Sample Count: 1

    Error Count: 0

    Data type ("text"|"bin"|""): text

    Response code: 200

    Response message:

    HTTPSampleResult fields:

    ContentType: application/json;charset=UTF-8

    DataEncoding: UTF-8

    (2)请求:请求体和请求头

    (3)响应数据:响应体和响应头

     

    在调试的过程中,如果我们发起的请求失败,可以在此查看是请求数据有问题还是服务器本身的问题

    七、性能测试不能针对一个用户进行反复的登录吧,不符合常理和逻辑,那如何实现多个用户进行登录呢?

    方法一:参数化

    (1)csv参数化:选中线程组--右键添加--配置元件--csv数据文件设置(如图)

    (2)使用变量(如图)

    方法二:函数助手

    (1)Tools ---函数助手对话框或工具栏中的书

    (2)复制后,打开请求中需要使用变量的位置,在此处粘贴

    用以上两种方法之一就可以进行多用户的注册或登录了

    可以运行一下查看结果

    八、查看结果的常用方式

    (1)聚合报告:把所有的请求数据和系统指标结果汇总成表格查看

    选中线程组右键---监听器--聚合报告

    样本数量:3

    平均值(平均的响应时间):12毫秒

    中位数(50%的响应时间):12毫秒

    90%百分位(90%的响应时间):15毫秒

    95%百分位(95%的响应时间):15毫秒

    99%百分位(99%的响应时间):15毫秒

    最小值(用时最少的):10毫秒

    最大值(用时最多的响应时间):15毫秒

    异常(本次请求中有没有请求失败或者响应失败的数据有多少个):0

    吞吐量(每秒中处理事务的个数):4.4个

    接收/kB(每秒接收的字节数):0.65KB

    发送/kB(每秒发送的字节数):1.4KB

    (2)用表格查看结果:

    选中线程组右键---监听器--用表格查看结果(如图)

    可以查看单个请求的情况

    (3)还可以汇总成图表的

    选中线程组右键---监听器--图形结果

    以上给大家分享了几种常用的查看结果的方式,在监听器下还有好多,有兴趣的小伙伴可以进行尝试使用,方法都是一样的

    九、还可以生成测试报告

    (1)win+R 输入cmd进入dos命令行模式下

    (2)输入:jmeter -n -t D:\work\login.jmx -l result.jtl -e -o D:\work\test ,点击回车

    -n:以非GUI形式运行

    -t:指定脚本的路径

    -l:运行后的结果的文件名

    -e:在脚本结束后生成html报告

    -o:保存HTML报告的地址

    注意:1.-l 后面跟的文件名是起的名字,该文件名不能为已经存在的名字

    2. -o 后面跟的文件夹的路径,最后指定的文件夹不能有数据,可以自己新起一个任意不存在的文件夹名

    (3)D:\work\test目录下查看index.html 文件就是生成的 测试报告

    三、总结

    最后:【可能给你带来帮助的教程】:

    JMeter性能测试并发原理详解+手写性能测试工具_哔哩哔哩_bilibili

    展开全文
  • 我们再运行一次就可以看到断言结果成功或失败了 4.7 添加聚合报告 右键点击“线程组” -> “添加” -> “监听器” -> “聚合报告”,用以存放性能测试报告 这样,我们就完成了一个完整Http接口的JMeter性能测试脚本...

    1. Jmeter是什么?

    2. Jmeter安装

    2.1 JDK安装

    由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9)


    1. 官网下载地址:

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

    2. 选择Java SE 8u151/ 8u152,点击JDK下载


     

    3. 安装下载的JDK


    4. 配置系统环境变量

    2.2 JMeter安装

    官网下载地址:http://jmeter.apache.org/download_jmeter.cgi

    下载最新JMeter 5.5版本:apache-jmeter-5.5.zip

    下载完成后解压zip包

    启动JMeter
    双击JMeter解压路径(apache-jmeter-5.5\bin)bin下面的jmeter.bat即可

    3. 测试实例

    我们选取最常见的百度搜索接口:

    3.1 接口地址

    http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试

    3.2 请求参数

    ie:编码方式,默认为utf-8
    wd: 搜索词

    3.3 返回结果

    搜索结果,我们可以通过校验结果中是否含有搜索词wd来判断本次请求成功或失败。

    4. JMeter脚本编写

    4.1 添加线程组

    右键点击“测试计划” -> “添加” -> “Threads(Users)” -> “线程组”


     

    这里可以配置线程组名称,线程数,准备时长(Ramp-Up Period(in seconds))循环次数,调度器等参数:
     

      因为接口调试需要,我们暂时均使用默认设置,待后面真正执行性能测试时再回来配置。

    4.2 添加HTTP请求

    右键点击“线程组” -> “添加” -> “Sampler” -> “HTTP请求”


    对于我们的接口http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试,可以参考下图填写:

    Http请求主要参数详解:

    4.3 添加察看结果树

    右键点击“线程组” -> “添加” -> “监听器” -> “察看结果树”


    这时,我们运行Http请求,修改响应数据格式为“HTML Source Formatted”,可以看到本次搜索返回结果页面标题为”jmeter性能测试_百度搜索“。

    4.4 添加用户自定义变量

    我们可以添加用户自定义变量用以Http请求参数化,右键点击“线程组” -> “添加” -> “配置元件” -> “用户定义的变量”:


    新增一个参数wd,存放搜索词:

    并在Http请求中使用该参数,格式为:${wd}

    4.5 添加断言

    右键点击“HTTP请求” -> “添加”-> “断言” -> “响应断言”


     

    我们校验返回的文本中是否包含搜索词,添加参数${wd}到要测试的模式中:

    4.6 添加断言结果

    右键点击“HTTP请求” -> “添加”-> “监听器” -> “断言结果”

    这时,我们再运行一次就可以看到断言结果成功或失败了

    4.7 添加聚合报告

    右键点击“线程组” -> “添加” -> “监听器” -> “聚合报告”,用以存放性能测试报告


    这样,我们就完成了一个完整Http接口的JMeter性能测试脚本编写。

    5. 执行性能测试

    5.1 配置线程组

    点击线程组,配置本次性能测试相关参数:线程数,循环次数,持续时间等,这里我们配置并发用户数为10,持续时间为60s

    5.2 执行测试

    点击绿色小箭头按钮即可启动测试,测试之前需要点击小扫把按钮清除之前的调试结果。

    6. 分析测试报告

    待性能测试执行完成后,打开聚合报告可以看到:

    如果这篇文章对你有帮助,请给小编点个赞!👍这样我才有动力继续更新下去!

    今天的小知识学会了么

    欢迎在留言区跟我们互动噢~

    觉得有所帮助的话点个赞呗

    最后是小编自己整理的一些学习资料笔记和上述jmeter测试性能工具全套使用教程

    想要小编学习资料笔记文档和上述postman接口测试工具全套使用教程

    【私信我关键词“999”免费获取】高薪简历模板(面试宝典免费领)

    高薪简历模板(面试宝典免费领)

    高薪简历模板(面试宝典免费领)

    展开全文
  • 2、Jmeter里面的第三方监理插件 3、Linux资源监控 一、前言 1、负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖 在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能...

    一、前言

    1、负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖

    在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数

    简单说,可以帮我们对系统进行定容 定量,找出系统性能的拐点,给予生产环境规划建议。这里的性能指标包括TPS (每秒事务数)、RT(事务平均响应时间)、CPU Using(CPU利用率)、Mem Using(内存使用情况)等软硬件指标

    从操作层面来说,负载测试也是一种性 能测试手段,比如下面的配置测试就需要变换不同的负载来进行测试

    2、压力、强度测试:
    在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源, 硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定,确定是 否稳定的指标包括TPS、RT、CPU Using、Mem Using等

    二、负载、压力、可靠性(非常重要)

    场景类型用户数量(线程数)思考时间(固定定时器或高斯随机定时器)集合点(同步定时器)场景加压(加压时间)运行时间(循环次数或配置调度器)判定场景成功/失败条件
    压力(狭义并发)50,60, 70, 80…禁用开启一次完成一次服务是否崩溃
    负载50开启高斯随机定时器关闭2-5分钟内完成20分钟–2小时
    启用调度器
    1.事务通过率
    2.事务时间
    可靠10开启高斯随机定时器关闭2-6分钟内完成 启用调度器24小时
    36小时
    72小时
    1.内存泄漏(30分钟记录一次内存)
    2.服务器是否崩溃

    三、压力测试实战

    1、线程组设置,这里的线程数与同步定时器的用户数量一样
    请添加图片描述
    2、添加HTTP cookie管理器
    请添加图片描述
    3、默认请求值
    请添加图片描述
    4、添加一个事务控制器,可以当作一个业务请添加图片描述
    5、在事务控制器下添加,同步定时器
    设置用户数量,这里与线程组的线程数一样,超时时间可设置
    请添加图片描述
    6、添加脚本(http请求)
    请添加图片描述
    7、添加查看结果树请添加图片描述
    8、添加jp@gc - PerfMon Metrics Collector进行监控CPU、Memory、Disks I/O、Network I/O等。添加处:添加->监听器
    请添加图片描述
    9、在最后添加一个聚合报告,添加处:添加->监听器
    请添加图片描述

    四、负载测试实战

    1、线程组的设置50个用户(持续时间:按秒计算,这里300=60*5,意思就是运行时长为5分钟)
    请添加图片描述
    2、添加HTTP cookie管理器
    请添加图片描述
    3、默认请求值
    请添加图片描述
    4、添加一个事务控制器,可以当作一个业务
    请添加图片描述
    5、在事务控制器下添加,高斯随机定时器
    总的延时 = 固定延迟时间 + 高斯随机生成的偏差值(说明:单位都是毫秒,固定延迟300ms,偏差100ms,意思是时间延迟300-400ms之间)
    请添加图片描述
    6、添加脚本(http请求)
    请添加图片描述
    7、添加jp@gc - PerfMon Metrics Collector进行监控CPU、Memory、Disks I/O、Network I/O等。添加处:添加->监听器
    请添加图片描述
    8、在最后添加一个聚合报告,添加处:添加->监听器
    请添加图片描述

    五、资源监控

    聚合报告、jmeter监控服务器资源

    1、Windows自带的资源监工具

    5个主要指标:
    1.CPU使用率
    2.队列长度
    3.可用内度
    4.硬盘读写时间
    5.网络带宽

    2、Jmeter里面的第三方监理插件

    Perfmon插件

    3、Linux资源监控

    1.CPU:top (在命令行输入)

    more /proc/cpuinfo
    

    2.内存:

    free -m
    

    vmstat 刷新频率
    例如:

    vmstat 15    
    

    (说明:15秒刷新频率)

    3.硬盘大小:

    df -m
    fdisk -l
    

    注意:
    1.Error错误率
    2.看CPU、内存
    3.看聚合报告里面的请求时间


    请添加图片描述

    展开全文
  • jmeter性能测试
  • 本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。 运行环境为Windows 10系统,JDK版本为1.8,JMeter版本为3.3。 2. Jmeter安装 2.1 JDK安装 ...
  • 1.首先打开jmeterjmeter打开之后默认是英语 可以在设置中选择语言 设置成中文 在测试计划下面添加线程组 2.在线程组下面添加http请求在HTTP请求页填上待测试系统的 协议、IP、端口、路径 一般我们需要去看接口...
  • jmeter 5.4.1自定义接口性能测试步骤
  • 我们的平台为全国某行业监控平台,经过3轮功能测试、接口测试后,98%的问题已经关闭,决定对省平台向全国平台上传数据的接口进行性能测试
  • 1.Jmeter简介 ApacheJMeter是一款纯java编写负载功能测试和性能测试...本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。 运行环境为Windows..
  • 二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,...
  • jmeter性能测试步骤

    万次阅读 2020-03-23 15:32:00
    1.测试计划 2.线程组-设置线程数 3.HTTP请求(替换参数) 4.用户参数/CSV数据文件设置参数 5.集合点(同步定时器)-设置模拟用户数和超时时间 6.响应断言(检查点) 7.断言结果 8.监听器-察看结果树 9.监听器-聚合...
  • 安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。 启动jemter,点击选项,最下面的一栏,如下图所示: 打开后界面如下: Installed Plugins(已安装的...
  • Jmeter测试步骤

    2018-05-30 10:18:25
    关于Jmeter测试步骤,从创建线程-创建Http请求-添加查看结果数,做接口测试
  • Jmeter性能测试-插件

    2022-02-09 14:16:39
    安装插件管理 从http://jmeter-plugins.org/downloads/all/下载插件管理包,如图 将下载的包放至 jmemter 解压根目录的 lib/ext 下即可
  • jmeter特色用处
  • Jmeter性能测试的标准流程

    千次阅读 2021-10-20 15:36:41
    1、性能测试必要性评估 常见关键评估项 监管单位要求性能报告 涉及财产、生命安全的系统 首次投产的大型系统 核心数据库、软硬件升级 用户量、业务量增长30%以上 单版本单业务评估权重 是否平台核心位置 是否存在...
  • jmeter4.0进行微信小程序测试(jmeter性能测试教程) jmeter4.0进行微信小程序测试详细步骤指导书jmeter4.0进行微信小程序测试详细步骤指导书jmeter4.0进行微信小程序测试详细步骤指导书
  • jmeter到底是什么,就不多说废话了,至于大家想要了解jmeter性能测试到底如何进行,步骤是怎样,可看本文简单了解一下。首先,jmeter性能测试有以下功能:1、测试计划:是使用 JMeter 进行测试的起点,它是其它 ...
  • JMeter性能测试,完整入门篇

    万次阅读 多人点赞 2017-11-20 10:06:41
    1. Jmeter简介Apache JMeter是一款纯java编写负载功能...本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。运行环境为Windows 10系统,JDK版本为
  • jmeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同...它主要对 Apache JServ(现在称为如 Apache Tomcat 项目)的性能进行测试。Apache 后来重新设计 JMeter 增强的图形用户界面和添加功能测试能力。...
  • linux下jmeter性能测试

    2021-11-22 17:43:17
    ./jmeter -n -t 脚本地址.jmx -r -l 测试结果地址.jtl -e-o转换成测试报告html格式存放的地址/test_results/a1-700 例如: ./jmeter -n -t /opt/software/test/test_jmx/test.jmx -r -l /opt/software/test/test...
  • Jmeter 纯java开发的软件、所以需要配置java的运行环境才能运行。 jmeter 设计用于负载功能测试和性能测试。教你如何配置和操作
  • 由于我是刚进入此项目组不久,只参与了其中3个模块的功能测试,一遍接口回归测试,所以在写性能测试方案时,首先将业务流程、业务功能梳理了一遍,重点对将要性能测试的接口的文档再次仔细看一遍,在导师的引导下,...
  • jmeter本身的安装包中,监视器虽然提供了比如聚合报告这种元件,也能提供一些实时的数据,但相比于要求更高的性能测试需求,就稍显乏力。 某次压力测试TPS变化展示图: 三、Response Times Over Time 即TRT:事务...
  • JMeter性能测试,完整入门篇教程

    万次阅读 多人点赞 2019-07-19 14:54:47
    1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能...本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。 运行环境为Windows ...
  • 新建测试计划。 添加线程组 添加HTTP Cookie Manager 添加(设置)HTTP代理服务器 本地配置代理服务 修改Script Recorder参数。 设置完成后点击上图的start即可访问对应...
  • jmeter性能测试详细使用步骤

    千次阅读 2021-10-06 18:34:51
    1.进行java jdk环境的安装(注意尽量使用稳定的版本不要使用最新版) 2.配置java相关的环境变量的...【变量值】E:\jmeter\apache-jmeter-5.4.1(根据实际的jmeter解压路径填写) 打开jmeter:双击jmeter目录下的jmet...
  • 使用Jmeter性能测试具体步骤

    千次阅读 2019-04-16 16:57:54
    使用Jmeter性能测试具体步骤

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,650
精华内容 3,860
关键字:

jmeter性能测试步骤