一、基本概念

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. [题解] 洛谷P3950 部落冲突

    传送门 拿到题目,一看 裸LCT (其实是我懒得打,splay又臭又长) 首先,这道题的意思就是删掉一些边 所以常规操作 点权转边权 之后对于战争操作,在对应的边上+1 对于和平操作,在对应的边上-1 ...

  2. LGOJ4299 首都

    这题是 \(LCT\) 维护子树信息中的 \(LCT\) 维护重心 Description link 题意概述:给定一个森林,要求支持以下操作 1.链接两个点 2.求一个点所在树的重心 3.求所有重心 ...

  3. WinServer--mstsc

    部署项目时,远程连接服务器一直提示连接达最大拒绝连接. mstsc /admin 从sp2后,/console参数就改为/admin了,其实就是登陆到远程服务器的控制台,一般加这个参数是为了在远程桌面 ...

  4. 图解:平衡二叉树,AVL树

    学习过了二叉查找树,想必大家有遇到一个问题.例如,将一个数组{1,2,3,4}依次插入树的时候,形成了图1的情况.有建立树与没建立树对于数据的增删查改已经没有了任何帮助,反而增添了维护的成本.而只有建 ...

  5. Python说文解字_计数器

    from collections import Counter response = [ "vanilla", "chocolate", "vanil ...

  6. liunx搭建配置

    预安装准备工具 yum -y install gcc gcc-c++ wget cmake 安装 软件存放目录: /lnmp/ 软件安装目录: /usr/local/ 1.下载安装PCRE wget ...

  7. node.js实现http服务器进行访问

    步骤:一.安装node;二.新建一个文件夹目录(根目录),里面再新建一个server.js文件:三.打开命令行界面,进入文件夹目录然后输入命令node server.js;四.然后就可以在浏览器上通过 ...

  8. ActiveMQ消息队列的搭建

    今天来写下消息队列 一.首先介绍下什么是activeMQ? ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 ...

  9. 代码杂谈-split函数

    java split 函数默认会清除空白行尾的空白. 为了避免这个问题, 需要加参数, 改为 String[] tmpValues = line.split(",", -1);

  10. 03 Mybatis:05.使用Mybatis完成CRUD

    mybatis框架:共四天 明确:我们在实际开发中,都是越简便越好,所以都是采用不写dao实现类的方式.不管使用XML还是注解配置. 第二天:mybatis基本使用 mybatis的单表crud操作 ...