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

摘要:在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会提供按量付费,资源包付费等多种付费模式来满足多样化的需求。

你可能感兴趣的:(上云时代业务压测的重要性,你知道多少?)