ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » 内存数据库 » 奥运订票网站瘫痪 开发商技术能力遭质疑

标题: 奥运订票网站瘫痪 开发商技术能力遭质疑
在线/呼叫 liyongdong
版主


精华贴数 5
个人空间 0
技术积分 4762 (282)
社区积分 132 (2962)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-11-6 10:06 
奥运订票网站瘫痪 开发商技术能力遭质疑

规模并发访问网站如何架构?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的时间比较长,这是在情理之中的,毕竟,我这里的带宽也不是很大,还要经过一些路由。
server time比较短,平均在0.048秒,标准方差为0.02(这个结果是我跑了三次得到的平均值)。

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

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

    “先到先得”是需求方提出的需求,而技术人员就应该想到这个需求背后所有的可能性,说这个销售策略有问题,实际上是说用户提出的需求不合理。

    为什么会出现“每秒钟网上提交门票申请超过20万”这种情况?这可以用“销售的系统压力估计不足”来敷衍,但是压力测试的极限是多少?超过这个极限是怎么处理的?没有处理的预案,怎么就敢使用程序?社区当中,质疑开发商技术能力的声音越来越多。

    在社区的讨论中,大部分技术网友认为还是应该提前找到解决方案的。比如可以出一个折中方案:支持到一定程度即可,同时在软件上进行限制。比如连接数到一定程度就进行一定的处理,例如可以提示网站访问人数太多。但是绝对不能压垮,因为网站崩溃这就是事故了。

   “比如你用LoadRunner压一下百度,压一会就不能访问了——不是把网站压得怎么样了,而是百度不让你访问了。”只要做好相关预案,是绝对不会出现崩溃事故的。

    比如,可以限定表单的提交量,即使是“先到先得”也应该有个准备,提交前做个排队系统、发送验证系统等等,都提前控制提交表单量,虽然压力可能会集中在这部分排队验证上,但是一旦通过,表单提交系统的压力会大大减轻,成功率会大大提高,也不会造成票务系统数据库瘫痪,整个网站的压力分布也能分散。没有任何的限制,所有用户开始就可以选票,马上提交,数据库如何能够处理这么集中的压力。

    外,网友从需求分析的设计实现方面,也发现了网站的很多缺点:需要用户访问的不紧急不必要页过多。
    例如,取票网点选择竟然在订单的流程中,明年6月才取票,为什么要早早的就要设置,定上票以后再设不行么?定不上票这些选择这些操作不全是无效操作么!这步操作,这几个页面,20万订单中要浪费多少服务器资源,浪费多少数据库资源,都这么设计网站,访问量这么大,什么服务器什么数据库能承受呀!

    面设计的用户引导方面,也可以有改进的地方。比如:可以在订票前显示票的剩余量,或者直接关闭无票项目申请接口。虽然即时显示票的剩余量不太现实,但是设定个界限告知用户票的存量是可以实现的,这样很多用户预先知道了订票的可能性,就会放弃选择存量小,不太可能成功的项目。象现在这样最后才去查询票的存量,既浪费数据库资源,又给用户带来很大的不便。以我为例,我数次选择不同篮球场次不同价位的票,每次在提交表单最后才能得到无票的结果,每次都要重新选择,反反复复,一个用户如此,20万提交表单的用户呢?这不仅加大了网站负担,用户友好性上做的更是失败。

    目前,高并发的大规模网站架构技术,一直是技术开发领域的热门话题,然而国内能够真正处理好这些技术问题的公司又寥寥无几。随着中国互联网技术的发展,越来越多的网站正面临这些问题,因此,分析奥运订票网站的崩溃,从技术角度而言,有特别重要的意义。

    11月5日,北京奥组委票务中心公布新的北京奥运会门票第二阶段销售政策。即采用给定一段时间提交订单,然后采用一次性抽签的方式决定购票人资格的政策。这实际上是改变需求来化解了这一技术问题。然而,“先来先得,在线抢定”这一需求的技术实现,还会在各大技术社区深入持久地讨论。尽管这是一个失败的技术项目,但希望其他奥运信息化项目能引以为戒。


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
在线/呼叫 liyongdong
版主


精华贴数 5
个人空间 0
技术积分 4762 (282)
社区积分 132 (2962)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-11-6 10:06 
如果开发商采用内存数据库,不会出现这样的情况.


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
在线/呼叫 liyongdong
版主


精华贴数 5
个人空间 0
技术积分 4762 (282)
社区积分 132 (2962)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-11-6 10:08 
http://publish.itpub.net/i/2007-11-05/200711051858734_1.shtml
票务中心有关人员称,主要还是系统后台的数据库的处理能力,在设计、规划方面,还有待于改进。但这个问题要在5天内解决,也有一定难度,目前正在集中攻关。他还透露,如果技术上一时无法解决,就要考虑对“先到先得”政策有所调整。
瘫痪事件很快引发了技术人员对于软件性能和测试技术的关注。


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
离线 xpxia
中级会员



精华贴数 0
个人空间 0
技术积分 1163 (1517)
社区积分 131 (2976)
注册日期 2004-7-14
论坛徽章:9
2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:铁人三项2008北京奥运纪念徽章:射击2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:棒球2008北京奥运纪念徽章:皮划艇激流回旋
2008北京奥运纪念徽章:马术设计板块每日发贴之星ITPUB新首页上线纪念徽章   

发表于 2007-11-6 12:31 
这种情况出现很正常,主要是没有控制流量,任由流量增加造成的


__________________
................................
心有多大,舞台就有多大。
http://space.itpub.net/91282
................................
只看该作者    顶部
离线 twslh
资深会员



精华贴数 0
个人空间 0
技术积分 1139 (1568)
社区积分 26 (6681)
注册日期 2005-3-18
论坛徽章:3
会员2007贡献徽章授权会员ITPUB新首页上线纪念徽章   
      

发表于 2007-11-8 17:31 
人和钱的问题


__________________



有事没事,常联系--------------------------------------
MSN:twslh@126.com
Skype:twslh@163.com


只看该作者    顶部
离线 zhuojm
资深会员



精华贴数 0
个人空间 0
技术积分 1150 (1546)
社区积分 35 (5814)
注册日期 2005-12-12
论坛徽章:6
授权会员数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星
      

发表于 2007-11-8 20:33 
压力测试不够
项目预算全部腐败了


__________________
努力冲击1000.
只看该作者    顶部
在线/呼叫 liyongdong
版主


精华贴数 5
个人空间 0
技术积分 4762 (282)
社区积分 132 (2962)
注册日期 2001-11-25
论坛徽章:23
现任管理团队成员ITPUB元老会员2006贡献徽章授权会员2008年新春纪念徽章生肖徽章2007版:鸡
生肖徽章2007版:龙ITPUB新首页上线纪念徽章生肖徽章:虎生肖徽章:猪生肖徽章:狗生肖徽章:鸡

发表于 2007-11-9 09:39 
这是对外的窗口,造成这种局面,政府应该负责任。


__________________
***人与人之间最大的信任是精诚相见人生没有停靠站,***
***自我本身永远是一个出发点。无论何时何地,只要创***
***造就有收获,只有不息的奋进,才能证明生命的存在。**
只看该作者    顶部
离线 布袋和尚


精华贴数 0
个人空间 0
技术积分 223 (8569)
社区积分 1018 (940)
注册日期 2007-10-16
论坛徽章:1
      
      

发表于 2007-11-14 23:38 


QUOTE:
最初由 liyongdong 发布
如果开发商采用内存数据库,不会出现这样的情况.

好像 采用内存数据库 也未必能解决问题。


__________________
佛者,非人也。
为四川地震中的遇难者哀悼
只看该作者    顶部
离线 布袋和尚


精华贴数 0
个人空间 0
技术积分 223 (8569)
社区积分 1018 (940)
注册日期 2007-10-16
论坛徽章:1
      
      

发表于 2007-11-14 23:42 
从文章上所介绍的来看 应该是质疑架构设计的问题。
也有可能是数据库设计的问题。


__________________
佛者,非人也。
为四川地震中的遇难者哀悼
只看该作者    顶部
离线 co2
一般会员



精华贴数 0
个人空间 0
技术积分 172 (10690)
社区积分 7 (12598)
注册日期 2002-1-8
论坛徽章:0
      
      

发表于 2007-11-15 16:52 
我倒觉得瓶颈不是在数据库上,Web架构本身使得DBMS很难构成瓶颈,倒是APP Server的并发能力值得怀疑,当然jdbc的本身效能与直连和ODBC相比应该是稍弱的,但应不是主要问题。Web开发模式下,开发人员倾向于重视语言架构,而多不擅长业务逻辑设计和数据库合理规划,很多系统整体性能差强人意。就象文中后部分所说的一些策略原则值得重温和借鉴。
当然,通道等问题其实造成“先到先得”本身并不公平。
歪想:压力实在太大,不如做成取号系统得了,压力最小,又满足先到先得的业务需求,得号后(申报成功后),可自行择取时间进行凭证获取、支付、购票……哈哈


__________________
那片云是我的天
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问