本空间文章,除特殊说明外,均为原创!

奥运订票网站瘫痪 开发商技术能力遭质疑

上一篇 / 下一篇  2007-12-05 17:38:04

原文:http://tech.it168.com/i/2007-11-05/200711051858734.shtml

【IT168技术分析评论】
    摘要:大规模并发访问网站如何架构?11月5日,北京奥组委票务中心公布新的北京奥运会门票第二阶段销售政策。即采用给定一段时间提交订单,然后采用一次性抽签的方式决定购票人资格。这实际上是改变需求来化解了这一技术问题。

    10月30日,北京奥运会门票面向境内公众第二阶段预售正式启动。上午9:00点一开始,不到半小时,网站系统便宣告瘫痪。访问者看到,官方票务网站当天上午开始,都只是显示“系统繁忙,请稍后再访问.不便之处敬请原谅.”的提示信息。 
   

    当天官方网站发布了如下的致歉消息,“上午9时至10时,官方票务网站的浏览量达到了800万次,每秒钟从网上提交的门票申请超过20万张,票务呼叫中心热线从9时至10时的呼入量超过了380万人次。由于瞬间访问数量过大,技术系统应对不畅,造成很多申购者无法及时提交申请,为此北京奥组委票务中心对广大公众未能及时、便捷地实现奥运门票预订表示歉意。” 
   
   
    而此前,组织者声称已经对第二阶段的售票做了充分准备,“为了应对在30日可能出现的奥运门票订票高峰,北京奥运票务中心容军表示,三种购买渠道连接同一售票数据库,在优先权上没有区分。票务系统已经做了多次压力测试,票务系统每小时将能处理3万张门票的销售,以及承担每小时100万次以上的网上浏览量,应该说可以确保承受启动时期的一个压力。

引发国内技术社区广泛讨论 开发商技术能力遭到质疑

    据记者了解,北京歌华特玛捷票务有限公司(由美国Ticketmaster公司、中体产业集团股份有限公司和北京歌华文化发展集团三家企业组成)是北京奥组委指定北京2008年奥运会票务服务独家供应商,作为票务服务独家供应商,该公司将为北京奥组委提供奥运会和残奥会门票销售技术系统平台、北京奥组委票务网站、票务呼叫中心和场馆现场售票运营、客户服务等在内的票务服务。

    事故发生后,北京歌华特玛捷票务有限副经理杨力对新京报记者透露,此次票务官网的流量容量是每小时100万次,但承受了每小时800万次的流量压力,所以系统在启动不久就出现了处理能力不足的问题。

    杨力说,从昨天上午8点左右开始,就有不少网民登录票务官网排队等待申购门票。据他了解,从上午9点正式开始售票到中午12点,3个小时内,票务网站被浏览次数达到2000万次。这与他们此次所提供的100万次/小时流量相差甚远。

    “不停地刷新网页,也是造成网络拥堵的原因之一。”杨力说,不少网民在无法正常登录后便不断刷新,“这就相当于一名申购者变成了若干名申购者了,无形中增大到了网站流量。从技术角度讲,网站的流量几乎成几何倍增长,导致其他申购者无法登录”。

  此外,在票务技术系统上,票务官网、中国银行指定代售网点以及呼叫中心(即订票热线)用的都是一个售票系统平台,该系统会自动确认订单并按先后顺序进行处理。由于昨天申购的人数庞大,加上网民不停地刷新页面,最终造成奥运门票无法正常销售。

    对此,奥运票务中心有关人员却有不同的说法。奥运票务系统瘫痪,错不在“先到先得”政策,还是当时系统设计有问题,没有考虑到如此高的需求。其实,比现在再高的瞬时流量,只要投入足够的资金和人力,系统设计合理,也可以满足。记者就800万次的访问压力询问一些资深网站架构师,他们表示,从技术上说,每小时800万次的访问压力是完全可以做到的。

    票务中心有关人员称,主要还是系统后台的数据库的处理能力,在设计、规划方面,还有待于改进。但这个问题要在5天内解决,也有一定难度,目前正在集中攻关。他还透露,如果技术上一时无法解决,就要考虑对“先到先得”政策有所调整。 

    引发技术社区关注和讨论
    瘫痪事件很快引发了技术人员对于软件性能和测试技术的关注。随后几天,关于类似于奥运订票网站等大规模并发访问的网站架构、开发、压力测试等相关技术,在国内各大技术社区引起网友广泛讨论。

    来自于技术社区的网友普遍表达了对于高考查分,日语考试报名、奥运订票等公共服务网站经常出现大规模瘫痪表示不满,对这些网站的技术开发团队的技术能力和实力表示质疑,甚至有网友留言,“请开发和架构奥运订票网站的技术人员站出来说话,面对大家在技术上的疑问,回答一些问题。”

    网友mydeman在其Blog上留言表示,“暂且不说这个会造成多大的影响,就是作为一个真正的设计开发者本身,也应该为这个事件而汗颜。作为开发人员,看到自己开发的系统稳定运行、得到客户认可,是莫大的幸福。这个事件所带给我们技术人员不仅仅是茶余饭后的谈资,而应该是关于设计、测试等技术问题的思考。”

   还有网友认为,信息领域的豆腐渣工程,远比建筑领域要多。奥运订票网站是中国人的脸面,不管出现什么杨的技术问题,技术服务提供商都应该有充分的估计。

   对于一个软件项目,基本是在质量、进度、成本三者做平衡,但是风险也是不能忽略的。这个项目绝对低估了上线后的风险。更是低估了这个项目的重要性和与意义。

    大部分网友都认同,这是一个规划不周到的项目,无论是规划、还是风险都没有解决好。

   奥运订票网站性能,压力究竟有多大
    根据官方网站公布的数据,技术社区的网友zeeslo对网站性能进行了粗略地计算: 
     官方票务网站浏览量平均为:2200次/秒以上。
    从网上提交的门票申请:200000张/秒以上。
    先来看首页的浏览量,这里,我们可以看到
   http://www.tickets.beijing2008.cn/zh-cn_static_home.html
    打开这个页面加载的字节数为:170.216KB。
    2200次/秒,也即:374475.2KB/s,约为365.6984375M。
    
    也就是说这个站点每秒钟处理浏览产生的流量就大概是366M。而从打开首页,一直到确认订票如果不重复操作的话,应该是10步。在这之前产生的流量要更大。我们可以这样来理解,一秒钟有2200个用户打开首页。这个是并发的用户数。按比较密集的概率来计划,大概有15000-22000个用户在不同的位置打开这一链接。这一比例应该比较高了。
 
    用22000个/秒用户来计算,如果用性能测试工具来做性能测试,按每台机器1G内存来计算,其他配置均不会成为瓶颈,如果一个虚拟用户用600K内存,每台机器拿400M内在来运行用户,也需要近40台机器来实现压力。如果脚本比较复杂。
注:每台机器跑600用户,这是在性能测试中,算比较高的使用率了。

每个虚拟用户占用的内存数 需要的机器数
600K 37台
1024K 55台 
    以上只是从完全没有时间间隔的方式来运行迭代的方式来计算的。而以上分析只是停留在浏览首页的阶段。如果再加上其他的订票步骤,估计数据量会更大,需要的机器更多。zeeslo用loadrunner 8.1加10个用户,大略的跑了一下首页,看到结果中network time的时间比较长,这是在情理之中的,毕竟,zeeslo的带宽也不是很大,还要经过一些路由。
server time比较短,平均在0.048秒,标准方差为0.02(这个结果是跑了三次得到的平均值)。

   zeeslo在文章中写道:“ 当然,这时肯定也有其他人上线来浏览,而我只是从我这个客户端来判断的。其他的客户要看他们的网络质量了。另外,每秒钟从网上提交的门票申请超过20万张,这些数据显然没有成功处理完。因为前面说截至上午11时,各个销售渠道共售出门票约9000张。这个网站采用的策略是:先到先得。也就是大家一块抢。申请肯定会很多。但是,售出的只有9000张。可见很多数据还没能处理就瘫痪了。这里的20万不知道包括哪些请求。估计只能开发商明白了。 ”

    通过大致测算,zeeslo认为在正常情况下,奥运网站的性能还是挺好的。主要问题是对需求估计严重不足,当然性能也无法达到要求。 


TAG: 高性能网站 架构技术

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-01-28  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 603
  • 日志数: 7
  • 商品数: 1
  • 建立时间: 2007-11-28
  • 更新时间: 2008-01-06

RSS订阅

Open Toolbar