一、基本概念

1.线程组N:代表一定数量的并发用户,所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。

2.Ramp-Up Period(in seconds):建立所有线程的周期,就是告诉jmeter要在多久没启动所有线程,保证在最后一个线程启动时,第一个线程还在运行中,已达到压测的目的。

默认值为0,,意味着jmeter执行测试立即就要启动完所有线程发送请求,很容易导致服务器过载,这是不合理的,我们想要的应该是逐渐增加用户访问量达到峰值。

若设置为Ts,意味着每隔T/NS建立一个线程,在T秒内建立完所有线程。

3.循环次数A:指在一个线程在持续时间内发送请求的次数,压测时,循环次数设置为永远。

4.调度器->持续时间:模拟用户并发行为持续的时间,也就是脚本持续运行的时间,一般是10分-20分钟。

5.调度器->启动延迟:意味着在多久后模拟用户并发开始,也就是脚本启动延迟的时间,点击启动后,还是默认等到延迟时间到达后才启动。

6.启动时间,结束时间:可以设置脚本启动和结束时间,相当于定时,设置好,运行结束后自动报名结果。

具体如下图:

二、压测指标

脚本执行后,在测试计划->线程组->监听器->聚合报告查看压测结果

1.Samples:请求总数,即在这次测试时一共发了多少次请求。

2.Average:即平均响应时间,一般是单个 Request 的平均响应时间,指从客户端发送请求到服务器返回数据的时间,这个值越小越好。

3.Median:50% 用户的响应时间

4.90% Line:90% 用户的响应时间

5.Error%:本次测试中的错误率,值=出现错误的请求的数量/请求的总数

6.Throughput:即tps,吞吐量指服务器端每秒处理的请求数。

具体如下图所示:

三、Jmeter分布式压测

客户机没有足够的能力来模拟较重的负载,我们可以使用Jmeter的分布式测试功能来通过一个Jmeter控制台来远程控制多个Jmeter引擎完成测试。

3.1实现原理:

  • 有多电脑,一台作为控制机(Controller),其它机器做为代理机(Agent);
  • 脚本发送到每台机器上,Agent机器不需要启动Jmeter,通过ip找到代理机器,在通过jmeter-server.bat文件找到代理机的jmeter,让其帮忙发请求;
  • 执行后,Agent把结果回传到Controller汇总。

3.2实现步骤:

  • 有多台电脑,每台电脑上都有jmeter,而且这几台电脑都互相能ping通;
  • 在控制机的jmeter的配置文件里面添加了代理机的IP;
  • 在代理机上启动运行jmeter-server.bat文件,不需要启动jmeter;

注意:如果有参数化文件,在代理机上的相同位置也要放置一份参数化文件。

3.3控制机配置

打开jmeter\apache-jmeter-3.0\bin\jmeter.properties文件,搜索Remote_hosts,将所有代理机的IP地址加在控制机的配置文件中。

配置好后,代理机器都启动运行jmeter-server.bat文件,然后执行脚本即可。

那么如何启动所有机器呢?修改配置文件后,重启Jmeter,在运行->远程启动下显示所有控制机和代理机的ip。选择远程所有启动,就会启动所有机器。

3.4 Linux下运行压测脚本

在windows电脑上保存已做好的压测脚本,比如:HTTP请求.jmx。

  • Linux下无图形化界面,将jmeter\apache-jmeter-3.0\bin目录(bin目录)放到环境变量PATH下,我们就可以用jmeter的命令啦;
  • 然后执行命令:jmeter -n -t  e:\path\HTTP请求.jmx -l  e:/path/res.jtl
  • -n:代表在没有图形化界面下运行,-t 指定一个测试脚本,-l 指定结果文件,这个结果文件后缀名为.jtl

四 Jmeter操作数据库

下载mysql-connector-java-5.1.7-bin.jar包,具体操作如下图:

在线程组->添加->配置原件->添加JDBC Connection Configration,设置参数如下图,记得加上:

在线程组->Sample->添加JDBC request,参数设置如下图:

SQL语句执行结果,在察看结果树中察看结果。

Jmeter之压力测试总结的更多相关文章

  1. Jmeter+badboy压力测试总结

    流程:badboy导出Jmeter压测脚本 -> Jmeter进行压力测试 软件下载地址: badboy:http://www.badboy.com.au/ Jmeter:http://jmet ...

  2. 使用JMeter做压力测试

    使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat ...

  3. 【JMeter】如何用JMeter进行压力测试

    [JMeter]如何用JMeter进行压力测试(调试脚本已再猪猪微信的收藏中进行了收藏哦,名字叫exam-wow.jmx) 一.用badboy录制压测过程形成脚本另存为jmeter格式文档. 二.JM ...

  4. 如何使用Jmeter进行压力测试

    Jmeter做压力测试的操作:Jmeter不仅可以做接口测试,还可以做压力测试,下面介绍介绍如何jmeter进行简单地压力测试.具体步骤如下: 第一步:添加请求,这里不介绍具体步骤,详见(https: ...

  5. Jmeter服务器压力测试使用说明

    Jmeter服务器压力测试使用说明 Apache JMeter是Apache组织开发的基于Java的压力测试工具. 官方地址:http://jmeter.apache.org/download_jme ...

  6. linux环境下使用jmeter进行压力测试

    linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...

  7. 学习使用Jmeter做压力测试(一)--压力测试基本概念

    学习使用Jmeter做压力测试(一)--压力测试基本概念 一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测 ...

  8. linux上实现jmeter分布式压力测试(转)

    摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...

  9. 性能测试工具 jmeter 分布式压力测试实操

    性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...

随机推荐

  1. [LC] 863. All Nodes Distance K in Binary Tree

    We are given a binary tree (with root node root), a target node, and an integer value K. Return a li ...

  2. [ZJCTF 2019]NiZhuanSiWei

    0x00知识点 1:data伪协议写入文件 2:php:// php://filter用于读取源码 php://input用于执行php代码 3反序列化 0x01解题 打开题目,给了我们源码 < ...

  3. JavaSE--for each

    参考:http://blog.csdn.net/yasi_xi/article/details/25482173 学习多线程的时候实例化线程数组而挖掘出来的一直以来的理解误区 之前一直以为for ea ...

  4. Bug(1)

    程序要求:内网之间客户端截屏(.bmp)并传送给服务端. server: #include <winsock2.h> // 为了使用Winsock API函数 #include <s ...

  5. eclipse配置tomcat详细步骤

    1.下载tomcat9并解压到D盘根目录下 2.Windows——>Preferences——>Server——>Runtime Environments——>Add 3.选择 ...

  6. 记一次Java面试问题点总结

    引言 昨日接了一个阿里外包的电话面试,问了一些技术问题感觉到自己是真的菜,接触Java开发已经也有一段时间,技术方面说来惭愧,一直以来只是局限于框架工具的用法,也没有进行了解其实现的原理,更重要的是一 ...

  7. java数目

    第一部分: Java语言篇1 <Java编程规范>星级:适合对象:初级,中级介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下.对基础讲解的很不错. 2 ...

  8. python开源库——h5py快速指南

    1. 核心概念 一个HDF5文件是一种存放两类对象的容器:dataset和group. Dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group.在使 ...

  9. 题解 P2016 【战略游戏】

    题目 解法跟 dalao @real_ljs 类似,但没有用到递归 [分析] 题目相当于需要求覆盖这颗树需要的最小点数 用 \(Dp_{i,0/1}\) 表示在这棵树中,以 \(i\) 为根节点的子树 ...

  10. 京东云数据库 RDS助力企业便捷运维

    iPhone6发布那年,京东在国贸等商圈送货最快速度数分钟,包括从下单到送达.这是一个极端的富含营销因素例子.即便如此,常态来看,隔天到货的这种业务模式,也是基于同样的支撑:营销业务.物流业务,大数据 ...