51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3731|回复: 5
打印 上一主题 下一主题

[原创] 来818目前12306网站的性能问题

[复制链接]
  • TA的每日心情
    郁闷
    2015-6-16 14:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2012-1-17 17:25:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近看到了很多关于12306网站的报道,从一个技术人员的角度,发表一下自己的看法。
    09年在北京的时候,与朴老师一起去社保部交流公务员网站报名系统测试的时候,对这种架构就有了一定的想法,后来分析了电商及门户网站的设计模型,个人感觉12306网站的问题应该比较容易处理,如果给我们51testing来做性能的话,下面大概分析一下,欢迎各位讨论!

    从目前前端页面来看,12306的网站使用的是J2EE架构开发,具体web服务器不晓得是啥,估计Web服务器是Websphere,数据库可能是用铁道部以前老的数据库,如果是这种情况,如果我们做性能测试的话,我觉得可以从以下几个方面进行考虑
    1、首先是系统架构设计,以前我接触过这样的一个架构:HTTP Server做业务请求处理,Websphere做Web服务器,调用CICS中间件,操作系统是AIX,数据库用Oracle,当然有很多个应用服务器。这种架构,各个环节设计妥善,能够支持很庞大的业务请求。从12306网站来看,如果所有用户发出的请求是先查询车次,再看余票信息,然后购买,那么可以根据IP进行负载均衡处理,分发到各个节点上,可以做CDN分发到各个节点,动态请求,真正的业务处理可以在节点完成。这样,在处理请求的时候就减轻主服务器的压力。具体数据信息,比如JS等资源文件可以压缩后传递,加快传输速度,具体业务请求由Websphere进行处理,经过中间件与数据库进行交互,从目前来看,如果数据库用的是老系统的话,应该是没有啥问题,问题可能就在中间件和websphere的处理上(以前售票点的数据库应该也是联网,速度也没现在的慢。所以,老数据库应该还不错)
    2、并发处理方面,系统应该设计容纳的最大并发数量,防止用户过多产生堵塞,可以采用排队机制,避免大量用户请求涌入,这点应该首先估计一下今年通过网络订票的人数,我想业内都有成熟的估算方法,这样可以得到一个最大的并发数和访问量,测试人员在开始测试的时候就应该考虑到,另外根据订票的流程,初步分析可能引发大量并发操作的业务,本身系统已经运行了一个时期,那么根据运行日志是否可以得到关键功能点的用户访问趋势统计数据,这样在测试的时候也是个参考。所以,设计一个阀值进行排队,这样也是一个处理方法,至少能保证业务的成功。
    3、用httpwatch进行查看,每个页面上的资源文件都比较大,这样是不利于数据传递的,所以,还可以优化文件的大小,减少客户端请求的数量及数据包大小从而提升下载速度,减少带宽占用。
    4、针对这样的系统,是否可以将大量的数据库查询,调用数据的过程放在缓存中,与内存交互,另外订票流程也是有问题的,存在一个记录锁定的问题,这样的话,数据锁定时间过长,会导致大量票被锁定,其他用户无法进行购买(实际上并没有支付),从用户角度来说是比较好的,但他的付款时间无法控制,可能很快,也可能很慢,这样的话,就导致票信息被锁定时间太长,会造成更大量的访问了。因为成功率下降,用户尝试次数会增加,如果在付款流程设计成余额支付是否会好些。比如在他查询车次信息的时候,就自动检查他的余额信息,让他先充值再买。
       总结下,从架构,业务逻辑,客户端数据几个方面,分析下来,12306网站优化的地方有很多,看了新闻说已经增加了带宽,速度上去了,我试了试,没啥变化,纯粹指望硬件来提升,很难的,也很费钱,不过他们有钱,呵呵。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2012-1-17 22:31:26 | 只看该作者
    你要想简单就直接让要买的人先写随便写个明天上海+深圳股票的总指数,根据猜测的数据和实际收盘的数据差距,靠近的直接发邮件等待确认付费,差的远的排队下次就行了。。。

    基本上就没啥负载了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2012-1-18 15:03:55 | 只看该作者
    我觉得铁道部订票网站能挺下来已经很不错了,铁道部统计日均点击量10亿,印象中开放订票时间是6:00~23:00,我不知道他说的点击是什么概念,如果我们硬把它当成事务,算下来TPS有1.6w!如果他没根本没做过性能测试或做的非常不充足,那么系统上线就崩溃,重启都不行的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-4-1 14:30:37 | 只看该作者
    怎么没多好人讨论呢?

    新手学习下 嘿嘿
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2012-4-3 00:52:06 | 只看该作者
    应该是1.6W HPS吧,峰值应该2W以上了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    6#
    发表于 2012-4-4 21:33:54 | 只看该作者
    这是性能预估不准确,系统设计方面没考虑过大压力都系统的影响引起的问题
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 17:22 , Processed in 0.080715 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表