专访淘宝系统分析师蒋江伟:工程师请有承担的勇气

原创
开发 前端
蒋江伟先生在本次专访中反复强调“承担”二字。做优化,就要有做的勇气,有承担错误和压力的勇气,只有这样做才有继续做下去的勇气,才能把优化做到最好。请记住“承担”二字。

【51CTO独家特稿】现在各种网站对着用户和流量规模的逐年成倍增长,前台系统承受的压力也随之翻倍增加。如何缓解这种压力呢?目前有两种方法。***种方法,增加前台系统服务器的数量,在初期,通过不断增加服务器数量进行扩容,确实可以缓解这种压力。但是当服务器数量达到一定数量、一定规模之后,成本就成了一个很大的问题,于是就要启动第二种方法——优化,性能优化。

优化,大家都在说优化,现在各种系统都要优化,何时着手优化?优化时,需要注意什么?会不会对系统稳定性有影响?带着这一系列的问题,51CTO的记者在2011年QCon大会上,采访了淘宝网资深系统分析师蒋江伟先生。

[[21519]] 

51CTO:Java查询系统的性能优化瓶颈是否有什么预兆或特征,如何找到瓶颈所在?

蒋江伟:其实找瓶颈并没有想象中那么难。

首先可以大块大块的找,利用一些工具可以很快的帮工程师找到大的瓶颈在哪里,比如:瓶颈是由CPU导致的或是一些I/O导致的。

其次,对具体的细节,可能要运用到工程师的经验,当然也有一些工具可以帮助查找。淘宝有一些自己的小工具,利用这些小工具可以分析出每个Java类消耗CPU的时间,未来我们可能还会做一些内存方面的分析。

但是大部分还是要依靠工程师的经验,由每个工程师自己来判断小的瓶颈在哪里。工具大部分是给新人用的,可以帮助他们快速找到。

51CTO:找到瓶颈,做优化。做优化,需要注意什么

蒋江伟:这里讲讲我们的经验吧。淘宝网可以说是一个不能出问题的网站。在外界看来,淘宝出了问题了,影响了别人的正常交易、买卖,恐怕会有很多人说:No。那么,淘宝还要不要优化?答案是肯定的,淘宝必须优化。优化之后,出了问题要怎么办?所以,我们做优化最需要注意的是:需要胆量。优化必须要做,所以要有承担结果的勇气,要有放手一搏的胆量。即使中途出错啦,我们要承认自己的错误。

但是,大家都不想出错,如何避免出错呢?很重要的一方面的人员的素质,除此之外,还需要一些系统的工作。我们推荐优化的时候,要一点一点的优化。但是当遇到必须大规模优化时,比如对框架的优化,除了要做好Beta测试之外,还要做好回滚。一旦出了问题,马上进行回滚。其实优化不是什么深奥的事物,只要有胆量去做,基本就不会有什么问题。

51CTO:优化是否对稳定性有影响?

蒋江伟:优化与稳定性关系不是很大。甚至可以说优化对系统的稳定性还有好处。单机的容量越高,处理事务的能力就越好。当然优化还能会导致系统稳定性出现一些问题,出了问题怎么办?回滚。优化肯定有风险,但是好处远远大于坏处。所以要有勇气,勇敢做下去。

51CTO:如何增强网站的持久稳定性

蒋江伟:去年,有人说淘宝的稳定性一定要做,但是要怎么做?答:监控。除了监控呢?答:代码的容错能力和系统的容错能力一定要加强。经过我们研究,稳定性是有一些规律的。可以用“稳定性”这么一个大系统来保障淘宝系统的稳定性。去年针对稳定性,我们做了三件事:

***件,容量。我们对所有系统的容量做了预估,只有了解了自己系统的容量,才能在高峰时做出最及时的应对措施。

第二件,依赖性。淘宝的每位工程师要大概了解自己负责的系统的依赖关系,做出系统性的依赖关系。

第三件,了解整个系统。运行时系统的一个监控,数据,包括操作系统,中间界得,硬件的,还有一些业务上的,都要透明出来。

我们产品技术部的稳定性做到不可用的时间控制在140分钟内。全年事故导致的不可用只有24分钟。

51CTO:您能对工程师说些什么吗?

蒋江伟:我就说两个字:承担。只有勇于承担,才能让人有勇气,有承担自己的错误的勇气。有承担错误的勇气,就有去做事得勇气。无论做什么事,只要是对的,就要去做,勇敢去做。出了错误,承担错误,改正错误,这样的人没有人会去责怪。

#p#

编者语

蒋江伟先生在本次专访中反复强调“承担”二字。做优化,就要有做的勇气,有承担错误和压力的勇气,只有这样做才有继续做下去的勇气,才能把优化做到***。请记住“承担”二字。

【编辑推荐】

  1. 海量数据存储之新存储设备性能优化
  2. 精益求精 jQuery代码的分析与优化
  3. 开发者,没事儿别优化!
责任编辑:艾婧 来源: 51CTO
相关推荐

2015-08-17 09:46:45

大数据

2011-01-04 11:48:04

系统分析师

2010-02-24 15:21:28

系统分析师教程

2009-01-11 20:34:58

2009系统分析师大纲

2011-01-19 10:29:08

2010-12-24 10:50:43

系统架构设计师

2011-01-25 10:27:15

系统分析师

2009-04-10 13:35:38

吴亮《JavaScript

2010-05-22 22:31:00

2010年上半年软下午系统分析师

2010-12-16 10:42:56

系统分析师

2010-12-09 10:21:23

2010-05-22 22:30:00

2010年上半年软上午系统分析师

2010-12-22 11:04:49

系统分析师

2010-12-17 10:53:52

系统分析师

2009-05-23 19:10:00

2009年上半年软考试软考系统分析师

2010-12-20 10:57:15

系统分析师

2010-12-07 10:36:53

系统分析师

2010-12-14 10:51:53

系统分析师

2009-05-23 19:05:00

2009年上半年软考试软考系统分析师

2010-12-21 10:57:26

系统分析师
点赞
收藏

51CTO技术栈公众号