网站如此脆弱之三大病因详解
本文从架构设计、压力测试等角度介绍了一些增强系统健壮性和可靠性的方法和实例,希望能引起网站设计者对突发大量访问的重视。
编者按
10月30日9∶00,北京奥运会门票面向境内公众销售第二阶段正式启动不久,访问量就远远超过了售票系统的承受能力,而不得不暂停售票。
其实,不论是奥运门票订购系统,还是证券交易系统,抑或高考查分系统,他们的一个共同特点是,当万千民众热情地迎上前去的时候,它却步履蹒跚。
脆弱是不少网站的共同特点。其原因也很简单,那就是登录的人太多。解决的办法似乎很多,却不是每个网站设计者都能注意到的。
本期专题从架构设计、压力测试等角度介绍了一些增强系统健壮性和可靠性的方法和实例,希望能引起网站设计者对突发大量访问的重视。

查询人数太多,对公务员考试查分网站是一个挑战。
10月31日,北京奥运票务中心主任容军宣读了“向广大境内公众购票人的致歉信”。这是奥运会筹备以来,奥组委官方首次公开宣读的致歉信。
大量访问本是受到欢迎的标志,高兴还来不及,却无奈网站能力不足。其实,不能承受大量访问的何止是奥运会订票网站,公务员考试报名网站及高考查分网站等都曾经因为访问太多而崩溃。为何网站都这么脆弱?
病因一:需求分析不准
处方:全面准确的潜在用户调研与分析,特别是加强对一些特殊时间点的分析,是需求分析成功的关键。
在听说网站因大量访问而崩溃时,不少人的第一反应是,难道当时设计网站时,没有想到有这么多人访问吗?其实,这说的是网站需求分析。对一些特殊时刻网站访问需求没有准确、全面的分析,是很多企业网站一遭遇突发大量访问就崩溃的第一个病因。
能承受多大的访问量,属于网站的性能需求。性能需求衡量的是系统应当运作得如何快速、如何可靠。在性能需求分析不准确的情况下,突发的大量访问很可能远远超过系统的承受量。在北京奥运会第二阶段票务预售情况新闻发布会上,容军介绍说,在基于国外售票的情况,尤其是考虑我国的国情基础上,规划的售票网页的承受量是每小时100万次以上,中国银行的售票网点、票务呼叫中心和官方票务网站三个售票渠道共同能够处理的售票能力是每小时15万张。
实践证明,这个需求分析过于保守。在10月30日9∶00,北京奥运会门票面向境内公众销售第二阶段正式启动,不久,系统访问流量猛增。容军介绍,票务网站流量瞬时达到每小时800万次,超过了系统设计每小时100万次的承受量;启动后第一小时从各售票渠道瞬时提交到票务系统的门票达到20万张,也超过了系统设计每小时销售15万张的票务处理能力,从而出现网络拥堵,售票速度慢或暂时不能登录系统的情况,直接造成公众通过三个售票渠道都无法及时提交购票申请。
性能需求应如何做才能准确,应该如何估算实际高峰时期的访问量?北京大学教授王立福认为,与功能需求相比,性能需求往往没有受到重视。其实,性能需求影响着系统运作如何快速、如何可靠等方面。性能需求常常可以分为几个子类,如速度、容量、可靠性、可用性等。
按照需求分析的理论,需求信息的来源是与系统开发有利益关系的人,这样的人常常被称为风险承担者。他们不仅仅包括系统的所有者,还包括系统的预期用户。王立福认为,对于一个大型网站来说,性能方面的需求获取难点在于难以界定其用户的概念,对用户上网使用的行为规律和时间规律难以有准确地把握。
所以,在确定网站的最高访问峰值时,一些网站负责人往往是按照已有的经验做一个估计,或者是看看其他类似网站的情况,这是典型的经验主义做法。另一些网站则仅仅依赖于少数人拍板或部门决策。一位企业网站负责人可能毫无根据地说:“我们公司网站对可靠性有着极高的要求,要每小时能承受10万次的访问量,每小时处理2万份订单。”其实,科学的做法应该是对网站用户的访问时间、访问路径等有一个详细的调研。对于一些关键的时间点,比如考试分数等重要信息发布的时间、订票等重要网上活动启动的时间,要对网站潜在用户做专门调查。通过调查,需求分析人员才可以对潜在用户在这个关键时间点访问的比例有一个相对准确的估计,再根据比例和用户规模确定访问量。
其实,与奥运票务系统相比,有些网站可能根本就没有做需求分析,或是只有一个不合格的需求分析。一位公司网站负责人说:“我们要提高公司网站的可靠性,要尽可能地满足更多人的访问。”这可能是一个合理的需求,却不是一个合格的需求。一个合格的需求分析是要能够被测试的。能用某些准确的数字来表达的需求,才是一个可以被测试的需求。
- 本文关键词:

