【IT168 方案】12306.cn网上订票系统,为回家过年的旅客提供一个公平的交易平台,全面支持大部分车次网上订票,没有想到,在春节到来之际,巨大的访问量,服务器无法承受,导致处理缓慢。
▲12306.cn
12306网站瘫痪了,大量用户无法登录,页画刷新时间长达30分钟,定票付了款却无法购票。不少购票者无奈地怒斥道,12306网站形同虚设。12306网站瘫痪后,铁道部相关负责人表示,将增加服务器与带宽,改善网购登录难的问题。
▲12306登录失败
那么怎么增加服务器,用什么的服务器和带宽呢,这种情况,让我们想起当初证券市场暴跌出现堵单现象,很多交易没法及时成交,这是典型的密集交易型服务器应用。
面临问题:网上订票系统在各个环节形成巨量数据流
▲12306订票流程
海量访问同时出现在网站上交易系统的各个环节上,对服务器形成巨大压力:
1. 登录窗口堵塞:面对巨量不断涌入的并发登录请求,登录不进去的还不断刷新页面
春运期间,12306网站的同时在线访问人数高达500多万,每个人一次性访问需要花费2KB左右,有时候甚至只有几个字节,12306的并发量(同时在线访问量)达到1GB 。
2. 查询递交交易环节,登录进入的客户不断进行数据查询和递交交易请求,此外大量登录进去的客户不断刷新反复查询。
3. 支付环节:大量的并发递交网上银行支付操作,同时不断刷新页面,不断请求处理
这么巨大的并发请求,很明显服务器硬件配置太低,处理速度、内存容量、硬盘io、网络io,满足不了要求。
另外软件方面,如并行处理和队列管理、数据存储方式都有不能满足这种高并发密集操作,作业递交太多,数据量巨大,内存不足,更多数据在虚拟内存或硬盘上,面对程序的不断调用,响应速度大幅降低。
密集并行处理请求,普通服务器系统无法承受
巨大的并发数据请求和实时响应处理,普通架构机器已经承受不住了,从硬件和软件两个方面:
1. 硬件方面
首先网口面临巨大的访问请求数据,通常所用的芯片为intel 82574,这种芯片没有独立的io处理能力,大量的数据包解析需要交给CPU处理,CPU直接面对第一层围堵,此时类似防火墙面对大量攻击型访问一样,并发数据访问量1GB/s以上,千兆端口理论最大125MB/s,处理不过来,端口已经堵死,直接造成服务器瘫痪。
其次 CPU处理速度通常是8核~12核处理器,面对如此密集并发数据处理,计算速度严重不足,满足不了巨量同时访问请求,
第三内存容量不足, 大量的查询操作,访问数据库,内存容量不足,需要频繁访问硬盘,造成延迟等待,好像机器死机。
第四硬盘方面iops值太低, 大量并发读写,单盘硬盘或普通阵列性能功能更是达不到要求。
2. 软件方面
面对大量请求,队列管理不合理, 数据请求和数据库查询方式有问题
XASUN密集交易型超级服务器介绍
型号: XASUN EX8 4241T-2A83Ri
配置规格:
产品型号:参考配置 80核Xeon E7 8870(2.4G)/1024GB DDR3-1333 RECc/ /超级硬盘2组8*300GB SSD(实际容量2组2TB)
▲配置规格
性能方面
CPU性能: 配备目前非常先进架构的intel Xeon E7 8800处理器,提供8颗10核Xeon E7 8870(2.4G), 浮点运算速度达到7680亿次/秒,是普通双路xeon服务器的10倍以上的性能。
内存容量和带宽:配备容量达1TB ,CPU-内存16通道,每个通道带宽达6.4GTs,满足海量数据库查询和检索和处理。
把数据库里访问频率最高的火车信息数据全部放到内存中,满足程序在最短的时间完成蜂拥而来的巨量并发登录请求、车次查询和支付交易处理操作.
当然,具体内存多少更合理,还需要实际应用中监测结果。
▲XASUN密集交易型超级服务器内部架构图
硬盘容量和io性能:配备2组超级阵列(8块300GB SSD企业级+8port SAS2-RAID 1GB),容量 2*2TB,IOPS,硬盘读写带宽2GB/秒,4KB随机读取38500次/秒。
大幅提升虚拟内存、硬盘io性能,最大程度降低整个机器最大的托后腿的硬盘数据读取操作带来的延迟,比单盘带宽快10倍以上,|IOPS比单盘块100倍以上
网口性能:配备2口intel 82599ES/EB 万兆以太端口,数据带宽2.5GB/s,比千兆提升10倍以上,另外支持虚拟队列技术,最大队列数量2*64=128个,大大减缓io端口的压力。
与普通服务器对比
▲与普通服务器对比优劣
如果把这台机器作为12306.cn服务器,再配合经过优化网上交易软件,相信整个网站交易处理规模和速度将是一个质的飞跃。
当然该机器同样可以应用到金融市场上,例如证券实时交易等密集交易型等地方。
▲XASUN密集交易型超级服务器