我给12306提优化建议之缓存ajax请求? 400 报错
12306查询车次列表中,点击车次,会列出些车次对应的时刻表。
对固定的车次,其时间表是固定的,是可能缓存的,12306采取的是ajax+json实现的。但不幸的是12306并没有缓存车次时刻表,这将导致每次显示时刻表时,CDN Server不得不回源, 这对CDN来说,不仅没带来加速效果,而且严重浪费其性能。对12306这种规模网站的任何一个优化,将产生相当大的优化效果。
也就是说:
1. 不同用户,点击同一个车次时刻表,其响应应该是由CDN提供,而不需要穿透回源。
2. 如果同一个用户,第二次点击某个车次时刻表,返回状态应该是304才对。
先看图:
从这处图中,我们可以看到 12306使用的java jboss开发,并且此动态请求穿透了cdn节点(没有设置任何缓存header)。
如果将时刻表缓存起来,有以下好处:
1. CDN节点对此请求不需要回源,其性能更好,响应速度会提高。
2. 降低了源站的负载
3. 提升用户体验
时刻表的数据应该变动不是太频繁吧。楼主提的意见政府是不会采纳的######解决了自动抢票的问题 应该会好买一点了######谁没事去看时刻表?都是看有没有票好不?######
同意楼主
获取时刻表的请求数量相对应该很少 不过 蚂蚁腿那也是肉啊
一点点优化, 规模上去后 , 也可能有不错的效果
######12306目前的硬件和网络配置不需要多大优化,12306的性能已经够了。我昨天成功的买到了两张票,很顺利,而且很多人都通过12306买到票了。在有这么多刷票软件的情况下,面对数倍于正常情况的请求,延迟还没高到不可接受的地步。最高的延迟是支付成功后的跳转确认,要15-20秒左右。这说明技术上的问题已经不大了
当然,能优化一点是一点。做12306的公司还属于传统软件公司,思维僵化,很多地方确实离业界差的太远
12306的问题是货源供不应求和国人贪利、素质低下(黄牛党),这才是根本问题。
######回复 @wangxigui : 北京地区的找个电信手机放票的点一到了立马打电话买票,网络有缓存你刷出来那个按钮的时候电话已经放了一会票了,联通用户那个时候会网络忙不太好拨进去######不知你买的是哪一趟车,我只想说我们2-3个人抢了4天的高铁票,屁都没捞着。对于京广这一条线上的火车来说,抢票不是一般的难!!虽然12306可能是已经不错了,但是还是要解决黄牛的问题,这几天我已深刻感受到了黄牛的力量!######12306目前的硬件和网络配置不需要多大优化,12306的性能已经够了。我昨天成功的买到了两张票,很顺利,而且很多人都通过12306买到票了。在有这么多刷票软件的情况下,面对数倍于正常情况的请求,延迟还没高到不可接受的地步。最高的延迟是支付成功后的跳转确认,要15-20秒左右。这说明技术上的问题已经不大了
当然,能优化一点是一点。做12306的公司还属于传统软件公司,思维僵化,很多地方确实离业界差的太远
12306的问题是货源供不应求和国人贪利、素质低下(黄牛党),这才是根本问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。