jmeter(压力测试)指标分析

加v:hz223336进群领取三大pytest自动化测试框架代码

性能指标分析

初级分析:

压力测试

压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口。

压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一天或一周,根据实际情况来定。

压测任务需求的确认

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

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

要求支持多少并发数?

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

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

压测设置

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

Rame-Up Period(in seconds):表示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)、网络和操作系统等方面

---------------------

总结

从外部看,性能测试主要关注如下三个指标

吞吐量:每秒钟系统能够处理的请求数、任务数。

响应时间:服务处理一个请求或一个任务的耗时。

错误率:一批请求中结果出错的请求所占比例。

标准:

响应时间:对实时性要求比较高,响应时间的上限一般在100ms以内。而导航一类的服务,由于返回结果的使用周期比较长(整个导航过程中),响应时间的上限一般在2-5s。

错误率:错误率和服务的具体实现有关。通常情况下,由于网络超时等外部原因造成的错误比例不应超过5%%,由于服务本身导致的错误率不应超过1% 。

吞吐量:

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

查看服务器的数据分析

nmon使用方法(建议使用)

https://blog.csdn.net/linabc123000/article/details/70833427/

下面是多命令查看,挺麻烦的

消息

jmeter-压力测试报告

JMeter压力测试报告需要包括放内容:

1、压力测试概要

测试环境:

测试时间:

服务端配置:

客户端配置:

测试工具:JMeter

2、测试说明

(1)名词定义(时间单位ms)

Sample:本次测试场景共运行多少线程;

Average:平均响应时间; 

Median:统计意义上的响应时间中值;

90% line:所有线程中90%的线程响应时间都小于xx的值;

Min:响应最小时间;

Max:响应最大时间;

Error:出错率;

Throughput -吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5 Kb/sec -以Kilobytes/seond来衡量的吞吐量

(2)安装JMeter,描述测试数据,例如:

分别对以上页面进行压力测试分别测试10,50,100,500,1000个线程,来模拟这么多用户并发访问系统,每个用户循环访问一次

3,测试结果分析(列出表格,主要是聚合报告各数据对比)

4、给出典型聚合报告

(聚合报告名词解释如上2、(1)所述)

5、给出典型图形结果

(名词解释:

样本数目是总共发送到服务器的请求数。最新样本是代表时间的数字,是服务器响应最后一个请求的时间。吞吐量是服务器每分钟处理的请求数。平均值是总运行时间除以发送到服务器的请求数。中间值是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。偏离表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

6、根据以上结果分析,给出总结,得出结论,说明调优点

实战案例

JMeter做压力测试教程及结果分析_jakarta-jmeter压力测试-CSDN博客

补充:

阶梯式加压

https://www.cnblogs.com/imyalost/p/7658816.html

  • 25
    点赞
  • 176
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: JMeter是一款用于进行压力测试的工具。要使用JMeter进行压力测试,首先需要配置JMeter的环境。可以通过打开JMeter的bin目录,双击jmeter.bat来运行JMeter。成功运行后,会出现一个cmd黑窗口和JMeter的应用界面。如果在cmd中出现报错信息"Not able to find java executable or version.please check your installation",一般是由于JDK和JMeter的环境配置问题导致的,可以尝试重新配置一次。[1] 在进行压力测试时,需要了解一些关键指标。其中一些常用的指标包括: 1. Label:请求对应的名称值。 2. Samples:总的发出请求数(线程数乘以循环次数)。 3. Average:请求的平均响应时间。 4. Median:样本请求的中位数。 5. 90% Line:90%的样本请求时间没有超过这个值。 6. 95% Line:95%的样本请求时间没有超过这个值。 7. 99% Line:99%的样本请求时间没有超过这个值。 8. Min:所有请求中最小的响应时间。 9. Max:所有请求中最大的响应时间。 10. Error %:本次测试中报错请求所占的百分比。 11. Throughput:吞吐量,表示每秒完成的请求数。 12. Received KB/sec:每秒收到的千字节吞吐量。 13. Sent KB/sec:每秒发送的千字节吞吐量。[2] 在使用JMeter进行压力测试时,还需要配置JDBC(数据库连接)驱动。可以通过添加一个JDBC Connection Configuration来配置连接池。在线程组中右键点击"添加",然后选择"JDBC Connection Configuration"。在配置中,需要设置连接池的名称、数据库URL、驱动器名称、用户名和密码等信息。然后可以添加一个JDBC Request来执行数据库相关的操作。[3] 总结来说,JMeter是一款功能强大的压力测试工具,可以通过配置环境、了解关键指标和配置数据库连接来进行压力测试
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值