精华内容
下载资源
问答
  • 我在学习jmeter压力测试java web程序,现在的要求是“调整并发数,压到程序挂为止”,我不知道什么是并发数。 jmeter建好线程组后,有两个参数,一个是线程数,一个是循环次数。 我刚开始是把循环次数设置为1,...
  • 原标题:JMeter压力测试并发量计算 本文来自:51Testing软件测试网采编一、聚合报告初识聚合报告是不是有些眼熟,是的你没看错,他跟Apache AB的结果是类似的,事实上LoadRunner也会有一票这样类似的数据。...

    原标题:JMeter压力测试及并发量计算

    本文来自:51Testing软件测试网采编

    一、聚合报告

    初识聚合报告是不是有些眼熟,是的你没看错,他跟Apache AB的结果是类似的,事实上LoadRunner也会有一票这样类似的数据。

    下面分别说下各个数据的意义,其中标成红色的是需要特别关注的。

    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:每秒从服务器端接收到的数据量(只是接收)。

    下面说说几个重点参数:

    1.为什么说Line重要呢?

    举个栗子:姚明与郭敬明平均身高约1.84米能说明什么?如果这个例子不够形象再想想我大天朝的平均工资。所以平均不代表公平,因为总有那么一小撮人会极大的影响平均值,而大多数人是被平均的。

    通过JMeter官网我们能发现对这个参数的定义(http://jmeter.apache.org/usermanual/glossary.html):

    90% Line (90 th Percentile) is the value below which 90% of the samples fall. The remaining samples too at least as long as the value. This is a standard statistical measure. See, for example: Percentile entry at Wikipedia.

    貌似这段话说的不明不白,但他给我提示了一个重要的词Percentile,于是我们继续跟进,原来这是一个统计术语。维基上有详细说明,并有公式:n=(100/P)*N+1/2

    其中n=排序位;P=待排序值;N=总的排序值数量

    这块说的有点绕,看维基上的例子会比较清晰(http://en.wikipedia.org/wiki/Percentile)。

    说白了就是将一组数据从大到小排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。

    2.Error%

    这个不说了,大家都懂。

    3.Throughput

    这又是个很重要的参数了,开头提到的PV计算就跟这个数有关了。

    计算公式见下图,通过Throughput可以换算出PV,当然为了应付突发状况还要留出一定的Buffer。

    所以现在回到开头的那个问题,理论上每秒231的事务数就可以(10000000*0.8)/(24*60*60*0.4),当然这只是理论上;-)

    4.KB/Sec

    这个不细说了,跟计算你的机房带宽有关的。

    二、图形结果

    这里比较重要的参数是偏离量。

    偏离量,理论上是越小系统稳定的。但多少是小呢?所以这种说法是不准确的,“朝菌不知晦朔,蟪蛄不知春秋”,在不同的场景下对标准的定义也是不同的。

    因为对正态分布和置信区间这块我也不太懂,这里就不敢瞎说了。

    不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

    )

    责任编辑:

    展开全文
  • 线程组:设置并发数、并发时间、请求循环次数 采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request 监听器:查看结果树 断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功 配置...

    jmeter常用测试元件
    测试计划:默认
    线程组:设置并发数、并发时间、请求循环次数
    采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request
    监听器:查看结果树
    断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功
    配置元件:用户定义参数
    后置处理器:正则表达式
    创建一个线程组
    TestPlan --> 添加 --> 线程 --> 线程组

     

    设置线程组参数


    线程数:我将它理解成模拟的用户数,假设线程数为100,那么久相当于模拟100个用户;
    Ramp-Up Period:每个线程的执行时间间隔,如果为0那么就相当于是并发的意思;
    循环次数:执行任务的次数,永远的意思就是一直循环执行,不停止;
    调度器:设置开始、结束时间、打开看看就懂了;

    假如线程数为100,Ramp-Up Period 循环次数为1
    意思可以理解成100个用户(线程)同时执行一次任务

    创建HTTP请求
    线程组 --> 添加 --> 取样器 --> http请求


    配置HTTP请求


    添加运行结果监听器
    线程组 – > 添加 – > 监听器 – > 察看结果树/聚合报告


    聚合报告


    Smples:本次场景中一共完成了多少次请求
    average:平均响应时间
    Median:中位数、也就是说统计50%的用户响应时间
    90%Line:90%用户的响应时间
    95%Line:95%用户的响应时间
    min:最小响应时间
    max:最大响应时间
    PS:以上时间的单位均为ms
    error%:本次场景中出错的请求数量/请求的总数
    troughput:吞吐量、“吐”进去的是请求,“吐”出来的是结果,吞吐率说的是软件系统的“饭量”,即软件系统的处理能力,也就是单位时间内软件系统能够处理多少数据/事务
    KB/sec:以流量作衡量的吞吐量,也就是说每秒从服务器接收的数据量。

     

     

     

    展开全文
  • 线程组:设置并发数、并发时间、请求循环次数 采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request 监听器:查看结果树 断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功 配置...

    jmeter常用测试元件
    测试计划:默认
    线程组:设置并发数、并发时间、请求循环次数
    采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request
    监听器:查看结果树
    断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功
    配置元件:用户定义参数
    后置处理器:正则表达式
    创建一个线程组
    TestPlan --> 添加 --> 线程 --> 线程组


    设置线程组参数


    线程数:我将它理解成模拟的用户数,假设线程数为100,那么久相当于模拟100个用户;
    Ramp-Up Period:每个线程的执行时间间隔,如果为0那么就相当于是并发的意思;
    循环次数:执行任务的次数,永远的意思就是一直循环执行,不停止;
    调度器:设置开始、结束时间、打开看看就懂了;

    假如线程数为100,Ramp-Up Period 循环次数为1
    意思可以理解成100个用户(线程)同时执行一次任务

    创建HTTP请求
    线程组 --> 添加 --> 取样器 --> http请求


    配置HTTP请求


    添加运行结果监听器
    线程组 – > 添加 – > 监听器 – > 察看结果树/聚合报告


    聚合报告


    Smples:本次场景中一共完成了多少次请求
    average:平均响应时间
    Median:中位数、也就是说统计50%的用户响应时间
    90%Line:90%用户的响应时间
    95%Line:95%用户的响应时间
    min:最小响应时间
    max:最大响应时间
    PS:以上时间的单位均为ms
    error%:本次场景中出错的请求数量/请求的总数
    troughput:吞吐量、“吐”进去的是请求,“吐”出来的是结果,吞吐率说的是软件系统的“饭量”,即软件系统的处理能力,也就是单位时间内软件系统能够处理多少数据/事务
    KB/sec:以流量作衡量的吞吐量,也就是说每秒从服务器接收的数据量。

     

    jmeter弱网测试:

    找到apache-jmeter-3.2/bin/jmeter.properties文件
    找到参数,分别为限制http即https
    #httpclient.socket.http.cps=0#httpclient.socket.https.cps=0
    计算逻辑:cps = (target bandwidth in kbps * 1024) / 8,
    所以cps=B/s的速率
    参考官网文档:cps属性为了模拟低网速

    二、对于网络带宽的换算
    1、网络速率
    100Mbps=100Mbit/s即兆比特每秒
    100MB/s=100MBytes/s即兆字节每秒
    1B=8bit
    100Mbps=12.5MB/s,理论上平常的百兆带宽下载速率可以达到12.5MB/s
    100MB/s=100*1024KB/s=100*1024*1024B/s
    2、数据存储
    对于数据硬盘之类的存储换算比较不同
    数据存储是以10进制表示,1MiB=1000KB

    三、jmeter分别配置不同的cps测试响应时间的变化
    默认情况下该接口,内网测试如下

    响应时间很小,设置cps=40KB/s=40*1024B/s=40960,查看网络延迟情况

    Samples:样品个数

    Average:平均值

    Median:中间值

    Throughput:吞吐量

    Received KB:接受

    Sent KB:发送

    可以看到平均网络延迟了1分多钟

     

    展开全文
  • JMeter压力测试集合点教程基本公式线程=QPS*time注:QPS--每秒完成请求的个数;time--每个请求响应完成平均需要时间故QPS*time就是所有请求完成响应所需要的总时间,如果需要在一秒完成所有请求的响应,所以线程...

    JMeter压力测试集合点教程

    基本公式

    线程数=QPS*time

    注:QPS--每秒完成请求的个数;time--每个请求响应完成平均需要时间

    故QPS*time就是所有请求完成响应所需要的总时间,如果需要在一秒完成所有请求的响应,所以线程数需要等于总时间值

    压力测试线程数确定

    比如一个活动,大概一个小时内有60w人的流量,算应该压测的线程数是多少 ,一个小时=60分钟=3600s

    算法

    二八定律,20%的时间跑了80%的流量,换算就是 12分钟跑了48w流量 48w/12/60~=667,就是设置集合点后,每秒应跑的线程数是667,当然也不是绝对的线程数需要一点一点往上压主要看测试之前制定的指标

    指标

    每秒事务数、接口error率、响应时间、内存、cpu、网络、资源、jvm查看fgc情况和阻塞点。

    压力测试

    压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口。压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一天或一周,根据实际情况来定。

    压测任务需求的确认,压测前要明确压测功能和压测指标,一般需要确定的几个问题:

    1.固定接口参数进行压测还是进行接口参数随机化压测?

    2.要求支持多少并发数?

    3.TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?

    4.压服务器名称还是压服务器IP,一般都是压测指定的服务器?

    压测设置

    线程数:并发数量,能跑多少量?具体说是一次存在多少用户同时访问

    Rame-UpPeriod(inseconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。

    循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数

    调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。

    压测结果查看

    运行完后,查看结果树可以查看接口成功与否 聚合报告会显示压测的结果。主要观察Samples、Average、error、Throughput。

    Samples:表示一共发出的请求数

    Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)

    Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因

    Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好。

    压测结果的分析

    有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;

    Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;

    压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;

    最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。

    最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。

    压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。

    影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。

    展开全文
  • Jmeter并发数 测试

    万次阅读 多人点赞 2018-07-30 15:22:00
    Jmeter并发数 测试 Jmeter是一个非常好用的压力测试工具。 Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好。 阅读目录 什么是压力测试  做压力测试的常用工具 做压力...
  • 1、Jmeter官网下载zip,https://jmeter.apache.org/download_jmeter.cgi 2、解压zip包,进入bin下,点击Jmeter.bat启动Jmeter,在Jmeter中操作 ...线程组,填写名称:用户并发登录,线程:60...
  •  Error%:本次测试中出现错误的请求的数量/请求的总数 8. Throughput:吞吐量,表示每秒完成的请求。 9. KB/Sec:每秒从服务器端接收到的数据量(只是接收)。 下面说说几个重点参数: 1.为什么说%90 Line重要呢...
  • jmeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,很多用户使用的时候不知道jmeter怎么进行并发测试,接下来就跟小编一起来看看吧,有需要的小伙伴不要错过!jmeter怎么进行并发测试1、打开...
  • 如果测试需求出现如下场景,该如何使用Jmeter实现压力测试呢?即Jmeter如何实现多线程组并发测试?也就是Loadrunner中的混合场景测试时,该如何设置并发数?可使用吞吐量控制器来实现,先添加需要测试的各个请求。...
  • JMeter压力测试(一)中设置线程组的线程,即执行时的并发用户,适用于单个线程组的并发测试。如果测试需求出现如下场景,该如何使用JMeter实现压力测试呢?即JMeter如何实现多线程组并发测试,也就是Loadrunner...
  • 1. 如何使用jmeter做一个简单的测试1.双击bin目录下的jmeter.bat,打开jmeter,右击测试计划,添加–...它所看重的是软件的执行效率,尤其是短时间内访问用户爆炸性增长时软件的响应速度,压力测试往往是在功...
  • 要实现多台压力并发,就必须有多台服务器上安装了jmeter程序包,首先把一台服务器作为主压力机,测试脚本放到这台机器上,主压力机与从压力机在同一局域网中,服务器之间可以ping通第一步:在linux服务器上安装...
  • 考虑到存在大量用户并发使用人脸识别功能登录的情况,需要对涉及到的接口进行压力测试(后续简称压测),来确保上线后的系统质量更稳定。2 压测环境配置压测发起设备:windows 10网络:局域网压测软件:Jmeter 5.0压测...
  • Jmeter压力测试

    2017-12-17 21:42:00
    压力测试查看结果的几个指标: 1.tps是每秒钟处理的请求,也就是指服务器的处理能力,tps越高说明...Jmeter压力测试:   Linux下运行Jmeter压力测试:  1.先把jmeter上传到linux上  2.把脚本上传到lin...
  • jmeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,很多用户使用的时候不知道jmeter怎么进行并发测试,接下来就跟小编一起来看看吧,有需要的小伙伴不要错过!jmeter怎么进行并发测试1、打开...
  • JMeter压力测试

    2020-07-10 14:38:02
    JMeter压力测试并发测试 1, 设置英文为中文:Options – > Choose Language – > Chinese(Simplified) 2, 添加测试计划,添加线程组。TestPlan --> 添加 --> 线程 --> 线程组 3, 设置线程...
  • JMeter压力测试并发测试

    万次阅读 2019-06-12 07:38:59
    线程组:设置并发数、并发时间、请求循环次数 采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request 监听器:查看结果树 断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功 ...
  • 要实现多台压力并发,就必须有多台服务器上安装了jmeter程序包,首先把一台服务器作为主压力机,测试脚本放到这台机器上,主压力机与从压力机在同一局域网中,服务器之间可以ping通第一步:在linux服务器上安装...
  • 只要输入请求地址,便可将所有的操用步骤记录下来,导出jmeter的script,jmeter导入这个sccript就是一个工程了,可以在里面对其进行修改参数和添加新的断言,监听器等。多用户的参数文件就在这里设。右键单击选择...
  • JMeter联机远程并发压力测试

    千次阅读 2018-02-03 15:04:21
    JMeter是java应用,对于CPU和内存的消耗比较大,所以,当需要模拟大量并发用户时,使用1台电脑是无法承受的,经常会引起Java内存溢出错误。为了让JMeter工具提供更大的负载能力,我们可以使用多台电脑联机同时产生...
  • 1、线程并发用户 2、Ramp-Up Period(in seconds):运行的时间 3、循环次数:线程运行的次数 一般想要看稳定性,会设置循环次数或者永远循环,持续循环调用请求。。 如果要看压测,会设置线程,同时多...
  • Jmeter测试网站并发

    2020-09-14 16:42:04
    如何测试一个网站的性能(并发数)? JMeter网站并发性测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 391
精华内容 156
关键字:

jmeter压力测试并发数