电商高并发场景秒杀系统常见问题瓶颈
秒杀系统常见问题场景
电商平台最常见的活动无非就是秒杀了,集中式大量请求同时打入,同时要保证库存正常,支付正常,以及其他业务的正常进行。
我这里除了系统应用层面的设计优化,还列举了几个关于服务器方面需要关注关注点:
①带宽
②服务器配置
③数据库配置
④磁盘IO
⑤系统应用层面设计优化
服务器带宽
首先呢我们先来说下带宽。就好比你家是1MB的网络,想要达到10MB的下载速度,那很显然是不现实的。
所谓 10M 带宽,其实是指 10Mbps (兆比特),理论最快速度大概是10÷8=1.25MB/s
所有的请求打到服务器,都会产生下行流量,返回的数据传出到用户端,都会相应产生上行流量。也就是为何有的人会说,我所有的请求后台日志显示返回都很快,为何前台请求接口返回还是那么慢。
举个例子,你的系统查询首页接口返回的数据信息大小,要10KB,那同时有100人访问的时候,四舍五入差不多就要1MB的数据量了,如果后台接口业务处理需要300ms,那么理论上前台最长可能要大概1.3s才能接收到首页这10KB的数据返回。
做秒杀时,一般都是临近的几分钟,用户开始大批量进入,后台接口短时间内会出现大批量请求,所以带宽的临时增项,肯定是必须的。不然你业务层面优化的再好,数据返回不了也是一样的白屏、超时。
同时业务接口也需要处理一下,对于无用字段,冗余字段的优化,返回无用的信息越少,同样的带宽处理的请求肯定越多嘛