如何解决京东商城的性能瓶颈?

原创
系统
京东商城在昨天搞了一个“京东图书疯抢三小时”活动,不过却因为大量的“网页无法显示”,订单无法提交而招来用户的一片骂声,最终仅产生数十万订单,平均一秒钟才几十个。从运维的角度来看,仅仅增加三倍服务器肯定带不来三倍的并发订单处理能力。

【51CTO快讯】京东商城在昨天搞了一个“京东图书疯抢三小时”活动,不过却因为大量的“网页无法显示”,订单无法提交而招来用户的一片骂声,最终仅产生数十万订单,平均一秒钟才几十个。

51CTO推荐专题:电子商务浪潮下的服务器高并发应对方案

做活动搞得服务器顶不住,京东已经不是***次遭遇。京东CEO刘强东昨天发布微博数篇,表示要“增加三倍服务器,活动再搞一次”,以及要请“信息部同事们喝咖啡”。

事实上,不仅京东商城有此困惑,其他的不少电子商务网站也有这样的困惑。根据一些业内的数据,在国内的众多电商网站当中,除了阿里的服务器过万外,其余的大多在500-2000之间,且大多数是.NET架构。刘强东在早期做过一些财务系统和小的企业级应用系统,京东也因此在早期选用了.NET架构;然而,互联网这种高并发、大流量的应用环境和企业内部环境是有非常大的区别的。京东商城目前维持30万的日平均订单量已然不易,一旦要进行活动,用户订单一拥而上,现有的架构根本无法处理。

那么,京东要如何才能摆脱现在的困境?

从运维的角度来看,仅仅增加三倍服务器肯定带不来三倍的并发订单处理能力。在刘强东当天的微博后面现在已经有9千多条评论,其中不少来自技术人;在笔者所在的一些技术群里也在讨论这个问题,其中不乏有见地的评论。小编从中挑选一些,整理如下:

管理、人才方面

李铮_Reason:活动之前没有对预期流量进行充分评估么?这种活动不是经常进行,增加3倍服务器是否会浪费资源?活动在搞一次,是否合算过财务,是否问过市场部?从公司来讲还是要尊重各个部门的努力;从营销来讲,这条微薄估计比一个Q的营销效果都好。

霍泰稳: 也许京东从这件事上能够了解技术人员其实挺重要的,多让技术人员外出交流还是很有必要的。此前邀请京东的朋友出来分享,总是很困难!

焦若雷[[48923]]:动态应用的突发看来依然是京东包括很多未来量会增长到很大的电子商务网站的瓶颈。出现这种问题的原因可能与你们业务线和运维的沟通不充足有关,但也不排除本身你们在大规模动态应用突发上的运维管理经验缺失及技术缺失。

老熊:大的电商,不叫技术部,叫信息部,京东也是独一家吧

Norman程:市场部是否有把这次活动可能导致每小时进十几万的订单的信息传递到各个业务系统呢?今天是门户及订单系统宕机,明天会不会是供应链和物流呢?

程序员-钊雄Johnson:(一)从技术的角度,服务器压力均衡不是靠增加几台服务器就能解决的问题。淘宝积聚着一批优秀的JAVA人才,数据库人才,天天为服务器保驾护航,保证了正常运行。多方面的技术积聚,才是问题的解决。您作为老大,您为您IT部门做了哪些?电子商务,无电子,何来商务。

程序员-钊雄Johnson:(二)京东采用.NET平台,在均衡压力上需要积累。它需要***的团队,***的管理制度,足够的技术积累。人才,***的待遇,招***的人才。京东,或者这次事件只是一个开始,它应该不是一个偶然,应该说是个必然。技术不革新,人才不革新,问题还是迟早爆发。

@池建强:在技术上淘宝和京东完全不是一个层面上的,看看各个技术大会淘宝的分享吧。这种情况下谈什么Java还是.Net,就毫无意义了。

kwkmko:全面一点吧,市场部和策划部有没有计算或者预计一个比较靠谱的流量?并且递交给信息部备案?财务有没相关条款支持设备更新?总协调人是否预计到这样的情况?信息部有没有预算支持应急的设备……

池建强: 阿里玩的是平台,顺道把电商做了;京东玩的就是电商,顺手搞搞技术。

技术改造方面

南非蜘蛛: 是不是应该先找出瓶颈,优化架构,加机器也不一定可以彻底解决

静观参众妙:作为一个软件从业人员,我完全理解今天上午服务器经常出现service too busy的现象;但作为一个软件测试人员,我完全不能理解京东的业务系统貌似没有经过严格的大数据量压力测试。

foxtree[[48923]]:压力在数据库,不是多几倍服务器能搞定的,除非程序重构适应分布式的硬件

雪中飞_:量变引起质变吧,并发量小的网站刚开始可以不太关注底层技术架构,量大的网站要提前布局,否则到时候就措手不及。而底层技术平台需要时间和经验去堆积。

何雪峰:这个不是简单加服务器就能解决的,涉及接入带宽数,数据库并发处理能力,中间层并发处理能力,京东订单系统并发处理能力,磁盘写入速度,排队事务处理

kewell119:建议你们看看《编写高质量代码—改善C#程序的157个建议》

淘宝四虎:有了这么大的压测量,应该收集不少性能数据,接下来好好分析性能瓶颈,花个半年时间解决一下。

365-姜志林:就情况看,问题可能出在数据库,web端向数据库大量提交订单,db并发造成死锁等待。web端继续等待,建议采用分布式设计及文件级数据缓存,同时优化底层数据库设计。

雾散云暖:时间再长也没用,关键要改进你们的后台,学学人家亚马逊、当当,首先备货要足,其次购物车要能保留信息,第三货品搜索页面上***直接根据ip地址或者啥的显示出当地有无货状态

京Piedro-Conte董金:我觉得比较现实的还是 请IBM 之类的公司 给京东做设计(编者注:虽然IT外包一般不是互联网企业的优先选择,不过随着互联网技术的细分,由于术业有专攻,细分领域的外包相信也会逐渐变成趋势。)

大熊[[48924]]:其实,这个时刻最应该给京东提供帮助的是微软。微软应该考虑无偿给京东这样的电商大鳄提供.Net的所有技术服务,甚至更多帮助。因为,像京东这样有着几千人研发团队的企业还坚持使用.Net架构的已经几乎没有了,如果连京东都这样一挂再挂,很难相信以后还会有哪个大型商业网站敢再选用.Net架构。

有关弹性云

数据中心乱弹:是否可以租赁amazon的计算能力应急突发高峰?或国内谁会***推出类EC2这种服务?

zysno1: 如果是这种规模的企业使用弹性计算,其实不需要全部hosting上来,它可以用弹性计算来支撑那部分突增。就类似CDN那样。弹性计算使这种阶段性的资源使用方式成为可能


你对于国内电子商务遇到的这种困境有何看法?欢迎探讨! 

【51CTO.com独家特稿,转载请注明原文作者和出处。】

【编辑推荐】

  1. 高性能ASP.NET站点构建之识别性能瓶颈
  2. 十大服务器常见“性能瓶颈”(图)
  3. 细数十个最令人头疼的性能瓶颈
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2011-11-08 14:41:11

IT技术周刊

2010-07-21 09:33:09

VMware View

2020-12-07 06:30:34

Redis性能命令

2024-02-02 11:24:00

I/O高并发场景

2023-09-03 22:44:28

I/O高并发

2010-05-11 14:55:42

MySQL参数设置

2010-01-12 10:35:13

无线交换机

2019-12-27 11:13:24

高并发服务器逻辑

2020-05-18 10:07:30

边缘计算数据边缘

2010-01-11 16:16:05

交换机集群技术

2022-10-19 14:25:21

物联网公用事业数据库

2019-10-31 11:50:19

MySQL数据库Windows

2010-08-13 09:01:39

2019-09-11 10:23:58

Redis性能存储

2012-11-27 11:11:41

Hadoop京东云计算

2011-04-28 11:05:27

Windows 7

2017-02-15 09:40:38

JavaScript分析解决

2020-09-09 10:00:41

JavaScript前端瓶颈

2018-02-05 09:30:23

高性能高并发服务
点赞
收藏

51CTO技术栈公众号