关于B2C网站大并发量的建议

根据官方微博透露出售的书籍信息,及订单数量级,我们可以再大胆猜测大概有30W-50W的网络用户在三个小时促销期内参与购买,而且是分二天完成的,相信一天的促销时间段参与购买者的数字会更低一些,不过这对于一个B2C网站而言确实并发压力不小,假设一台Web服务器能支撑5000个并发,所有用户同时间点添加书籍到购物车中,那么需要600-1000台Web服务器。不过这只是个极端假设,真实的情况肯定不是有几个点肯定容易成为瓶颈:购物车服务、MemCached服务、订单管理服务、支付服务、数据库服务,不清楚内部具体情况,只能进行猜测性分析:

(1). 商城采用购物车系统,方便网购客进行物品挑选,然后集中完成订单的模式,有区别于淘宝网的模式,为此购物车系统的压力将会非常大。购物车系统服务涉及大量的数据添加和显示操作,甚至修改和删除,数据必须考虑先要你用内存(例如:MemCached、Redis等)方式支持物品数据的增加、修改、删除,并异步更新到数据库中,因此购物车系统需要操作的内存缓存区最好能支持分布式部署和提供数据服务的模式,否则容易成为瓶颈,若是无法水平分布式的方式扩容,那必须进行垂直扩容,不得不考虑更换内存更大及性能更优秀的服务器支持;

(2). MemCached提供读服务是必须的且压力也会不小,但还必须考虑提供写操作,即数据先写入MemCached再队列方式同步到数据库;

(3).队列服务,涉及到一些数据的异步执行和排队等待等事件,在电子商务领域一样非常流行和成熟的技术,鄙人曾参与一个分布式队列项目的研发,达到可以在线部署、停止、调度、监控等功能,尤其是这种网购促销活动队列尤其重要,若是能有此类技术服务,会对整个系统的有序控制非常有帮助;

(4). 提供数据服务的数据库产品为SQL Server,这并不是意味着性能就差,关键是要做到:操作系统不需要的服务必须关闭,磁盘RAID要合理,数据库的设计要合理,索引组织结构要优化好,SQL Server 服务器端参数要配置和优化,重点借助Windows自带的工具就足够监控和分析数据库服务器的性能和瓶颈。主要是数据库服务器往往不容易进行拆分,而实现水平方向的分布式部署(注释:SQL Server有一个分布式分区视图功能,可以轻易实现数据的拆分,且不需要应用做任何修改,只是性能相对而言会降低一点)。故可对于一些静态的速度提前预存到后端的缓存系统中,减少数据库服务器的压力,提高对网购者物品信息查询的响应速度;

(5). 提供Web服务的程序为.net编写的,一般做到水平扩展,然后再搭配LVS或F5(注释:既说京东商城使用F5)实现负载均衡设备即可,Web服务层面不会成为瓶颈。若是.net程序代码质量不高,则可能成为瓶颈,就需要更多的机器支持;

(6). 订单管理系统将会成为压力非常大的服务,需要合并订单和检查库存,分配订单到不同的仓库所在地等,建议只做订单常规的检查,至于订单分配到不同地方仓库处理等事情可以等活动结束之后的1-2个小时内再后台集中处理的模式;

(7).支付服务方面,京东商场有自己的物流配送服务,且提供在线支付和货到付款的模式,具体数字不详,网络上获得的京东商城货代付款比率高达90%;

转致:http://www.mysqlops.com/2011/11/14/server-is-too-busy.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值