性能魔方:大规模企业该如何应对应用性能挑战

在7月7日的云栖TechDay活动上,来自性能魔方的朱渝苏给大家分享了《大规模企业应用性能管理实践》话题。朱渝苏从应用性能的挑战和应对策略、大型互联网公司的优化实践、性能魔方优化实践与案例三个部分展开了本次分享。分享最后,他对现场观众所提出的问题也做出了精彩的回答。

下面是现场分享观点整理。



很高兴来到云栖小镇,我是来自性能魔方的朱渝苏,之前在帝联、百度有工作过。今天分享的议题是《大规模企业应用性能管理实践》。

 今天的内容分三部分,第一部分是应用性能的挑战和应对策略,第二部分是分享我们在百度的优化实践,第三部分主要介绍性能魔方产品的优化实践与成功案例。

应用性能的挑战和应对策略

性能问题无处不在、时时发生,互联网企业从业人员、资源环境、产品逻辑、用户行为等因素都有可能导致性能问题的发生,比如服务器硬件老化、云环境不稳定、产品和产品逻辑复杂、用户秒杀、大规模推广等都会造成网页无法访问或访问速度减慢,用户体验随之大打折扣。另外,中国的基础网络,在全球来说是较复杂的,南北互通,各个运营商之间多地格局。在PC端比如浏览器效果差、环境干扰,在移动端比如移动网络3G、4G网络信号不好,都会造成性能问题。

我们来看下国际一线互联网公司的应对策略。谷歌、雅虎、Facebook、Twitter等是性能优化管理方法论的先驱,并成立了独立的优化团队,将性能优化做到极致。在2007年左右,中国的一些互联网公司也关注和加大这块的投入,比如腾讯在2007年左右开始投入大规模的用户体验,百度和阿里在2010年左右也建立了应用性能管理体系。随着互联网的不断发展,2015年左右新浪、美团等都进行了性能优化实践,基本提速20%到50%左右。

那么优化实践是如何开始的呢?互联网产品由PM进行产品设计, 研发RD的同学对产品开发,然后QA同学测试,再由OP同学上线系统,与此同时系统部SYS的同事对一些基础网络、硬件环境进行维护。运维同学的工作职责是将QA测试交付后的代码最大限度进行优化,然后部署到线上系统,整合出一个大家能够稳定和高效使用的互联网产品。

运维推动优化具有很大优势,当需要做一个优化项目的时候,FE会提供JS测速,系统同学会做IDC和CDN的建设和优化,开发同学会针对影响性能的模块、接口进行专题分析和改进。OP同学作为最核心和最主要的驱动力量,除了会对整个产品负责,对产品应用性能做监测,生成监测报告以外,还需搭建一个监测平台,提供与竞品的分析、速度优化,提出这个评测报告。让FE、SC、RD的同学,都能够参与到性能优化的项目里面。

 

下面讲运维体系是如何体现性能的。op有很多平台,CT统一调度平台、统一流量接入平台和安全防范平台以及用户体验的真机监测平台等。这张PPT主要讲运维的相关工作,配置管理、资源管理、发布管理、容量管理和监控管理。细节上分为系统规划、IDC硬件、预算,管理上分为事件管理、问题管理、成本和需求。可以从运维体系看出处处体现性能,需要的就是在速度、架构、成本去优化。

要想做一个apm——应用性能管理平台,需要做哪些方面?在移动端mobile端、浏览器端都要进行监测,更底层的监测比如网络端、系统端、APP、log。只有具有整个全流程监测,才能有一个很好的应用性能管理体系去发现和监测问题。

一般的监测,比如mobile的移动监测,移动监测分很多种,有移动端到端的监测、移动SDK嵌代码到APP里面应用的监测、移动server端的JS监测和移动WEB的监测,同样WEB监测也会分为这些种类。总体来说监测分两种,主动监测和被动监测。被动监测基本上是在应用里面嵌入一些代码,然后在用户访问的时候,直接对用户的行为、时间进行一些记录,然后把这些速度指标进行收集;而主动监测是一个真实的主动的用户访问的过程。一般的做法是,以开发一款产品为例,需要真实模拟用户的去访问、调用浏览器和手机上的应用,然后真实产生一些数据,这些用户源是通过招募的,分布在全国各地,这样就能最真实的去反馈产品在所有用户下的体验。

下面可以看到一个监测平台的架构过程,比如端到端的监测、服务端的监测,这里所有监测的信息,都要进行接入。接入以后就会有数据聚合、数据过滤、数据去噪、数据关联,到最后产生相应的监测数据,同时也会产生数据报表等一些相关信息,这样可供所有技术人员衡量产品性能如何。

这是分析平台的后端处理,分析平台是经过一步步优化的,最先开始产品可能都会用MYSQL去存数据,大一点的数据可能会用一些分布式文件系统,但是这会存在一些问题,比如随着数据量的增长,MYSQL就会有一定瓶颈,此时大数据平台就应运而生的加入到了系统的后台里面。

数据源一般包括Plugin,server,端对端的监测数据。这里面,主要是在存储端用MYSQL,MYSQL主要存一些比如任务、关系型的数据。当然大量的海量数据基本上是存在HBase或者openTSDB的存储系统里面,同时这些也会将数据进行一些去噪、分析,然后产生时间级分钟级,小时级、日级、天级的数据,这时候就会调用大量离线计算的模块,比如Spark,mapreduce进行离线计算,在线计算主要是通过storm处理。

监测只是一个手段,目的是希望能进行优化,从优化的角度来说我们一般分四块,首先是从网络端的优化,网络端优化分为IDC优化,ISP优化、CDN的优化和BGP的优化,还包括DNS的优化。

系统优化可以分为系统层面的,比如压缩、缓存优化、传输优化,包括网卡的优化,多个网卡做Bang的,一些硬件的优化。

前端主要是优化首屏时间和优化内容,首屏时间比如可以用异步加载,html的优化,在CSS,JS可以用压缩合并和混小,图片优化可以进行无损压缩。

后端优化主要是产品逻辑。尽量让产品逻辑变成简单,可依赖,而不是变成多复杂的,可以优化算法,优化程序,这块主要是开发人员进行优化的一个方向。

大型互联网公司的优化实践 

用户访问质量平台,一般分为六个子产品,比如PC监测和移动监测,这里的性能优化是即时监测,即时监测是一个实时性的过程,能够在第一时间调用全国所有的真实用户去访问产品,输入PC移动的站点地址,一键式分析站点的问题、瓶颈,并快速提供优化建议,同时可以看到细节分析。即时监测相当于一次性的体检,是互联网产品上线前的监测,如果是长期的过程,需考虑用持续监测,持续监测主要是能够监测整个产品的生命周期,元素的趋势视图,通过持续监测可以看出页面中各元素大小、数量的变化趋势,及时发现网页变化,对网页所产生的影响和快速定位性能下降的原因。 

接下来是图片优化,能够提供有损无损的在线和离线海量图片优化服务,实现一键式的全网图片打包。图片好比像是人体中的水分,图片的优化就可以减轻产品的体重,相当于把产品进行减肥瘦身,很多产品线也会接入使用图片优化的功能。一般优化后的图片会减少25%左右,一方面减小体积使用户的访问速度增快,另一方面它就可以使带宽减少,成本也会降低,所以它是一个双赢的过程。

速度准入是对于产品上线前来说的,因为每次发布新版本,都会有很大的改动,都会造成用户体验的下降,有可能会造成访问延时。速度准入能够即刻从全国抽样数百名真实用户的网络,在浏览器完成请求,将速度、瓶颈、优化建议可视化的展现。

之前讲了优化,优化是发现问题,同时要产生告警,这样不用每天查看报表,而这时候也有了质量报警,通过报警去监测问题发生。生产环境的产品因素、系统网络、内容发布、版本更新、各种原因都会造成速度变慢,需要及时告警,针对速度、元素大小、趋势、网络抖动进行监测并建立分析模型。

性能魔方产品的优化实践与成功案例

之前讲了应用性能挑战和大型互联网公司的优化实践案例,下面讲我们现阶段性能魔方产品的优化实践和案例。 

性能优化是手段,最终目的是希望能够提升用户体验,所以性能魔方产品分为三块,能够提供一站式云加速应用性能管理体系,包括云评测、云监测和云加速这三个方向。就好比是去医院的一次体检的问诊疗的过程。

云评测相当于一次性的体检,它能够全面了解应用产品性能的服务,多视图、全方位分析产品在不同地理位置、网络、设备、浏览器下的性能瓶颈,并自动提供行之有效的优化建议。云监测主要是能够监测整个产品的生命周期,它是一个端到端的立体,用户访问、而用户网络、物理及云环境操作系统,应用下载性能监测,它能够让技术人员以系统、网络甚至代码层的角度去监测自己的产品,分析自己产品的应用的性能。 

其实云评测、云监测就相当于去医院看病,去询问又去诊断,如果出了问题,以前我们的做法是提供一些优化建议给出优化报告,最终实施是开发人员或者技术人员,这是不够的,最终是要解决问题,于是我们研发出了一款产品叫做云加速,集合了多年的性能优化的经验。云加速包括图片加速、网络加速、全站加速和移动加速,其中网络加速也就是相当于CDN静态资源的加速。

全站加速是比较核心的,能最终解决问题,全站加速主要分为两块,最开始它是将站点的资源进行重构、动静态剥离、动态进行多点接入、路由优化;在静态这块会做css压缩合并,JS合并、图片优化处理,最终把它上到CDN平台上,通过一系列的优化手段,可以速度达到很好的优化效果,网站基本上都能提速大概50%左右。 

mmtrix性能魔方产品未来想要做的一个方向是云存储、云安全、云计算和大数据。谢谢大家!

精彩问答

主持人:

感谢朱总的分享,肯定大家有很多问题想跟朱总进行进一步交流,现场有问题的大家可以直接举手提问,就对刚才朱总分享当中有疑问的或者有不同的观点现场进行交流。 

提问:

朱总您好,我是一个设计师。我想知道经过性能魔方加速过之后的图片,文件的大小是在降低,但是它这个图片的清晰度大概能降低多少?或者是说跟原图,对比起来有什么太大的差别?

朱总:

我们的图片优化其实分为两种,一种是有损的一种是无损的。我们优化比较保守,基本上是保持它不会失真。一般情况下,页面中的图片资源主要包括四种格式:gif、png等。性能魔方云加速会判断浏览器最适合的格式及压缩比例来进行优化,同时也为移动设备和PC设备提供了两种不同的压缩比例。优化后的图片会在性能魔方云加速系统中保留缓存,并将图片url改写,使之可以通过CDN访问。

提问:

你是指一键加速吗?一键加速完成的图片在保证不失真的情况之下,还能同时的保证图片的文件的大小在降低?

朱总:

对。其实如果有合作的话是可以提供接口,因为是失真和不失真是相对的,有的其实可以失真,比如说图片变小了在PC上失真,但在可以在手机上访问是不失真的。

提问:

淘宝天猫的钻展图,它首先有固定的规格尺寸,又保证图片的降低,当然我们在没有性能魔方平台之前,我们一直是采用的国外的png、jpg的图片。非常感谢朱总提供这样好的平台,谢谢。

 

 

时间: 2024-10-06 23:22:36

性能魔方:大规模企业该如何应对应用性能挑战的相关文章

多“云”时代 中国企业将如何应对

本文讲的是多"云"时代 中国企业将如何应对,[IT168 资讯]"云"是个大家熟悉的名词,但当它与"计算"相结合,它的含义就演变的泛泛而且虚无飘渺.但是不可否认的是,云计算早已是IT业界的热点和趋势,被称为"革命性的计算模式". 何谓云计算? 云计算如此受追捧,那么它究竟是什么?有人说云计算就是基于互联网的计算,有人说云计算就是网格计算,也有人说云计算就是实现"软件即服务",也有人说云计算就是建云中心.做镜

企业该如何应对云计算中安全问题

其实就技术而言,云计算中采用的安全技术与其他计算领域中的并没有什么太多完全不同的地方,只不过是在应对互联网这个环境时采用的具体技术和策略不同而已.本文通过对比同为互联网应用的网银应用和更广泛的云计算应用,探讨为何现在用户对采用云计算服务持谨慎态度.之后,通过实际应用案例,给出一种可以借鉴的模式,帮助消除人们对云计算服务安全方面的担心. 任何基于互联网的应用都存在安全问题,比如说我们每个人在日常生活中不可避免要使用到的网银,同样也是云计算的一种应用形式,只是在网银出现并被广泛使用的时候,"云计算&

应对大数据挑战 企业需共享式服务模型

本文讲的是应对大数据挑战 企业需共享式服务模型,大数据来袭!当企业准备把自己的MapReduce应用从实验环境迁移到生产环境时,共享式服务模型将为这种迁移提供许多重要功能,并加快迁移步伐. 大数据是当今科技行业发展速度最快的领域之一.大数据具有前所未有的大量化.快速化和多样化三大特点,这些是许多新技术背后的驱动力,这些技术可帮助企业处理大数据带来的多种新问题. 在诸多的新兴解决方案中,Hadoop和MapReduce被视为是两种大有希望的方法,可高效管理和分析大数据.但目前针对MapReduce

Tech.Ed2013:企业如何轻松应对BYOD?

本文讲的是 :  Tech.Ed2013:企业如何轻松应对BYOD?  ,[IT168资讯]12月6日消息,作为IT业界的顶尖技术年度盛会,TechEd 2013微软技术大会于12月5日-6日在北京国家会议中心举行.大会预计有162名国内外技术专家登台演讲,140余场讲座.50余场动手实验室,以及数千位微软专业技术人员.合作伙伴.行业权威.专业人士共同打造国内顶级技术分享盛宴. 今年是TechEd进入中国的第20个年头,也是微软Cloud OS云操作系统及云计算平台突飞猛进的一年.会议期间,微软

电信企业如何应对移动互联网挑战

9月11日消息,在2012年中国互联网大会上,http://www.aliyun.com/zixun/aggregation/2272.html">三大运营商高管共论"电信企业如何应对移动互联网挑战". 本圆桌论坛由人民邮电报社总编辑武锁宁主持,嘉宾包括中国电信集团公司创新业务事业部总经理肖金学.中国移动集团公司数据部总经理刘昕.中国联通宽带在线有限公司总经理何华杰. 人民邮电报社总编辑武锁宁 中国电信集团公司创新业务事业部总经理肖金学 中国移动集团公司数据部总经理刘昕

Hadoop的虚拟化之恋:应对大数据挑战

文章讲的是Hadoop的虚拟化之恋:应对大数据挑战,高速增长的数据量和日益增加的竞争压力,让越来越多的企业开始思考如何挖掘这些数据的价值.传统的BI系统.数据仓库和数据库系统都不能很好地处理这些数据.原因包括: 1.数据量太大,传统数据库不能有效存储并维持可以接受的性能; 2.新产生的数据往往是非结构化的,而传统方式都是为处理结构化数据而设计的; 3.传统数据处理所需的硬件往往相对昂贵,随着数据量增加而继续用传统方式处理的成本让很多企业不能承受.为此,倍受互联网界推崇的Apache Hadoop

企业软件定义数据中心SDDC的挑战

[天极网服务器频道6月20日消息]目前企业迅速走向虚拟化环境,加快软件定义数据中心SDDC的部署,以便更好地服务于企业的业务需求和IT部门.SDDC的一个优点是,其可以消除或绕过传统硬件的限制,最终使IT部门更有效.其赋予了IT专业人员控制和实时相应问题,并最终跨越技术孤岛问题的灵活性.以一个软件定义的方式来集中管理IT可以帮助减轻工作量,减少开支,并允许IT专业人员更好地管理其分散和虚拟化环境,从而更好地控制数据中心. 尽管软件定义数据中心的方法是有效地管理虚拟化环境的答案,但服务器.存储和网

企业与谁一起面对云安全挑战?

云计算作为一项新型IT服务模式已经改变了IT消费形态.对小微企业来说,当企业主想开始一项新业务时,往往希望通过灵活可扩展的方式进行管 理.相对于把产品推向市场.投资研发以及保障资金流而言,成立IT部门显得并没有那么重要.由于小微企业自身内部没有IT基础设施,因此大多选择公有云服 务提供商来供应IT服务,从而成为了公有云服务应用的先锋.对于小微企业的IT管理者来说,公有云服务的安全性看起来是可以接受的,甚至比他们内部的IT 安全做的更好. 但公有云中模糊的信任边界,使云安全成为了大型企业CIO应用

高速增长的同时,微博还要应对三个挑战

对微博来说,2015年收成不错.年报显示,去年微博月活跃用户净增6000万,比2014年4700万的净增幅又有所加快,移动端日活跃用户占比89%,在社交产品中仅略低于Facebook.商业化方面,全年收入4.779亿美元.利润6880万美元,对投资人也可以有个交待.这一年微博日活跃用户和单季广告收入均破亿,也算得上里程碑式的事件. 然而,中国移动互联网用户规模已趋于"见顶",失去人口红利的移动应用将开始零和竞争.要和众多竞争对手争夺用户时间,今年微博至少还要应对三个挑战. "