摘要:在2018云栖大会上海峰会中,来自阿里巴巴的中间件产品专家丁杰为现场的听众带来了题为《上云时代业务压测和诊断最佳实践》的精彩分享。在本次分享中,他重点介绍了压测的重要性,PTS的特性,ARMS如何打造上云时代的全栈监控以及ARMS的三大优势等。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧
直播视频请点击
PPT下载请点击
以下内容根据现场分享整理而成。
压测的重要性
从品牌方面来说,一个业务或者说一个APP,或多或少的每年有定期不定期的一个主要的业务活动,或者说有一个固定的大促,或者是一些体育赛事的转播权。可能现在也有一些独家买断,像腾讯。在这种情况下,往往用户也是带着非常高的期望来参与这样的活动。但是往往这个活动中,一方面客户是带有高期望,另一方面企业做了大量的投入,或者跟一些巨头合作,有许多流量。在这种情况下,如果由于高迸发带来整个系统的crush,那么不仅这个业务失败了,很多人还会把这种愤怒转嫁到整个品牌上来。
从体验方面来说,作为一款电商类的产品,如果说它的付款或者下单非常慢,不知道有没有买成功的时候,用户就不会喜欢这款APP。
从成本方面来说,以阿里为例,如何将CPU不停的提高是主要研究的问题。最近几年通过非常精准的业务模型,比如说是红包为主的业务模型,或者代金券为主的业务模型,它对后端不同业务系统的冲击是不一样的。如果有一个准确的流量模型去应对对应的服务,就能调整出一个最好的配比,把机器用在刀刃上。
以上就是我们总结压测带来的三个非常重要的点。
对压测及诊断工具的诉求
基于这三个核心的价值,在现在这个时代,如果我们想要做压测,它需要具备哪些核心的诉求点?或者说如何满足这样的诉求?
第一,投入产出比,我们需要它像云计算一样开箱即用,用了之后就走,而不是找专业人士现场搭建环境。这样就可以降低维护成本,包括里面的人力投入。第二,我们越来越发现许多的中小企业是没有专门的性能测试岗位的。在这样的情况下,需要一种产品通俗易懂非常简单,只要是开发出身,或者说懂得一个hppt协议,你就能完成这样一个场景的设计。第三,关于真实性的问题。以阿里为例,整个的流量是从全国的骨干运营商发起的,去真实的模拟用户流量传输过来,然后能从端到端之间去识别全部业务中每一个业务节点上的瓶颈所在。这带来的一个好处是,当业务场景足够多时,同时配套流量足够多时,它的压测不仅是用来识别问题,而是带来业务的一次预见。第四,当压测遇到问题的时候,我们最终是希望去解决掉这个问题。压测是一种手段,解决才是目的。最后需要一个全栈的监控,希望它能覆盖比如基础的,中间件的以及整个上层业务的一个监控,这就是四个诉求点所在。
PTS
基于这四个诉求点,阿里围绕的一个产品体系里面会涉及到两个产品形成价值的闭环。一个是PTS,这个是阿里2005年的一个全仿真的业务压测产品。
PTS的特性
对于产品的安排,我们主要有三个:全、快、稳。
如今我们已经降低了压测的门槛,那么也就意味着很多工作是由产品带来的,比如说整个产品的构造一定要提供大量的常见的系统函数,包括一些手机号、身份证号的构造,通过简单的复制粘贴就能完成这样的一个设置。整个压测涉及到的流量,包括模拟的各种端全部都由整个产品来提供。
PTS也许在全球启动速度和实时调速上是最快的,整个调速可以在秒级进行。包括整个启动压测都可以控制在三十秒范围之内。这个是国内没有哪个竞争对手可以做到的。第三个是稳,PTS,特别是铂金版的PTS,是阿里沉淀了五年的全电路压测平台衍生而来的底座。整个全电路平台在阿里内部是服务了全生态包括阿里、钉钉、友盟这样的业务五年以上的这样一个稳定的平台。
ARMS
ARMS这款产品是阿里云官方的APM产品,其领域主要覆盖了基础监控、应用监控、浏览器监控以及业务的自定监控。产品的宗旨是打造互联网上云时代的全栈的监控体系。
分钟级问题发现与诊断
如何通过ARMS进行问题的诊断
最初开发的系统,应用和应用之间的调用关系还是比较简单的。随着业务的不断发展,业务的不断壮大,系统的架构也会变得越来越复杂,运维的成本也会越来越高。对于这类问题,使用ARMS就可以得到一个很好的解决。
ARMS三大优势
ARMS具有哪些优势呢?
第一,零成本的接入
传统的监控的产品对于业务的代码或多或少的都具有一定的侵入性。ARMS通过非侵入性的这种字节码增强的方式技术让业务可以做到零感知,能够快速的接入到ARMS当中来。
第二,链路采样
还原每一次可疑的调用,并且采样率可以支持动态的调整,秒级的生效。
第三,价格为同类竞品的10%
ARMS会提供按量付费,资源包付费等多种付费模式来满足多样化的需求。