精华内容
下载资源
问答
  • 压测报告

    我们RD就是牛逼。我压测确实没咋遇到过啥问题,谁让我的RD哥哥们优秀呢

    性能测试报告


    新旧版本平均耗时对比 大于2ms需要Review

     

     

     



    压测报告

    • VSS(virtual set size)虚拟耗用内存(包含共享库占用的内存)
    • RSS(Resident set size)实际使用物理内存(包含共享库占用的内存)
      •   RSS是进程实际驻存在物理内存的部分的大小。因为一个进程执行不需要把整个进程都全部驻存到物理内存。RSS是最常用的内存指标,表示进程占用的物理内存大小。但是,将各进程的RSS值相加,通常会超出整个系统的内存消耗,这是因为RSS中每个进程都包含了各进程间共享的内存,因此存在重叠部分
      •   VSS是一个进程的总的大小。只有当进程执行且整个进程都驻存到物理内存时才RSS=VSS
    • PSS(Proportional set size)实际使用的物理内存(比例分配共享库占用的内存)
    • USS(Unique set size ) 进程独自占用的物理内存(不包含共享库占用的内存)
      •   与RSS相比,PSS会更准确一些,它将共享内存的大小进行平均后,再分摊到各进程上去
      •   USS则是PSS中自己的部分,它只计算了进程独自占用的内存大小,不包含任何共享的部分

     

    rss

     

    vss

     

    cpu

     

     

     

     

     

     

     

    warning日志分析

     

    Fail的case分析

    展开全文
  • jmeter-压力测试报告-超细,Jmeter性能测试工具使用总结
  • Jmeter压测思路+实操+报告分析

    千次阅读 2019-07-19 11:55:12
    测试报告分析思路: 1)Error%:确认是否允许错误的发生或者错误率允许在多大的范围内; 2)Throughput:吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量...

    RBI性能测试方法,快速瓶颈识别法。
    RBI强调了80%的性能问题可以通过吞吐量测试来发现,其他20%的性能问题可以通过引入并发用户数等更复杂的场景来发现。

    执行方案
    核心思路: 性能测试中不只关注并发数,尤其是单接口性能测试的时候,更多关注吞吐量、响应时间等指标来评估服务端性能。验证服务端最高每秒能正确处理的请求数,以及请求的响应延时情况。
    首先明确下并发的概念。在性能测试中并发可以理解为同一时刻做不同的事,或同一时刻做同样的事。一般我们在性能测试的时候也是这么去模拟的。那这个同一时刻的并发是很难做到的。要知道我们用来发起压力的测试工具本身要能做到同一时刻发起压力,如果设置线程数过多,负载机本身资源不足会有排队,请求建立和服务端的连接过程会排队,请求数据发送到服务的时候在网络队列上也会排队,请求数据达到服务端,在服务端也会进行排队,所以严格意义上的并发多少用户数等等是比较难做到的。
    为什么要压测
    这个问题问的其实挺没有必要的,做开发的同学应该都很清楚,压测的必要性,压力测试主要目的就是让我们在上线前能够了解到我们系统的承载能力,和当前、未来系统压力的提升情况,能够评估出当前系统的承载情况能不能满足当前和未来一段时间的正常运行。压力测试也让架构师和开发人员能够对自己负责的系统做到心中有数,当有大并发需求的活动或者其他突发事件导致的访问暴增,能够提前做好预估和准备应急预案。

    压测难点
    说了那么多,都是压测的必要性,那么既然要测那么重要,我们每次发版本都做一下压测不就好了,这么说的同学一定是没真正参与过压测的,参与过压测的同学都是谈压测色变,不管是测试人员还是开发人员都很害怕压测。大家为什么这么害怕压测,主要原因主要有下面这些压测的难点导致的:

    1)压测环境难准备

    在日常工作过程中,我们肯定遇到过压测环境难申请的问题,为什么难申请主要是因为压测一般要求环境和生产环境一致,那么就意味着压测机器资源的稀缺,没有哪家公司会长期准备所有系统的压测环境,毕竟成本太高,所以一般公司都是准备一些机器让所有系统共用压测环境,每次一个系统要做压测之前都要把上一个压测系统的数据和应用版本、中间件、数据库停掉或删掉,这是非常浪费时间的工作,所以很多公司现在在压测的环境准备都使用docker来准备环境,只需要定期更新docker image就可以,这就可以做到快速还原环境,需要用的时候直接把被测系统的docker image拉下来就行了,所以压测环境已经不再是我们的问题了。

    2)压测数据难准备

    在压测过程中还有个难点就是压测数据准备,如何能尽量真实的模拟生产的数据,最简单的就是录制一段时间生产的访问报文,然后在用压测环境进行正常回放和倍数回放。录制生产真实报文的工作,目前还没有遇到特别好的工具,大部分公司都是自己写个工具进行网络层面的嗅探,将嗅探到的生产报文再加工成Jmeter或者LoadRunner这些压测工具能够识别的压测脚本。这个工作其实只要搞通了一遍以后也没有那么复杂了。

    3)压测工具使用复杂

    压测工具曾几何时不管是测试人员还是开发人员都觉得很高大上,很难使用和学习,其实这个观念在10年前确实是这样的,但是随着越来越多的开源压测工具的兴起,那些复杂又笨重的商用压测工具渐渐被大家淡忘,现在有很多开源的服务端压测工具,使用起来还是很简单的,而且该有的功能基本都有了,前面废话了那么多,就是要说明压测已经不像以前那么复杂了,现在通过简单的环境配置和工具就可以快速的完成一次压力测试,环境准备这个我帮不了大家,今天文章重点就是介绍下开源压测工具的翘楚“Jmeter”的使用和结果分析,让大家爱上压测。

    压测指标
    压测结果指标基本概念:

    Samples:表示一共发出的请求数
    Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)
    Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因
    Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好
    我们常用的压测指标其实并不多,主要就是用户并发量和tps,一般这两个指标是一起使用的,就是在用户这么大的并发量的前提下tps是每秒多少。这么说有点绕口,举个简单的例子,500个用户同时发起服务请求,服务端能够稳定正确处理的交易数。这里能够稳定正确处理的交易数就是我们常说的tps,也叫做服务处理吞吐量,例子中提到的500个用户同时发起服务请求,“同时发起”也很容易被误解,这里说的500用户同时发起请求是指的是500个用户同一秒钟发起的请求,并不是系统同时只能承载500个在线用户,这两个概念是完全不一样的,在制定指标的时候千万不要搞混,尤其是和业务人员沟通的时候一定要说清楚。一般来说我们会统计一段时间生产环境当前在线用户的会话数和接口当时被调用的次数,做个线性的乘数,通过这个乘数可以根据最后压测出的数据来评估系统大概能够承载的用户数。

    使用Jmeter随时压测
    下面我们就详细介绍下如何使用Jmeter来进行服务端接口压测,Jmeter安装起来非常方便,只需要去官网下载解压直接运行shell就可以了。

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

    基本概念
    在介绍如何使用Jmeter之前先介绍下Jmeter里的一些基本概念:

    1)测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。

    2)线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。

    3)取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP 、ftp请求等等。

    4)监听器:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。

    5)逻辑控制器:允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

    6)断言:用于来判断请求响应的结果是否如用户所期望,是否正确。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

    7)定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。

    8)配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

    9)前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

    执行步骤【探索tps模式】
    1,配置线程【线程数配置,需求并发用户在1000,这里线程数可配置100–300,一般来说,tps模式不一定需要高并发,线程数尽量不超过1000】;
    持续时间,时间越长,准确性越高,一般定义为5–30分钟内:300秒–1800秒;
    在这里插入图片描述
    2,配置http或https协议请求
    在这里插入图片描述
    3,配置监听器【1,注意监听器影响性能,尽量少增加监听器;2,察看结果树只用在请求调试,调试通过后,务必删除或屏蔽;】
    测试部 > Jmeter压测思路+实操+报告分析 > image2019-7-19 11:18:45.png
    4,响应断言【形成完整校验,尽量添加;根据实际修改】
    测试部 > Jmeter压测思路+实操+报告分析 > image2019-7-19 11:20:56.png
    何时可以结束压测
    一般来说,主要监控聚合报告中三个指标:
    1,95%line>=3000ms或5000ms;
    90%line、95%line、99%line,性能要求高的情况下,监控99%line,一般使用90%line或95%line都可;
    释义:90%Line不等于:90%用户的平均响应时间
    真正解释:一组n个观测值按数值大小排列如,处于p%位置的值称第p百分位数

    举例说明:
    有10个数:

    1、2、3、4、5、6、7、8、9、10 按由大到小将其排列。

    求它的第90%百分位,也就是第9个数刚好是9 ,那么他的90%Line 就是9

    再来解释90%Line

    一组数由小到大进行排列,找到他的第90%个数(假如是12),那么这个数组中有90%的数将小于等于12
    测试部 > Jmeter压测思路+实操+报告分析 > image2019-7-19 11:27:9.png

    2,error%>=预期范围(一般来说1%左右)
    3,throughput>=预期值【吞吐量一般来说等于tps,jmeter衡量性能重要指标,当不断增加并发线程的情况下,tps恒定一个指标后,出现下降状态,最高的tps则为阈值tps】
    这里可见,单接口吞吐量,95%=363ms,error%<0.70%的情况下,tp在1269左右,性能说明很高了

    测试监控
    1,并发测试监控
    并发测试直接发起指定数量的请求,比如一起发起10万请求看一下系统的处理能力,这个时候如果需要服务器的资源使用信息,就不能使用比如zabbix监控系统了,因为一般处理10万请求,对于我们来说20秒可以处理完毕,但是zabbix数据采集是每分钟一次,这样采集到的数据明显是不准的,这样就需要通过系统自带的监控命令,来实时查询服务器的性能,比如可以通过dstat或者glances等动态监控命令来分析系统的性能。

    2,稳定性测试监控
    稳定性测试就是持续不断模拟指定数量请求,来访问服务器,比如我每秒向测试服务器发起4000请求,持续12小时,来看看服务器会出现什么情况,这个时候就需要用到zabbix来进行监控了,下面是我做性能测试的部分监控接口,包含tomcat每秒请求,服务器入口流量,整个集群每分钟请求的http状态码统计,还有服务器资源使用信息。

    测试报告分析思路:

    1)Error%:确认是否允许错误的发生或者错误率允许在多大的范围内;

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

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

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

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

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

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

    【友情提示】:
    分布式可能需要注意的事项以及压测可能遇到的问题

    A、若是脚本中设置的并发线程数是100,采用3台slaver机器去施加压力,那么对于服务端来说,此时的并发线程数是300。
    B、为了减少出错的可能性,最好按照如下Jmeter 分布式要求:
    1、各个机器在相同目录下安装相同版本的jdk;
    2、各个机器在相同的目录下安装相同版本的jmeter;
    3、配置/etc/hosts的IP和hostname的映射。
    4、修改各个机器的jmeter的默认内存参数,从512m调整为合适大小。
    5、 对压测中出现的异常或错误,可以尝试自己分析下。Response code: 500通常情况下是服务端出现问题,可以查看服务端的日志,看看是否有异常或错误信息,根据提示信息来定位分析,排查的时候可以根据服务端的业务架构一层层的排查下去,直至找到发生问题的服务。对自己没见过的或不太熟悉的错误信息建议google。 比如:Non HTTP response code: java.net.SocketException这种错误,google一把大致就有些可行的解决方案。[Jmeter-User] JMeter Non HTTP response code: java.net.SocketException。

    下面是我自己的群,大家一起讨论学习,现在人不多,来了就是元老哦哈哈,失效的时候联系我

    在这里插入图片描述

    展开全文
  • Jmeter实战之压测结果聚合报告分析

    千次阅读 2019-05-23 16:01:03
    Jmeter\2018视频教程\第3章 Jmeter核心组件讲解和实战\11、Jmeter实战之压测结果聚合报告分析.mp4 学习内容: 1.新增聚合报告:线程组->添加->监听器->聚合报告(Aggregate Report) 2.执行,查看聚合...

    学习章节:

    Jmeter\2018视频教程\第3章 Jmeter核心组件讲解和实战\11、Jmeter实战之压测结果聚合报告分析.mp4

    学习内容:

    1.新增聚合报告:线程组->添加->监听器->聚合报告(Aggregate Report)

    2.执行,查看聚合报告

    讲解:

                lable: sampler的名称
                Samples: 一共发出去多少请求,例如10个用户,循环10次,则是 100
                Average: 平均响应时间
                Median: 中位数,也就是 50% 用户的响应时间

                90% Line : 90% 用户的响应不会超过该时间 (90% of the samples took no more than this time. The remaining samples at least as long as this)
                95% Line : 95% 用户的响应不会超过该时间
                99% Line : 99% 用户的响应不会超过该时间
                min : 最小响应时间
                max : 最大响应时间
                
                Error%:错误的请求的数量/请求的总数
                Throughput: 吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps
                KB/Sec: 每秒接收数据量

     

    展开全文
  • fio安装,通过本文档,在生产环境中,磁盘I/O如何进行压测,掌握fio压测方法与如何书写fio压测报告
  • jmeter聚合报告——压测结果分析

    jmeter聚合报告——压测结果分析
    在这里插入图片描述

    展开全文
  • Jmeter压测报告

    2020-10-30 20:35:42
    账户分析压测报告 一、测试内容 本次测试是针对账户分析进行的压力测试,在账户分析查询接口中,只对用户资产查询接口进行压力测试,其中不包含用户签名校验功能。 二、测试方法 本次采用apache的开源测试工具...
  • 性能压测报告

    千次阅读 2019-06-25 23:09:11
    文章目录服务器接口性能压测报告一、说明二、本次压测伴随的性能调优1、slb2、系统内核3、nginx4、php三、盘古单节点压力测试四、盘古单代理节点压力测试五、集群压力测试1、每秒2000并发,总计5分钟压力测试2、每秒...
  • 1、在使用阶梯线程进行阶梯递增性能压测过程中,由于聚合报告生成的结果是一个汇总的结果,不会分阶梯模式汇总压测结果,这样导致不能根据生成的聚合报告对比不同阶梯模式下,tps、响应实际、error的变化趋势 ...
  • 文章目录后台系统后台接口压测报告V1.0测试目的测试内容测试环境测试方法压测工具和指标测试时间统计指标测试结果汇总表接口压测实况图测试结果分析 测试目的 针对uat环境的用户并发量和系统瓶颈,都是未知的。 ...
  • MySQL压测④--压测报告

    2021-01-18 20:30:49
    graph.sh log.data log.jpg 生成的log.jpg如下 ############################################## 压测报告 1.测试环境 MySQL服务器IP地址:172.17.100.100 操作系统:CentOSrelease 6.8 (Final) CPU:4核 内存:8G ...
  • ab压测工具结果分析

    2016-05-26 11:23:23
    看到很多关于ab压测的工具,但是很少有对结果详细分析的,今天我也大概说明一下环境:nginx服务器,nginx高并发,省内存结果分析:ThisisApacheBench,Version2.3 Copyright1996AdamTwiss,ZeusTechnologyLtd,...
  • [源码分析] 性能压测工具-webbenchsecond60 201806091. webbench简介今天和大家介绍一个网站压测性能测试工具,名字叫webbench。 a) 可测试相同硬件,不同服务的性能及不同硬件上同一个服务的运行状况。b) 可以...
  • 服务端性能压测

    2020-09-02 21:33:00
    最近在网上搜到一个不错的压缩程序代码,git地址是:https://github.com/link1st/go-stress-testing.git [root@ads-adr-test go-stress-testing]# go run main.go -c 1000 -n 7 -u ...
  • 新增聚合报告:线程组-&gt;添加-&gt;监听器-&gt;聚合报告(Aggregate Report)  lable: sampler的名称  Samples: 一共发出去多少请求,例如10个用户,循环10次,则是 100  Average: 平均响应时间  ...
  • Jmeter报告解析  1、Aggregate Report 解析  Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家...
  • Jmeter如何分析压测结果

    千次阅读 2020-11-23 15:00:23
    2、查看【聚合报告】 3、查看结果并分析案例 1)50个用户同时访问企业用户会议室预定页面,平均响应时间是0.146秒,最大的响应时间0.387秒,最小的响应时间是0.096秒,错误率为0。 (2)100个用户同时访问企业用户...
  • 性能测试—接口压测指标分析

    千次阅读 2020-11-26 14:25:53
    通常而言,Jmeter性能测试结果分析可从性能测试指标达成方面着手,然后再分析测试过程中出现的异常情况,逐一判断是否存在性能风险。 一、用户登录并发测试结果分析 1、提取测试指标 表1:用户登录并发性能指标 ...
  • RocketMQ压测报告

    千次阅读 2020-10-24 23:26:41
    RocketMQ压测报告书 公司需要压测RocketMq,这里给出个人的压测结果。因为机器不足的原因,这里只能做基准测试。不能做容量测试、稳定性和异常测试。 1. 部署结构 1.1 机器组成 2台机器 4c16g nameserver 4台机器 ...
  • jmeter测试报告分析

    万次阅读 2018-01-02 15:41:13
    Jmeter报告解析 1、Aggregate Report 解析 Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅...
  • Jenkins构建Jmeter压测任务安装与配置Jenkins安装Jmeter安装Jenkin配置jmx压测脚本生成压测脚本压测报告 安装与配置 Jenkins安装 我是mac环境,在我本机上安装Jenkin比较简单,只需要简单的一句 brew install ...
  • jmeter-压力测试的结果报告分析

    万次阅读 2016-11-01 14:25:04
    JMeter压力测试报告需要包括放内容: 1、压力测试概要 测试环境: 测试时间: 服务端配置: 客户端配置: 测试工具:JMeter 2、测试说明 (1)名词定义(时间单位ms) Sample:本次测试场景共运行多少线程;...
  • 主要压测范围包括CPU测试、磁盘IO测试、线程测试、OLTP测试等,那么sysbench就可以满足我们的压测需求。下面我们简单来看下sysbench的安装使用以及压测结果的解读。一、sysbench安装sysbench安装其实非常简单,可以...
  • 测试报告主要包含以下信息: 1.请求的接口 2.并发量 3.请求时间 4.请求总数 5.成功数量 6失败数量 7.返回值有问题数量 8.服务器最终处理时间 9.服务器RPS(平均每秒可响应数量) 10.响应最大时长 11.响应最短时长 ...
  • Activemq压测报告

    2016-03-29 13:40:18
    本文档包含了持久性、非持久性、异步同步和多topic下的所有压测数据,非常清晰的分析了各种压测数据,并且根据原理分析结果的合理性
  • JMeter 压测报告

    千次阅读 2014-12-06 17:39:46
    Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计...JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。另外,JM
  • JMeter压力测试报告分析

    万次阅读 2016-02-29 11:01:22
    JMeter压力测试报告需要包括放内容: 1、压力测试概要 测试环境: 测试时间: 服务端配置: 客户端配置: 测试工具:JMeter 2、测试说明 (1)名词定义(时间单位ms) Sample:本次测试场景共运行多少线程;  ...
  • 压测结果分析 开启pipeline对QPS性能的影响 从上图可看出不同规格主机在写入value size只有一字节的情况下,不会出现Asynchronous AOF fsync is taking too long这样慢盘的情况。这种场景下,我们可暂时忽略...
  • 活动压测报告

    2019-11-30 13:21:12
    jmeter有个递进加压的工具: 可参考:... 性能测试需要: ...1.容量预估:包括机器,DB,redis等 ...2.业务分析:业务级别,按照访问路径去预估流量比例 3.数据预估:一般会预估2年内,业务发展...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,847
精华内容 2,338
关键字:

压测报告分析