上云时代业务压测的重要性,你知道多少?

本文涉及的产品
性能测试 PTS,5000VUM额度
应用实时监控服务-应用监控,每月50GB免费额度
简介: 摘要:在2018云栖大会上海峰会中,来自阿里巴巴的中间件产品专家丁杰为现场的听众带来了题为《上云时代业务压测和诊断最佳实践》的精彩分享。在本次分享中,他重点介绍了压测的重要性,PTS的特性,ARMS如何打造上云时代的全栈监控以及ARMS的三大优势等。

摘要:在2018云栖大会上海峰会中,来自阿里巴巴的中间件产品专家丁杰为现场的听众带来了题为《上云时代业务压测和诊断最佳实践》的精彩分享。在本次分享中,他重点介绍了压测的重要性,PTS的特性,ARMS如何打造上云时代的全栈监控以及ARMS的三大优势等。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧
直播视频请点击
PPT下载请点击
以下内容根据现场分享整理而成。

压测的重要性

从品牌方面来说,一个业务或者说一个APP,或多或少的每年有定期不定期的一个主要的业务活动,或者说有一个固定的大促,或者是一些体育赛事的转播权。可能现在也有一些独家买断,像腾讯。在这种情况下,往往用户也是带着非常高的期望来参与这样的活动。但是往往这个活动中,一方面客户是带有高期望,另一方面企业做了大量的投入,或者跟一些巨头合作,有许多流量。在这种情况下,如果由于高迸发带来整个系统的crush,那么不仅这个业务失败了,很多人还会把这种愤怒转嫁到整个品牌上来。
从体验方面来说,作为一款电商类的产品,如果说它的付款或者下单非常慢,不知道有没有买成功的时候,用户就不会喜欢这款APP。
从成本方面来说,以阿里为例,如何将CPU不停的提高是主要研究的问题。最近几年通过非常精准的业务模型,比如说是红包为主的业务模型,或者代金券为主的业务模型,它对后端不同业务系统的冲击是不一样的。如果有一个准确的流量模型去应对对应的服务,就能调整出一个最好的配比,把机器用在刀刃上。
以上就是我们总结压测带来的三个非常重要的点。

对压测及诊断工具的诉求

基于这三个核心的价值,在现在这个时代,如果我们想要做压测,它需要具备哪些核心的诉求点?或者说如何满足这样的诉求?
第一,投入产出比,我们需要它像云计算一样开箱即用,用了之后就走,而不是找专业人士现场搭建环境。这样就可以降低维护成本,包括里面的人力投入。第二,我们越来越发现许多的中小企业是没有专门的性能测试岗位的。在这样的情况下,需要一种产品通俗易懂非常简单,只要是开发出身,或者说懂得一个hppt协议,你就能完成这样一个场景的设计。第三,关于真实性的问题。以阿里为例,整个的流量是从全国的骨干运营商发起的,去真实的模拟用户流量传输过来,然后能从端到端之间去识别全部业务中每一个业务节点上的瓶颈所在。这带来的一个好处是,当业务场景足够多时,同时配套流量足够多时,它的压测不仅是用来识别问题,而是带来业务的一次预见。第四,当压测遇到问题的时候,我们最终是希望去解决掉这个问题。压测是一种手段,解决才是目的。最后需要一个全栈的监控,希望它能覆盖比如基础的,中间件的以及整个上层业务的一个监控,这就是四个诉求点所在。

PTS

基于这四个诉求点,阿里围绕的一个产品体系里面会涉及到两个产品形成价值的闭环。一个是PTS,这个是阿里2005年的一个全仿真的业务压测产品。

_1

上图为这个产品主要的框架结构。也就是说,无论你的业务是否在阿里云上,哪怕是其他产品的公有云,或者专有云只有在公网上暴露了IP,我们都可以使用这个产品。在这个基础上使用这个产品,这是一个可以独立输出的产品,通过控制之后,我们从全国各地发起流量。流量发起之后,不管你是Http还是PTS,我们都有对应的云端工具,能够帮你截取相应产品的流量,快速导购到产品里面,再进行产品的编排,去完成场景的构建。

PTS的特性

对于产品的安排,我们主要有三个:全、快、稳。
如今我们已经降低了压测的门槛,那么也就意味着很多工作是由产品带来的,比如说整个产品的构造一定要提供大量的常见的系统函数,包括一些手机号、身份证号的构造,通过简单的复制粘贴就能完成这样的一个设置。整个压测涉及到的流量,包括模拟的各种端全部都由整个产品来提供。
PTS也许在全球启动速度和实时调速上是最快的,整个调速可以在秒级进行。包括整个启动压测都可以控制在三十秒范围之内。这个是国内没有哪个竞争对手可以做到的。第三个是稳,PTS,特别是铂金版的PTS,是阿里沉淀了五年的全电路压测平台衍生而来的底座。整个全电路平台在阿里内部是服务了全生态包括阿里、钉钉、友盟这样的业务五年以上的这样一个稳定的平台。

ARMS

ARMS这款产品是阿里云官方的APM产品,其领域主要覆盖了基础监控、应用监控、浏览器监控以及业务的自定监控。产品的宗旨是打造互联网上云时代的全栈的监控体系。

_2

通常来讲,监控领域是按照监控对象的不同划分成四层。最底层是系统层,也叫做资源层。监控的对象主要为操作系统的占用资源,比如CPU、内存、IO等。向上是应用和链路层,监控的对象主要为应用的KPI的指标。这些指标包含应用的请求量、响应时长、错误数、异常堆栈分析以及慢SQL这些指标。这些指标在压测的场景下对于定位诊断尤为重要。最顶层是业务层,通过ARM的自定义监控可以实时监控业务的指标。比如某一个电商网站的销售额及订单量。

分钟级问题发现与诊断

如何通过ARMS进行问题的诊断
最初开发的系统,应用和应用之间的调用关系还是比较简单的。随着业务的不断发展,业务的不断壮大,系统的架构也会变得越来越复杂,运维的成本也会越来越高。对于这类问题,使用ARMS就可以得到一个很好的解决。

_3

通过智能端采集到的数据,自动生成应用件的调用拓扑以及依赖关系还有应用的KPI指标,将异常的指标直接展示到拓扑图上面,让问题的发现变得更加的简单。通过应用概览,全局分析的图,可以实时的看到应用的KPI指标波峰波谷异常的趋势。通过进一步应用详情的分析,最终找到异常调用的堆栈。ARMS整套系统的流程可以大大降低。通过对平时工作中问题的排查以及定位的成本,提升企业级运维的效率。

ARMS三大优势

ARMS具有哪些优势呢?
第一,零成本的接入
传统的监控的产品对于业务的代码或多或少的都具有一定的侵入性。ARMS通过非侵入性的这种字节码增强的方式技术让业务可以做到零感知,能够快速的接入到ARMS当中来。
第二,链路采样
还原每一次可疑的调用,并且采样率可以支持动态的调整,秒级的生效。
第三,价格为同类竞品的10%
ARMS会提供按量付费,资源包付费等多种付费模式来满足多样化的需求。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
存储 弹性计算 运维
【云栖号案例 | 教育与科研机构】得到APP上云 全链路压测让业务爆发更稳着陆
罗辑思维采用阿里双11备战核武器 - 全链路压测规划系统容量,不到三个月进行约七百次的单链路压测、十六轮完整形态全链路压测,吞吐量提升百倍。
【云栖号案例 | 教育与科研机构】得到APP上云 全链路压测让业务爆发更稳着陆
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
113 3
|
2月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
105 2
|
3月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
126 1
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
129 0
|
3月前
|
消息中间件 Java 测试技术
Python性能测试全攻略:JMeter与Locust,双剑合璧斩断性能瓶颈🗡️
【8月更文挑战第4天】在软件开发中,性能至关重要。对Python开发者来说,掌握高效性能测试方法尤为关键。本文将带您探索性能测试工具JMeter与Locust的强大功能。JMeter作为Java世界的巨擘,以其强大功能和灵活性在性能测试领域占有一席之地,不仅适用于Java应用,也能测试Python Web服务。
113 0
|
8天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
24 3
|
6天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
19 1
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
59 4