消息队列和应用工具产品体系-PTS 压测报告解读

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测链路 OpenTelemetry 版,每月50GB免费额度
简介: 消息队列和应用工具产品体系-PTS 压测报告解读

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:消息队列和应用工具产品体系-PTS 压测报告解读

课程地址:https://edu.aliyun.com/course/3112075/lesson/19048


消息队列和应用工具产品体系-PTS 压测报告解读

 

内容简介:

一、 PST 压测报告场景概览

二、 串联链路业务详情和异常情况

三、 采样日志

四、 压测中的监控系统集成

 

一、PST 压测报告场景概览

1. PTS 压测结束后,系统会自动获取压测过程中的数据

例如:压测场景指标、业务详情数据、监控详情数据和 API 采样日志等;根据这些数据形成压测报告,供使用者查看和导出。

2. 压测报告的概览页显示了整个压测场景的相关业务指标,压测场
景的相关业务指标说明如下:
image.png

(1) 图标一是数据信息区域
展示了压测场景的五个最主要的指标,其中包括请求的成功率和业务的成功率、所有 API 的平均 RT ,也就是平均业务响应时间、请求的平均 TPS 和峰值 TPS 、请求的异常数和业务异常数、 PTS 发起的总请求数这五个指标。

(2) 图标二是施压信息和配置信息区域
当鼠标悬停在施压信息或配置信息上,就会显示当前压测场景的压力分布和压力来源等信息。

(3) 图标三为趋势图
此区域显示了此压测场景中重要指标的关系图和趋势图,包括请求成功率、业务成功率、与 RT 之间的关系和趋势等。

(4) 图标四为业务指标
分别展示了整个场景下各个串联链路和 API 的压测情况和主要业务指标。
其中包括串联链路、API 名称、起始最大 RPS 、总请求、平均 TPS 、请求成功率、业务成功率、平均响应时间等参数,以上就是压测界面概览页的主要内容,需要注意的是,PTS 控制台的压测报告数据只保留30天,超过30天后的采样数据将无法查看,为了避免数据的丢失,请使用者及时将压测报告导出并保存至本地。

 

二、串联链路业务详情和异常情况

压测报告的明细页签,显示了全场景视图和串联链路中单个 API 的业务详情,包括请求视图、并发数和响应时间等趋势图。
若压测货中有异常产生,则会在异常信息页签中展示全场景中,所有的异常信息和有异常的 API 的信息。
image.png


异常信息页签包含如下内容:

1.全场景错误信息,此表格展示了压测场景中出现的错误码、错误码占比、失败数等信息,错误码占比从高到低排列,最多显示三种占比最高的错误码,其余错误码统一归类为 others 。
每种错误码都可以展开查看其具体出现的 API 名称、失败数等信息。单击表格中的 API 名称,可以跳转至明细页签,查看具体的 API 请求视图、响应时间视图等信息。单击表格中的错误码或失败数,可以查看此错误状态的相关采样日志。

2. API 信息,此表格展示了错误场景中所有 API 和相关指标,包括各 API 的请求成功率、失败数、平均 RT 等信息。使用者可以根据自己的需求,在展示指标下拉列表中选择要查看的指标。单机指标中的 API 名称即可跳转至明细页签,查看具体的 API 请求视图、响应时间视图等信息。
单击表格中的失败数,则可以查看对应 API 失败请求的采样日志。时间标签显示的压测的开始时间和结束时间,滑动时间指标的指针可以选择 API 信息统计的时间段。

 

三、采样日志

image.png

1. PTS 在压测过程中,会按照压测流量1%的频率对请求进行采样,
并对这1%的采样请求记录完整的请求信息。压测采样日志主要由压测 API 的请求详情、响应详情和请求核心生命周期的耗时信息三部分组成。使用者可以在压测执行时或者压测报告中随时查看压测采样日志,通过压测采样日志快速定位问题。

2. 需要注意的是,压测日志在 PTS 控制台中只保留30天。因此,使用者也要及时的查看和备份采样日志。在压测采样日志的使用之前,一般会先针对采样日志做筛选和搜索。在选择了一个具体的压测 API 之后,即可根据异常状态、业务状态、响应状态码、什么时间范围、 RT 范围等筛选属性,对采样日志进行筛选。在筛选结果中找到需要阅读的目标日志,点击查看详情即可进入日志详情界面。在日志详情界面中,可以通过切换不同的页签来查看日志的具体信息。其中, General 页签显示了日志的总览信息,以及 request handler request the body response handler response body 等信息。

3. Timing 瀑布流页签则展示了该请求在核心生命周期中的耗时情况。
其中包括一执行 DNS 查询所需要的时间,二建立连接所需要的时间,三发出网络请求所需要的时间,四等待初次响应所需要的时间,此时间将捕获到服务器往返的延迟时间,以及等待服务器传输响应所用的时间,五接收响应数据所用的时间,六复用连接所用的时间作用的时间,需要注意的是,采样日志中的 Timing 仅统计了请求在核心生命周期中的耗时情况,已方便开发者定位问题,并未覆盖所有请求阶段的耗时,如果使用者在压测时添加了云监控或架构监控,在压测过程中或压测报告中就可以查看各项监控指标,以便使用者时刻观察现场负载情况,进行业务合理性判断及异常分析,帮助使用者发现系统性瓶颈。

 

四、压测中的监控系统集成

image.png

1. 在压测报告页面中单击监控详情页签,即可通过选择云基础设施业务分组,按需查看各项具体监控信息。其中最主要的三类基础设施为 ECS 、 RDS 和 SLB 。

(1) 在 ECS 云服务器监控详细页,可以查看整个压测过程中,各个 ECS 的 CPU 使用率、内存使用率、各网卡网络流入速率、磁盘读写速度和 log5。

(2) 在 RDS 云存储监控详情页,可以查看整个压测时间内各 RDS 的连接数使用率、 CPU 使用率、磁盘使用率、 IOPS 和内存使用率。

(3) 在 SLB 监控详情页,可以查看整个压测过程中,各 SLB 的端口新建连接数、端口丢弃连接术、端口流出带宽、端口流入带宽和 QPS 等数据。

2.如果开发者添加了架构监控,则可以在压测报告中选择架构监控页签,在架构监测页签中也可以查看 WAF web 应用防火墙、 DDOS 或弹性公用 IP 的详细信息。
PTS 除了在压测过程中提供了监控数据,也在报告中整合了压测数据,以便在压测结束后复盘压测过程中时,比对业务数据与负载数据的使用,帮助使用者快速定位负载情况、系统是否异常等信息。
监控报告中的明细数据展现了在压测前配置的监控对象数据与压测中的展现形式一致,报告中的数据趋势图区间为整个压测区间。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
3月前
|
消息中间件 测试技术 RocketMQ
消息队列 MQ产品使用合集之在异步发送消息函数sendMessage()中出现了错误,错误代码为-3,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件 监控 Oracle
消息队列 MQ产品使用合集之启动Namesrv节点时,遇到报错,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件 Java RocketMQ
消息队列 MQ产品使用合集之当SpringBoot应用因网络不通而启动失败时,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
运维 Serverless 测试技术
函数计算产品使用问题之如何进行压测
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
1月前
|
监控 Java 测试技术
🔥Python性能测试大揭秘!JMeter与Locust如何让你的应用跑出新速度🚀
【8月更文挑战第4天】在软件开发中,性能测试确保应用稳定高效。JMeter与Locust是两大性能测试利器。JMeter源自Apache,基于Java,支持多协议测试,提供丰富测试场景与直观结果展示。Locust专为Python打造,采用Python脚本定义测试场景,支持分布式测试与实时监控。选择时考虑应用语言与团队技能。正确的测试策略结合合适工具,助您的应用性能更上一层楼。🚀
43 1
|
3月前
|
负载均衡 Java 测试技术
性能测试与负载均衡:保证Java应用的稳定性
性能测试与负载均衡:保证Java应用的稳定性
|
3月前
|
消息中间件 存储 Java
Java中的消息队列应用与性能优化
Java中的消息队列应用与性能优化
|
3月前
|
消息中间件 网络协议 JavaScript
消息队列 MQ产品使用合集之报错提示是"the internal error!",是什么原因导致的”
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件 监控 Java
在Java应用中实现微服务间的消息队列通信
在Java应用中实现微服务间的消息队列通信
|
2月前
|
消息中间件 存储 Java
Java中的消息队列应用与性能优化
Java中的消息队列应用与性能优化

相关产品

  • 性能测试