铁道部网站瘫痪:网络购票技术之罪

2012年春节,铁道部推出12306网站,进行网络实名购票。每一个返乡人原以为能买着一张回家的火车票,但结果还是大失所望。

12306网站瘫痪了。大量用户无法登录,页画刷新时间长达30分钟,定票付了款却无法购票。不少购票者无奈地怒斥道,12306网站形同虚设。

12306网站瘫痪后,铁道部相关负责人表示,将增加服务器与带宽,改善网购登录难的问题。

“即便增加了足够的服务器与带宽,但是软件系统架构不行,也无济无事。”一位从事航空电子客票业务的人士说。

购票时限之错?

自元旦起,12306网站就处于半死不活的状态。“前访问用户过多,请稍后重试!”这是大量用户会碰上的无法登录;还有不少用户登录之后,却无法打开二级、三级页面,只有在不停地刷新;一些幸运的用户登录后成功付款,但却功亏一篑,却无法买票了。

对于“付款成功却无法购票”的情况,12306官网表示,“这是由于网络等原因导致银行的支付结果数据没有及时回传至12306网站。”

而一位从事航空电子客票业务的人士认为,这是12306网站的系统与银行的支付系统连接不顺畅,12306无法及时响应银行。

事实上,“付款成功却无法购票”的现象也可能是由网络购票的时限造成的。铁道部规定,网络购票需要在30分钟内完成,如果超时,就会重新返回售票系统,造成票没买上而钱被扣除的现象。

目前,12306网站只支持工商银行、中国农业银行、中国银行、招商银行和银联的网上银行功能,不支持第三方支付公司。“支付方式太少了,很多用户事先并不知道只能使用4家银行的网银。”一位进行过网络购票的人士表示,这会让很多用户花费很多时间来支付,最终却无功而返。

面对这样的情况,铁道部将网络购票的支付时限延长至45分钟。但这一招无异于“饮鸩止渴”。前文所述的专业人士对此表示,支付时间过长,会极大影响网站的安全性,给黑客与钓鱼网站以可乘之机。

前文从事电子客票的人士告诉记者,为了保证支付的安全性,网络支付有较强的时间限制。在一般情况下,提交订单15分钟内必须完成付款,否则订单取消。一般来说,从下单、支付到出票,最多在10分钟以内就可以完成了。

“一位用户呆在网站上的时间就需要几十分钟,这会让网站变得越来越拥挤。”一位IT运维技术工程师告诉记者,网站对每位用户的需求响应慢,那么用户从登录到退出登录的时间就需要更长,这样的恶性循环会让网站变得越来越不堪重负。

无力承受的高流量

1月3日,12306网站公布了“互联网购票起售时间”,每天分别在8点、10点、12点和15点放票。但这一举措更激化了网站与用户的“矛盾”。

“这样的定点放票会形成秒杀的效果。开始放票的1分钟之内,访问量会剧增,形成一个个高峰。”前文所述的航空电子客票人士说道,高峰时,服务器需要交互的响应量成几何级数增长。

“12306系统瘫痪在所难免。”一位CDN(内容分发网络)行业人士认为,从需求层面来说,火车票是刚性需求,不比购物。用户买不到票就会不停地刷新,“今天买不到,明天再继续”,需求得不到满足的用户会持续聚集在网站上,这会带来连续的“峰值”。

据铁路部门的预计,从1月8日到2月16日,春运期间铁路将发送旅客2.35亿人次,同比增加1352万,日均达到588万人次,但目前铁路的春运客运能力仅为382万。这意味着每天有200万人次的缺口。

1月5日,本报记者查询了Alexa排名,数据显示,近一周,12306网站的“一周平均排名”为339,日均IP为194万(每一个IP有可能是好几个人访问)。而国内航空网络售票网站“travelsky。com”的“一周平均排名”为11340,日均IP为8万多。相比之下,火车票的需求远大于机票。

一位CDN技术工程师告诉记者,从行业经验来看,春运期间,12306的并发量(同时在线访问量)达到1GB(1GB=1024MB,1MB=1024KB,1KB=1024字节),而一般来说,每个人一次性访问只需要花费2KB左右,有时候甚至只有几个字节。这意味着峰值时,12306网站的同时在线访问人数高达500多万。

这位技术工程师举例道,网上足球直播的视频的并发量达到几十GB,但由于传递的都是静态的内容,视频网站服务器需要的“处理能力”只是几十MB。但是,12306网站交互的是动态信息(查询、定票),所有的访问请求最终都需要12306网站的服务器作出响应,1GB就需要网站服务器拥有处理1GB访问的能力。

一位大型集团企业的CIO(首席信息官)根据其多年的工作经验判断,此次12306网站瘫痪是系统架构规划的问题,导致不能有效支持大并发量集中访问。同时,12306在IT管理上也有问题,未能进行有效的压力测试和运行模拟。

12306瘫痪:技术之罪?

重硬轻软

据了解,12306网站于2011年6月1日正式上线,到春运也不过半年时间。

“12306网站只是在高铁、动车上进行尝试,之前并没有遇到春节这样巨大访问量的经验。不仅没有做过模拟,并且一上来就是全国性的访问,系统瘫痪在意料之中。”一位行业人士说。他告诉记者,电信、金融等行业上新的大规模系统时,在压力测试之外都会进行区域试点。

12306的官方网站显示,该网站是铁道部信息中心和中国铁道科学研究院共同开发的。据铁道部信息中心的一位技术人员透露,12306网站的研发与运维已经单独成为了一个机构,归属于铁道部信息中心管理。

据业内人士透露,12306网站是由铁道科学研究院电子所负责开发和维护。铁科院是铁道部下属企业,电子所是铁科院下属单位,该所还负责铁路售票系统的开发和维护。铁路行业,纯粹的软件并不受重视,基建、大型装备和各种硬件等“赚钱”、看得见的设备铺天盖地。

“要靠硬件来实现软件的价值,这种思路使得铁道部的IT技术实力很难得到提升。”上述行业人士表示。

目前铁路行业还没有民营的系统集成商也可以侧面印证铁路行业IT技术落后。在IT技术比较发达的电信、金融行业,国内就存在多家系统集成商。电信行业有亚信联创、亿阳信通、联信永益等。金融行业有恒生电子、浙大网新、金证股份、中联集团等。

目前,铁路行业的IT系统往往是铁道部信息中心、铁路科学研究院等铁道部旗下的事业单位、下属公司等承包研发,并运维。目前,只有太极股份、网宿科技等公司摸到铁路IT的边缘。

根据太极股份的2011年半年报,2011年上半年,“太极签订了铁道部互联网售票系统项目”(互联网售票指的是12306网站)。对此,太极股份相关负责人表示,太极只负责12306网站的硬件集成,对于操作系统、数据库、中间件、软件的实施都不负责,网站的运维也不负责。

另据相关资料显示,网宿科技为12306网站提供CDN加速服务。12306此次瘫痪与该公司技术是否有关,截至发稿,记者未能联系上网宿科技相关人士。

“12306网站瘫痪,与CDN分发并无太大关系。”上述CDN技术工程师告诉记者, 1GB带宽的分发没有任何问题。

“最重要的是对软件系统架构进行优化设计,使其能支撑大并发量的交易,并支持平滑升级。这需要在优秀的系统架构师的主导下进行。软件系统架构合理后,才能通过增加硬件和带宽的方法,提升响应速度。”前文所述的大型集团企业CIO建议。

一位业内人士建议,只要12306将售票系统的数据接口对外开放,不少技术高的IT企业都会趁势接入,很快成熟的系统就可以建立,而再运营一段时间,那么,12306网站将不会发生大规模瘫痪。

目前,和中航信的travelsky系统将机票销售的数据接口对外开放,无论是携程、易龙等互联网OTA,还是传统的机票代售点等网站,都可以帮助销售机票,而企业商最终接入的还是中航信的travelsky。