Jmeter压测总结


emmmmm,主要是名词解释、Jmeter配置、服务器运行命令。

压测名词

QPS = 1000/RT ,即 1000ms 除以平均响应时间,即 1秒内处理多少个请求

1、关于TPS、QPS区别

我日常都会使用TPS,每秒事务数,之所以是事务这个概念,是因为我们在请求过程中会增加检查点,检查点成功就是事务成功,检查点失败就意味着失败,所以我们的请求就是一次事务,故TPS=QPS(每秒请求说),所以大部分条件下,这两个概念不用纠结的!

那么什么时候不相等呢?

举个例子,我需要进行一次查询,但这个查询需要调用A服务和B服务,而调用B服务需要2次调用,那么这种情况,以我查询这个场景成功作为一次事务的话,我一秒请求一笔就是1tps,当然对于A系统是1tps=1qps的,但对于B系统而言,就是2qps,因为调用了两次(如果只看B服务的话,把每次请求当做一次事务的话2qps=2tps,还是可以等同的)

所以仅仅是关注维度的不同,绝大多数时候我们不用去刻意区分的,毕竟我可以说我流程是1tps,B系统受到的双倍额压力是2tps的量(压测过程中也务必关注这样的流量放大服务,因为很有可能前面的服务抗的住,后面扛不住),这样也是完全没有问题的。

Jmeter配置

Linux服务器运行

二、Linux服务器安装Jmeter

1、将本地的Jmeter文件打包成zip文件:apache-jmeter-3.0_json.zip,再上传到服务器

2、在服务器解压缩,生成jmeter-3.0目录

1)安装unzip:apt-get install unzip

2)解压缩:unzip apache-jmeter-3.0_json.zip

3、将jmeter-3.0目录 放到 /usr/local下

4、配置Jmeter环境变量。vi /etc/profile,再添加如下变量

export JMETER_HOME=/usr/local/jmeter-3.0

export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH

   export PATH=$JMETER_HOME/bin:$PATH

5、source /etc/profile (让配置文件立马生效)

6、查看是否安装成功,执行命令:jmeter -v

三、接口测试

1、将本地生成的jmx文件上传到服务器

2、输入命令:# jmeter -n -t /home/jessica/httpThread.jmx -Jconut 500-l log.jtl,查看结果

参数说明:

      -n:以NoGUI方式运行脚本

-t:后面接脚本名称

-l:后面接日志名称,保存运行结果

3、查看log.jtl,返回200,说明运行成功(可以将log.jtl发送到windows下查看:添加聚合报告,在聚合报告中,点击浏览,打开该文件)

4、注意:客户端和服务器的Jmeter版本最好保持一致,不然运行脚本时会报如下错误

-h 帮助 -> 打印出有用的信息并退出 -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter -t 测试文件 -> 要运行的 JMeter 测试脚本文件 -J 是设置本地jmeter属性,引用变量参数 -G 是设置server的jmeter属性 -l 日志文件 -> 记录结果的文件 -r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器 -H 代理主机 -> 设置 JMeter 使用的代理主机 -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

-h 帮助 -> 打印出有用的信息并退出 -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter -t 测试文件 -> 要运行的 JMeter 测试脚本文件 -J 是设置本地jmeter属性,引用变量参数 -G 是设置server的jmeter属性 -l 日志文件 -> 记录结果的文件 -r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器 -H 代理主机 -> 设置 JMeter 使用的代理主机 -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

Jmeter 工具使用步骤:https://mp.weixin.qq.com/s/pb3jwOiRS7uszmMHK7QFIA

压测过程中遇到的问题:

1、内存溢出,由于client没有关闭造成,在setup中初始化,在teardown中关闭即可

JVM_ARGS="-Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=1024m" jmeter -n -t test.jmx -JthreadCount=1 -Jcycle=2000 -l log.jtl

2、找不到gui 导致无法编辑,下载3.2版本

3、找不到keytool,默认在jdk安装目录bin目录下,将该文件,添加到环境变量即可

.压测QPS压不上去原因

l Jmeter设置线程属性的时候,不要设置永远,设置循环次数,建议设置很多很多,如1000000。先前我们设置永远的时候,就一直压不上去,后来改设置大的循环次数的时候,QPS就可以压上去了

ll 属性设置好还是压不上去,看jmeter加了很多查看结果树等,这样大大影响的qps,去掉这些后qps就上去了---我们在做测试的时候遇到该问题,删除各种查看结果树就能压上去了

原文地址:https://www.cnblogs.com/good-time/p/11696491.html

时间: 2024-11-01 21:57:22

Jmeter压测总结的相关文章

jmeter压测app

使用代理的方式,录制app端脚本,之后用jmeter压测就没啥好说的了 1.电脑端谷歌设置本地代理(端口号为8888) 2.jmeter设置HTTP代理服务器(端口号为8888) 3.手机端wifi设置HTTP手动代理(服务器为电脑的IP,端口号为8888) 4.jmeter启动代理 5.手机端登陆使用app,jmeter录制到了脚本

java多线程&&Jmeter压测实现

笔者最近在看jmeter源码,对多线程处理部分的了解记录如下. Part1 线程与多线程概念 提到线程先来看一下进程(线程的容器)的概念,进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示. 对于jmeter来说,运行中的jmeter程序实例便是一个进程.而该进程中会包含大量线程. 线程是程序执行流的最小单位,是一组命令的集合.在jmeter中一

jmeter压测

压测指标:TPS/QPS,响应时间 jmeter压测设置 jmeter压测结果监听器添加 jmeter压测结果查看(Samples:请求次数,Average:平均响应时间/ms,Throughput:TPS) jmeter加压力机(压力机之间能ping通) 各压力机下bin执行jmeter-server.bat,启动 修改jmeter.properties中remote_hosts参数添加压力机IP和端口(端口默认1099),示例如下 remote_hosts=localhost:1099,10

手把手教你jmeter压测--适合入门

[后台测试]手把手教你jmeter压测 我知道我迟早是要踏上了后台测试之路的,只是没想到来的这么突然.新接手了一个项目,在第一版发出后,产品需要做运营活动拉量,因为我担心突然的流量涌入是否会对后台造成压力呢?因此决定做一下压测: 下面就一步一步的介绍我从0到1的压测过程吧. 我下载的是 apache-jmeter-2.13,因为这个包下载下来通用linux和windows的,所以我们现在windows下打开它. 直接点击bat,打开jmeter: 添加一个线程组: 添加完成之后,先设置这两项:

jmeter压测网站

1.Jmeter介绍 Jmeter是apache组织开发的基于java的压力测试工具. Jmeter可以用于对服务器.网络活对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性能.另外,jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果.为了最大限度的灵活性,jmeter允许使用正则表达式创建断言. 2.Jmeter工作原理 image001 3.Jmeter安装 实验环境:系统:centos6.6 64位Java:1.8.0_65Jm

jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包

一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps:服务端每秒钟能处理的请求数. 响应时间:就是你从发出请求到服务端返回给你数据的时间. 二.jmeter操作数据库 在测试计划中添加mysql-connector-java-5.1.7-bin.jar 最后添加查看结果树.如果既要查询又要修改操作选择Callable Statement这个模式. 断言

jmeter压测学习1-window环境准备与案例

前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketException: Socket operation on nonsocket: connect 环境准备: java 1.8 jmeter 5.1.1 jmeter环境 jmeter环境依赖JAVA环境,需安装JDK1.8环境,JDK环境安装网上一大堆教程,自己去想办法吧,我这里就不多说了. jmeter

Jmeter压测快速体验

前言 最近在看neo4j相关的官网文档以及一些调优参数,同时也学了下Jmeter,为了测试下neo4j服务的性能,虽然不是专业搞测试的,但是我觉得每个优秀的开发者都应该学会主动压测自己服务和代码的性能,并非写完代码之后直接扔给测试就完事了,兵法云:知彼知己,才能百胜不殆嘛. jmeter是什么 jmeter是一款开源的测试工具,源码100%基于Java并开源,最初的设计目的是用来测试Web应用的,由于其非常轻量级和免费,后来又扩展到其他测试领域. jmeter的一些特点: 1.能够对HTTP,F

JMeter压测分布式部署

监控JMeter压力机的性能 netstat -an | find "TCP" /C 处理过程: 一:调度机master启动以后,会拷贝本地的jmx文件分发到远程的slave机器上: 二:slave机器拿到脚本以后启动命令行模式去执行脚本,对于每台slave机器拿到的脚本都是一样的,所以如果jmx脚本为50个线程跑3分钟,那么实际并发就是50*3=150个线程并发跑3分钟: 三:执行时,slave会把执行获得的数据结果传给master机器,master机器会收集所有slave机器的信息

jmeter 压测工具安装及使用

linux下jmeter安装: 1. 下载JMeter官方网站下载最新版本:?http://jmeter.apache.org/download_jmeter.cgi?,目前最新版是Apache JMeter 2.13下载二进制包,使用JMeter依赖jdk,建议安装jdk 1.6版本以上.Linux下安装jdk参考文章:http://www.linuxeye.com/Linux/Linux-install-JDK.html 2. 安装JMeter 解压二进制 mkdir /usr/local/