《性能测试PTS3.0 可观测加持的下一代性能压测服务.pdf》由会员分享,可在线阅读,更多相关《性能测试PTS3.0 可观测加持的下一代性能压测服务.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、性能测试PTS3.0可观测加持的下一代性能压测服务肖长军阿里云技术专家性能测试不只有发压,还存在以下问题1.压测影响的范围难以评估2.压测数据相关指标割裂3.压测不满足预期难分析4.压测后系统容量难评估当前性能测试常面临的问题数据构造压测指标中间件监控数据库监控应用监控性能分析发起压测场景配置系统监控容量分析异常分析容器监控压测影响评估性能压测可观测,从压测到数据分析压测链路可观测精准快速构建压测链路拓扑压测前全局了解压测影响范围性能瓶颈可观测聚合压测请求各指标和链路事件实现链路剖析,给出性能问题原因性能指标可观测打通压测链路所涉及到的监控指标自动生成压测及各实例水位大盘系统容量可观测打通压测
2、性能指标与各服务实例资源水位梯度压测验证及评估整体容量PTS 3.0:可观测加持的下一代性能压测服务压测准备ARMS-应用列表压测配置性能基线管理脚本调试ARMS-数据库调用ARMS-接口调用Prometheus-容器Prometheus-IaaSARMS-链路拓扑压测执行压测引擎打标ARMS-调用链压测引擎日志采集Streaming 统一处理压测 Grafana 大盘压测报告ARMS-调用链分析ARMS-智能洞察性能基线对比施压机监控大盘容量评估验证全景快照请求采样日志压测引擎:PTS、JMeter数据开放:Prometheus、Grafana、Logs生成式 AI云原生大模型业务上云压测场
3、景微服务、中间件性能测试网关性能测试大促活动数据库性能测试规格选型常态化压测容器性能测试压测可观测化Observable Performance Testing压测智能化Intelligent Performance Testing全面拥抱开源Embrace open sourcePTS 3.0:下一代性能测试服务平台特性接入简单,无需额外配置应用接入 ARMS 后,进行压测脚本调试即可建立链路关系拓扑图;链路拓扑范围边界清晰准确只显示压测任务请求链路所涉及的应用或服务;链路拓扑组件自动识别包含应用以及所调用的中间件或者云服务;压测链路可视化,提前感知压测范围*截图数据来自模拟数据,仅做功能效
4、果示意业务总量大盘,对核心业务指标监控,包含场景请求量、业务转换率等应用监控大盘,覆盖请求链路所涉及的应用监控指标概览,以应用为维度包含各应用实例数、请求数、错误数、RT 等指标ECS 实例监控大盘,包含各实例 CPU、内存使用率,网络带宽等指标接入层 SLB 大盘,包含 VIP、实例数,连接数、丢包数等指标容器服务监控大盘,覆盖 APIServer、Node、Pod 等核心实例组件监控,覆盖 QPS、成功率、Pod 数,资源使用率等指标压测性能大盘,包含压测 TPS、RT、成功率、异常请求数、总请求数、90/95/99 RT 等数据库实例监控大盘,包含实例 CPU、内存、连接数、TPS 等指
5、标压测数据大盘,链路各项指标全监控*截图数据来自模拟数据,仅做功能效果示意性能瓶颈可观测,快速定位问题根因在性能测试过程中,点击智能洞察,查看异常事件进入异常事件详情,查看异常次数、范围和异常堆栈信息进入调用链详情,查看异常分析报告。分析报告中指出:异常时刻连接池最大使用率为100.00%(最大活跃连接数/最大可用连接数)。直接给出性能瓶颈点:建议调大连接池配置。*截图数据来自模拟数据,仅做功能效果示意在资源未成为瓶颈时,并发量、TPS、CPU趋势呈线性关系。当资源利用饱和时,随业务并发量增长,TPS趋势保持平稳状态,CPU开始飙升 当资源利用饱和且并发量突破极限容量点时,TPS趋势及CPU都
6、出现波动,此时服务开始出现不可用的现象自动识别链路组件,推荐较优资源水位阈值逐步加压,到达资源阈值,计算预期流量所需资源实例数继续加压,达到资源极限,计算在此资源实例数下支持的最大并发量系统容量可观测,自动化容量规划与验证*截图数据来自模拟数据,仅做功能效果示意创建压测任务生成式AI请输入您的问题请选择需要压测的应用或提供需要压测的URLmall-product-server1.mall-product-server2.mall-gateway3.mall-user-server 请选择需要压测的接口/components/api/v1/mall/product 1./components/a
7、pi/v1/mall/product 压测创建成功,默认 500 最大并发,压测 总时长 10 分钟,预估消耗5000VUM性能测试分析指令知识库大语言模型网关Pilot 服务LLM 服务插件服务POP服务接口场景服务接口.WidgetIDE/.生成式AI 架构LLM:支持生成式AI,降低压测门槛执行压测任务创建压测任务,完成脚本调试,执行压测查看动态图表洞察应用瓶颈针对性能瓶颈,调用问题定位,发现瓶颈根因解读评估报告执行优化建议从全链路视角,观测应用系统整体性能状态利用大模型对压测报告进行深入分析和解读利用大模型对发现的问题给出优化建议邀测中LLM:支持生成式AI,降低压测门槛邀测中全面支持
8、原生开源 JMeter上传 JMeter 脚本即可开始压测,兼容适配5.x版本自动补全依赖的 jar 包插件上传脚本自动解析补齐依赖的jar包插件,支持近百种插件减少用户配置成本,提升压测成功率便捷的瀑布流式场景配置从上到下顺滑配置场景,基础配置项和可选高阶配置项一目了然减少用户配置理解负担,降低压测场景配置难度提供完善的压测分析报告压测结束自动生成报告,复用性能测试平台压测大盘,提供性能分析结果开源:托管 JMeter 生态,发挥压测最大价值开放:赋能云服务,选择适合的实例规格FC 函数计算函数性能探测获取单实例性能上限,降低并发度配置难度推荐实例规格,降低函数计算使用成本ARMS 云拨测性
9、能测试融合云拨测,测试系统负载下的用户使用体验MSE 微服务引擎 支持Dubbo3.x等服务性能测试,发现服务性能问题支持云原生网关性能测试,获取网关性能上限ECS 弹性计算通过性能测试,选择合适规格全球地域22最大并发百万级最大TPS千万级支持实时发起全球大规模压测*已售卖真实产品功能参数我们的客户猿辅导的常态化压测实践李帅猿辅导 DevOps 负责人Contents目录01问题背景02解决方案03未来规划问题背景01业务特点产品涉及多个领域,业务场景多样 教育科技、新消费、数字出版、企业服务业务大促活动多 辅导续报、数字出版物大促、秒杀活动等 每年至少 8次 以上大型活动保障新产品孵化多,
10、业务变化快 新业务上线、微服务合并、链路重构等 近一年新增 2000+服务 日常变更频繁看云控股旗下产品GRID COFFEESKYPEOPLE茉莉智慧链路压测的痛点一次高质量压测的完整流程仿真度评估链路梳理资源交付压测数据熔断规则压测前业务研发QA运维中台研发DBA压测报表报表分析资源回收问题跟进压测后压测执行压测观察动态调速压测中可维护性差不同业务线压测工具不统一,同时存在 PTS、Jmeter、Gatling 等 压测流程没有平台化,不具备可复用性观察质量不高链路服务梳理容易,但服务依赖存储资源等梳理困难建大盘费劲且 Metrics 指标过多观察不过来生命周期长 压测前、中、后要做大量工
11、作;自动化率低,存在大量人肉工作人力消耗巨大 参与角色多、人数多,经常半夜压,精力不可持续 没有无人值守压测能力 跨部门协作效率低主要痛点带来的问题稳定性风险核心链路只在大促前压测日常变更后没有定期压测新服务上线只做有限的压测链路压测是稳定性保障中举足轻重的手段之一,却因为单次压测的综合成本太高,导致执行不到位。让压测具备高频化的条件是发挥压测的最大价值的前提常态化压测的必要条件生命周期短高度自动化可复用度高参与角色少压测成本低风险可控高度自主化高效协同资源复用弹性伸缩熔断能力染色能力业界的压测工具已能满足绝大多数压测场景针对压测工具本身的能力建设 ROI 已很低更大瓶颈在于完整的生命流程建设
12、解决方案01整体架构压测前压测中资源梳理自定义编排生命周期一次编排永久复用,无人值守高度自动化,模块化设计,可插拔,满足个性化场景抽象各角色的工作团队间高度解耦综合成本低,放心压内置自动化能力用户自定义能力资源交付数据准备数据准备压测工具标识检查监控大盘熔断能力异常分析数据报表报警收集自定义异步任务自定义通用任务阿里云PTS流程编排任务管理压测引擎原子能力核心模块生命周期设计原则压测后外部能力协同管理压测工具的统一稳定可靠压测高频化之后无法接受由于压测服务本身带来的效率问题综合成本低人力建设成本、压测资源成本高频化压测之后,带来的增量成本功能丰富,满足所有业务场景内网压、外网压,并支持海外压测
13、压测流量真实、复杂场景的流量编排RPC、HTTP、图片上传等场景要保证持续性投入无法接受迁移成本业务压测场景迁移成本常态化压测平台的适配成本压测平台操作流程链路梳理创建压测场景压测流程编排创建压测任务任务 Task 执行本次压测涉及哪些服务、资源绑定链路资源及PTS 场景编排该压测场景包含哪些 Task按照流程模板创建压测任务及Task 列表按照生命周期依次执行 Task 列表一次性工作手动/自动资源梳理资源梳理的完整度是压测观察质量、团队解耦的重要前提。PTS场景跟压测资源的关联,是集成的关键。PTS 场景链路管理压测场景11服务1存储等N1N资源梳理元数据流程编排模块化、可插拔内置标准编排
14、模板,可自定义删减内置模块用于提效自定义异步任务,解决个性化场景可为业务定制开发提效类的模块一次编排,永久复用可多人协作编排编排成功后,可一直创建等效的压测任务流程编排任务管理单次任务 临时的、一次性的压测场景比如新服务上线、链路重构、大促活动等 创建计划任务类型前的手动测试定期任务 核心链路的常态化压测场景 定期生成单次压测任务 无人值守的压测能力压测引擎压测前确保每一次压测都是预期内且流程完备 准备到位 检查到位 通知到位跟运维团队解耦 资源的自动化交付压测引擎压测中熔断能力 内部报警规则 PTS 端指标更少的人参与压测值守 自动化创建的关键 Metrics 的 Top 排名大盘 压测端指标的实时展示压测引擎压测后资源自动回收Pod 缩容宿主机缩容多次压测,多次报表压测端报表服务端报表存储端报异常分析报警分析关键 Metric Top 异常分析压测端成功率、延迟异常分析未来展望集成更多的压测能力,满足更多的压测场景,比如 RPC 接口、图片上传、直播等场景开放压测报表的数据,为弹性伸缩、容量基线提供数据支撑等THANKS