当前位置: 首页 > Linux

经典组合 - PTS + ARMS打造性能和应用诊断利器

时间:2023-04-06 23:59:43 Linux

经典组合|PTS+ARMS打造性能与应用诊断利器,达到降低成本、提升用户体验的目的。然而,当需要进一步定位和分析时,这种类型的性能测试就变得有些捉襟见肘了。本文将介绍PTS+ARMS的经典组合,在性能能力评估、性能瓶颈诊断、应用错误诊断等方面的实用解决方案。性能测试PTS(PerformanceTestingService)脱胎于阿里巴巴全链路压测平台。是一款简单直接的基于云端的性能测试工具,可以帮助用户轻松模拟海量访问的真实业务场景,支持随时启动所需资源,免去建设和维护成本。ARMS(ApplicationReal-TimeMonitoringService)是一款APM全链路(Tracing)监控产品。用户可以基于ARMS前端、应用和自定义监控快速构建实时业务监控能力。适用行业PTS+ARMS组成的经典压测监控解决方案,不仅服务于淘宝、天猫等阿里巴巴集团内部用户,也正在应用于其他众多行业,包括电子商务、互联网金融、游戏、新媒体、政府和大型央企等,支持新版本性能基线测试、大促场景测试、线上容量规划等场景。典型应用场景下的性能和容量评价以某知名在线教育平台为例,用户希望以最小的成本应对正常的选课高峰。同时,在流量高峰的情况下,也不能降低用户体验。根据木桶原理,容量最小的系统,即木桶最短的板,决定站点的容量。用户需要做的是找出短板,调整长短板的机器比例,使系统水位调平。那么即使是相同数量的机器也可以提供更大的业务吞吐量,甚至不需要额外的扩展。通过PTS集成云监控和ARMS监控,不仅可以准确判断特定配置下的系统性能容量瓶颈,还可以定位性能基线的配置短板,如系统性能、数据库瓶颈、代码问题等。能力评估分为以下三个步骤:使用PTS快速搭建高仿真业务压测;使用PTS控制台一站式观察压测发起端(客户端)和服务端(云监控)的端到端全监控,了解高压下的业务表现和各核心系统的性能水平;然后使用ARMS集成快速找到应用瓶颈,列出接口快照,并根据系统性能诊断快照慢的具体耗时原因,例如系统性能,SQL慢,或者其他代码问题。诊断性能瓶颈PTS+ARMS除了调整容量配比,还可以检测识别系统瓶颈,提升站点性能,进一步提升同等机器数下的整体容量水平。以在线教育平台浏览器登录为例,最常见的操作流程是:登录->根据用户属性信息列出可选课程->用户通过查询条件进行精准查询或筛选->选择最终要提交的课程作业。这个过程,作为一个交易,有着严格的顺序。在PTS中,它是一个串行链接。借助PTS对cookies的友好支持,可以通过PTS为整个链路配置相应的压测流量,并借助ARMS进行监控,观察分析性能瓶颈。此外,用户还可以通过PTS找到接口调用性能瓶颈拐点,一键跳转到ARMS,根据具体线程信息在具体代码栈中找到性能瓶颈拐点,优化代码性能和提供代码堆栈级别的证据。性能瓶颈诊断分为以下三个步骤:使用PTS快速搭建压测,一站式观察相关应用的耗时接口调用,找出性能瓶颈;使用ARMS观察对应应用的接口耗时,找到对应的慢接口调用线程进行分析;通过线程分析,找到对应接口的线程快照,分析性能瓶颈。应用错误诊断应用错误诊断是企业级互联网应用正式上线前的另一大场景。虽然此类错误一般不会直接影响调用耗时而造成性能瓶颈,但仍会因业务错误导致用户体验不佳。除了基线性能下的耗时应用,还可能会返回各种调用错误,典型的有:超时错误(timeout):当后端服务未能及时响应时,可能会导致客户端出现超时错误;fuseerror:这类错误主要是由各种熔断组件(如Sentinal)触发,以保护后端应用的性能;其他系统组件引起的错误:如性能过载引起的IOException等。通过PTS+ARMS的经典组合,可以在压力增大时有效发现上述类型的错误。此外,基于PTS的压力侧监控和多维度监控特性,ARMS集成还可以关联到具体的错误异常详情,定位到具体错误抛出的详细代码,从而成倍改善接口错误压测场景诊断效率,错误接口诊断分为以下三个步骤:使用PTS观察压测增加时业务是否出现异常/错误;使用ARMS观察对应应用的整体错误调用来判断问题。打开错误的异常详情,通过异常快照详情,确定root错误的rootcause。可以看出,PTS通过集成ARMS的监控能力,可以将服务端关键性能指标融入到压测的整体监控中,从而达到更快速、更便捷地发现问题的目的,减轻运维负担用户。云服务器99元团购!报名还可赢取现金红包!300万等你来分享!马上开团一键赢红包:http://click.aliyun.com/m/100...本文作者:中间件哥阅读原文本文为云栖社区原创内容,并且未经许可不得转载。