51Testing软件测试论坛

标题: 从奥运订票网站的瘫痪漫谈性能测试-Zee [打印本页]

作者: Zee    时间: 2007-10-30 16:27
标题: 从奥运订票网站的瘫痪漫谈性能测试-Zee
转载请注明,出自:http://blog.csdn.net/zeeslo


声明:这里只是拿奥运订票网站的瘫痪做一个引子。并无其他商业目的。


性能测试如何对性能的保证


我们知道性能测试是对整个架构来说的。
而架构包括两个方面,即:软件和硬件。
硬件又包括很多内容,列举如:主板、硬盘、内存、CPU、路由器、交换机、防火墙等等。
软件也包括很多方面,列举如:OS、application server、application、database、middleware,etc。
做性能测试,这些方面都是要考虑到的。才能对整体有很好的把握。性能测试做的才最有实质意义(此实质意义从技术角度来说)。
奥运订票网站的瘫痪,显然是大数据量的提交造成的。我们不用怀疑它功能上的实现。如果功能不能实现肯定不会上线的了。在上线之前他们肯定也是做了性能测试的。我们也不用怀疑他们的性能测试的有效性。
提交用户的多少对性能的影响并不是二元一次的直线方程上升的。
我想在这一性能测试的过程中,任何一个环节的疏忽都有可能引起此结果。

第一,性能测试工程师的素质,必须严格要求。

所以我们在做性能测试的过程中,一定要充分把握这些环节。同时引入另一个问题:谁能把握得了这么多环节?纵然一个拥有十几年工作经验的人来说,也不能保证在性能测试中可以把握每一个具体的细节。更何况人的知识体系都是有限的。所以,在做性能测试时,我们尽量把每个问题都细化。然后找相关的技术人员,即使做性能测试的人,对网络、数据库等都非常了解。也尽量把大家召到一起,共商性能问题。这样可以减少一些一个人容易疏忽的问题。经常听到有些公司让一些没有很长时间工作经验的人去做性能测试,还有些初学者去做。这些都无非是做做幌子给客户看看,说明我们公司有这样的职位存在。但是他们的作用何在?如何体现出来?怎么衡量?这是个很重要的问题。这些应该属于性能测试度量范畴。
我为这种形同虚设的职位感觉很不值。同时也为某些公司对性能测试这一职位的态度,很痛心。如果希望在这一职位的人把这一职责做好,就应该去找有相应技能的人。而不应该把它当成拿给客户看的幌子。
当然,这里还要肯定一些性能测试工程师存在的不容忽视的价值。为一些项目的潜在问题做出了很重要的性能测试,从而避免了庞大的损失。
我必须强调,性能测试工程师的技术深度,对性能测试的效果起着非常非常重要的作用。

第二,团队的重要性也不容忽视。

在社会中生存无疑要接触人,在一个项目中,我们也在接触着自己的同事。团队的氛围我觉得可以直接影响工作的效率和效果。针对一些公司中开发和测试扯皮的事实,我觉得完全没有必要。从目标上来说,一个团队的目标只有一个:做出最好的产品。但是,存在责任推卸的最大问题,我觉得在于:岗位职责不明确。这一问题导致很多性能测试人员,感觉自己一直在打杂。可能很多其他测试人员也有此感觉。这一点,可能是由于测试行业是近几年才飞速发展起来的原因。其实这是一个应该切忌浮躁的行业。技术行业,应该是踏实而沉稳的。并不像一些广告中吹嘘的那么高深和前途无量。接着说团队,职责划分明确是非常重要的。接着还有计划的合理性,很多公司的计划都存在着严重的问题。有时是因为项目时间不够,
有时是因为工作量的判断不足,等等。有时听人说存在这样的事情:测试人员需要测试当天开发人员写出来的代码。这样的话,上班时间,测试人员,没什么事做。而下班了就一直需要加班。这只是时间的不合理。其他的资源安排不合理的事件,也不一一例举了。
这里强调的是:团队氛围良好、职责明确和资源的合理安排。

第三,软件应用系统的架构。

这一问题直接影响整个系统的性能,如果系统架构先天不良,系统根本用不着测试。这一点在前期的需求中肯定有明确描述。并于这一问题,并不是性能测试人员能够解决的。但是,是性能测试人员必须关注的。一个成熟的架构,是我们应该考虑的。但是性能问题,也有可能出在架构上。做性能测试时需要注意。

其他技术因素不再一一列举,以上是技术角度来说明性能测试。


其他因素对性能测试的影响


第一,   用户需求。

我觉得用户需求对性能测试的影响很大。因为做性能测试就是为了给用户看。有时客户会要求流程应该如何去走。这样的流程可能对客户来说是最好的。功能的实现也丝毫没有问题。但是性能就会完全不一样了。当所有用户都蜂拥而至,我们最应该考虑的是什么?系统不要瘫痪。宁愿慢,也不要瘫痪。但是流程影响着性能,如果按客户所要求的流程达不到客户的性能需求,应该采用其他手段来平衡性能问题的时候,不要犹豫。性能测试工程师们大胆的提出自己的建议。当然,需要足够的论证。

第二,领导们。

我觉得很多时候领导一句话的决策就影响着最终的结局。类似于:大领导拍脑袋,中领导拍胸脯,干活的拍屁股。
也是没有办法呀。我在外做过一个项目,那个项目的领导就很理智。他让我来做性能测试。他会和开发和测试一起商量如果制定策略。如果出了性能问题,责任划分也很明确。立即就改。但是,有些领导的要求也确实无理了点。这样的现象导致下面的测试没有办法做。
这一点是我们没有办法的,只能提建议上去了。

其他外界因素,这里不再描述。

早上听到有人说奥运订票网站瘫痪,从一个技术人员的角度来想,还是比较惊讶的。难道是性能测试没有做好?没有重视性能测试的原因?或者是做了,并没有模拟出实际的那么多用户量的数据量?在我平时做的性能测试中,如果我对某模块做了性能测试,达到了多少用户。我会充分分析性能测试的有效性。从而在写报告的时候,更深入的分析问题。如果奥运订票网站任一环节都在可控的范围内,出现这样的问题,就可以说是纯意外了。
只是我觉得并不是纯意外。

希望做性能测试的人,不要舍本逐末。

如对以上言论有任何异议,请直接留言。
作者: oneinhslcn    时间: 2007-10-30 16:34
沙发..
作者: 423799223    时间: 2007-10-30 16:40
版主文笔真好
呵呵
做讲师不错
作者: Zee    时间: 2007-10-30 16:47
我打算开一副业,做网络写手。
作者: ycxlove11    时间: 2007-10-30 16:59
网络写手,顶!
作者: 阳光_测试    时间: 2007-10-30 17:01
行呀你,这么快就写了这么多!厉害
作者: dbg1314    时间: 2007-10-30 17:30
楼主速度好快哦,最快的新闻线索。
作者: ld_abc    时间: 2007-10-30 17:39
我说今天怎么登陆不了呢,看来还是他们不重视测试啊。
作者: lisilin    时间: 2007-10-30 18:06
顶,说得很有道理,楼主很专业,偶还要多多学习
作者: cuizhihui    时间: 2007-10-31 09:11
版主写的太经典了!   

这两天一直听同事讲奥运门票网站瘫痪了。  

心里其实挺不好受的。  好象似乎跟自己多少有点关联似的。

这么重要的网站瘫了,影响就不用说了。 倒是测试的,不说性能测试

到什么程度,起码没有考虑到这么大的数据量。  

此事值得我们做测试的继续努力啊!  共勉!
作者: snicoler    时间: 2007-10-31 10:58
经常听到有些公司让一些没有很长时间工作经验的人去做性能测试,还有些初学者去做。这些都无非是做做幌子给客户看看,说明我们公司有这样的职位存在。但是他们的作用何在?如何体现出来?怎么衡量?这是个很重要的问题。这些应该属于性能测试度量范畴。

按照这种说法,大部分公司的性能测试工程师都是幌子了!
作者: Zee    时间: 2007-10-31 12:19
当然,并不能否定所有公司了。后面也是肯定了很多性能测试工程师的价值的。

作者: ebuluo    时间: 2007-10-31 14:05
没啥意见,估计是集群方面负载均衡出了问题垮掉的吧……
作者: rulu005    时间: 2007-10-31 14:37
原帖由 xiaomayi0323 于 2007-10-30 23:58 发表
好文章 收藏了
在sohu上看到这条新闻
门票第二阶段预售火爆 票务网站每秒申请过20万
官方票务网站的浏览量在第一小时达到800万次,每秒钟从网上提交的门票申请超过20万张;票务呼叫中心热线从9点到10点的呼入量超 ...



很想知道这种数据量怎么做性能测试
作者: rulu005    时间: 2007-10-31 14:38
不好意思,多点了下,麻烦删掉一个
作者: joetree    时间: 2007-10-31 15:14
这个我看了也立刻想到.....真的好凄惨
不过想想,每秒20万的请求,这个我想还是长时间高压负载,出问题感觉正常,因为这种订票方式就是在拍脑袋...........想要可以承受这样的需求,那就搬银河去吧
作者: happyeveday    时间: 2007-10-31 15:28
我觉得这个要从两方面说,首先是客户那边的需求,他们是否事先想到过每秒有20万的请求,其次是性能测试是否做到位了,事情既然出了再抱怨也解决不了问题啊
作者: joetree    时间: 2007-10-31 15:34
我觉得,肯定没想到怎么大并发,大概只想到50%的并发就不错了..估计过年火车票的系统并发还没到它10%呢
作者: 杀手太冷    时间: 2007-10-31 16:56
真值得大家 思考呀 ~
作者: knighter    时间: 2007-10-31 17:16
前段时间,公司网站遭遇恶意攻击

经理要求做性能测试,问题是测试组的(包括我)都是测试新手……结果不了了之
作者: zhangtao    时间: 2007-10-31 17:37
性能测试重视的程度还是不够啊!
作者: fish_yy    时间: 2007-10-31 18:02
不错的文章!顶!!!!!!
作者: ireneyao    时间: 2007-10-31 19:29
首先,感叹一下LZ的文笔和对新闻的敏感程度
第二,感叹一下他们的服务器,每秒20W的并发,那要多少台机子做集群啊。
最后,感叹一下性能测试工程师的境遇,我现在完全符合LZ说的情况,新手,分工不明,期望过高
末了,鼓励自己一下,继续努力
作者: anglix    时间: 2007-10-31 21:00
写得太好了!

顶顶顶!!!
作者: least    时间: 2007-10-31 21:12
标题: 贊同!
十分認同樓主觀點,並且深有同感!
性能測試啊,要考慮的事情太多,意外因素太多!
作者: kk1014    时间: 2007-11-1 09:08
如何做性能测试,我是新手,还有如何模拟如此多的数据量呢?
作者: xyxykitty    时间: 2007-11-1 09:33
太强了,是我们测试工作的一个黑点哟
作者: xyxykitty    时间: 2007-11-1 09:40
更希望更加重视我们的测试工作!
作者: ginlam    时间: 2007-11-1 09:47
我也在软件测试方面关注奥运门票系统,从中反映出中国软测行业的水平。大有可为,在学习的朋友一起努力吧。
作者: lovesky1981    时间: 2007-11-1 10:03
性能测试是整个测试环境中的重要一环.本人也是做测试的,不过是通讯交换机的测试.前面两年一直是做交换机的功能业务测试,后面这一年多才投入了性能测试.从人员的培养来看,建议是先做功能测试,对系统有了了解和想法后,再去做性能测试.在我们这边做性能测试一般要求有2年左右的功能测试经验

另外性能测试也不能简单的理解为我采用大的数据量,采用高负荷的业务请求...性能测试是一个全面衡量系统架构和瓶颈的过程.更注重数据的分析.
作者: jianglm    时间: 2007-11-1 10:29

作者: zhaoping    时间: 2007-11-1 10:38
标题: 如果用目前比较流行的服务器
常用的数据库,常用的技术,每秒种20W,要多少台机器做集群呢?50台?
作者: Sayid    时间: 2007-11-1 10:39
我看那篇报道后第一反应,网站大数据量的交互访问导致瘫痪的最终结果是前期发开商没有很好的做足市场调研,性能测试没做好的直接原因。

希望通过这次教训能让国内大多数公司或企业都对测试加强关注。
作者: cuowu0531    时间: 2007-11-1 11:22
标题: 楼主说得是
确实有一些公司的测试只是作给客户看的,痛心!
作者: iccer    时间: 2007-11-1 11:43
中国IT的面子,丢了!
作者: wmy0102    时间: 2007-11-1 13:23
性能测试!!!!!
作者: milanwt    时间: 2007-11-1 16:45
用Loadrunner整一下
哪个网站不瘫?
作者: 影子397    时间: 2007-11-1 16:59
,本人也才做功能测试4个月,今年刚毕业的,停喜欢测试的,呵呵,楼主的这篇不错,顶一下
作者: peaksoftchen    时间: 2007-11-1 17:24
原帖由 lovesky1981 于 2007-11-1 10:03 发表
性能测试是整个测试环境中的重要一环.本人也是做测试的,不过是通讯交换机的测试.前面两年一直是做交换机的功能业务测试,后面这一年多才投入了性能测试.从人员的培养来看,建议是先做功能测试,对系统有了了解和想法后, ...


说的不错。

不知道大家是否有人知道日语报名考试的官方网站,每年N多不能报名的,都出了报名攻略了。
报名时候打不开,不停的刷屏。。。。。。
那才多少用户啊。。。
网站性能着实应该重视,就是比不了google那么快,但是也不能太差。
否则丢人是小,简直。。。。
作者: xiaoshancom    时间: 2007-11-1 17:29
本人经历过2004年日语等级考试报名,

当年有熟悉网站采用技术struts+JSP的人,直接用url传递参数进去,成功报名了10个;而其它人仍在傻傻的不停用带有自动刷新功能的浏览器报名.
作者: rxlnancy    时间: 2007-11-1 17:37
这回面子真丢大了,看来测试还是非常重要的
作者: yuxiaoyuan    时间: 2007-11-2 09:30
写的很好,顶一下,谢谢楼主……
作者: 猫妖木夕    时间: 2007-11-2 17:13
可能测试时没有预期到这么高的并发量
作者: zhaoping    时间: 2007-11-2 17:55
标题: 我也觉得不能说是测试人员的问题
因该是:测试需求不明确的问题,以前没有办过,不知道最大并发是多少,应该是产品的问题,没有好好参考一下类似的情况
当然如果测试人员想到这么高的并发量了,如果有人听了,可能就不会这样了
作者: QQHao    时间: 2007-11-5 17:49
个人觉得凡是热爱软件测试的同行,都应该不断提高自己的专业水平!
缩短与国外同行的差距,让我们中国的测试也牛起来,规范起来!
今天发生的事件就是给我们的一个警世钟!!

不是吗?
作者: charmer    时间: 2007-11-6 00:21
是否可以采用集群服务器群组来协同完成这个任务呢?
是否可以考虑采用多组RAID0-1技术来实现数据的安全处理呢?
大家都可以出来讨论讨论下
作者: charmer    时间: 2007-11-6 00:24
让我们一起探索深层次的技术讨论中吧?而不是停留在事情的表面上,甚至说一些无关痛痒的话
作者: fish_yy    时间: 2007-11-6 08:45
强顶!
作者: flyfly310    时间: 2007-11-6 10:01
其实也从一个侧面说明了,我们国家强烈需要性能测试人员
12亿的人口,随便搞个活动基数都很大了,性能测试的前景光明啊
作者: wssgily    时间: 2007-11-6 10:41
是不是前期的需求没有做好啊,这种情况下是很难估计出到底会出现一个什么样的场景的
再者,就是再高的点击量也是能应付的,但是成本花不起啊,呵呵.
这种性能测试很难做好.
作者: chaotiancaitl    时间: 2007-11-7 17:06
听新闻说,他们是按照以前其他国家的数据进行估计作的网站,但实际的点击率好像是预计的八倍。
我觉得他们估计没有看清中国的人数和网民数就是一个错误,而且他们的网站首页挺大的,我觉得太不合适了
作者: 11034    时间: 2007-11-7 17:48
测试人员素质有待提高,基本不扎实,走不远的。
作者: songyongqiang    时间: 2007-11-7 23:04
标题: 回复 1# 的帖子
我觉得应该是压力测试没有充分,性能测试总有挂的可能,关键是,系统挂掉之后能否自动恢复。相反,奥运门票订票系统没有考虑到这方面
作者: liweibo    时间: 2007-11-8 16:17
楼主说的挺好的  可能就是因为现在对测试的不重视导致的。
作者: peach8977    时间: 2007-11-8 16:37
性能测试看似简单其实很难做好,正在学习中.......................................................
作者: csguest    时间: 2007-11-8 21:25
  
顶一下
作者: lilytest    时间: 2007-11-9 10:07
刚做测试几个月,以后想做个好的测试人员,顶
作者: czh84063149    时间: 2007-11-9 16:49
确实,性能测试要求都挺高的,努力吧
作者: ymd    时间: 2007-11-9 23:56
本人做测试不久,做金融方面的测试,呵呵,和大家交流,
帖子不错,顶了。
作者: fengyunshu    时间: 2007-11-10 15:08
up up up!!
作者: songhailin888    时间: 2007-11-10 15:39
LZ写的太好了
作者: 917782861    时间: 2009-8-21 14:31
顶!
作者: Mr.Max    时间: 2011-8-29 22:31
经常听到有些公司让一些没有很长时间工作经验的人去做性能测试,还有些初学者去做。这些都无非是做做幌子给客户看看,说明我们公司有这样的职位存在。但是他们的作用何在?如何体现出来?怎么衡量?这是个很重要的问题。这些应该属于性能测试度量范畴。

======================================
本人目前实习中...公司让我做性能测试...我反正是无所谓喽...




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2