大型的电商网站,需要对数据有超强的处理能力。在众多访问用户的前提下,能快速的处理各类用户的数据请求,这就需要服务器的cpu性能达到要求,否则,在数据请求过多的情况下会导致处理不过来造成服务器宕机的情况发生。
2.服务器内存
除开对服务器的CPU有要求以外,服务器内存也是有特别的要求。一般来说,中型电商网站一般都需要内存达到32G上下,在大型一些的电商网站,对于内存的要求也更高。这是因为,在众多用户访问的时候,对于数据请求也会更多,更频繁。如果内存达不到要求,会导致部分用户在请求数据的时候,发生卡顿的情况,造成不好的用户体验。
3.服务器硬盘
电商行业网站,不可否认的是数据信息都非常的庞大。有产品信息、产品图片、用户资料等众多的数据信息。因此对于硬盘的空间要求是非常高的。硬盘空间不足,就会导致数据存储受到影响。
4.服务器网络带宽
电商行业的用户都是全国各地都有,面向的群体多种多样,因此,在网络带宽方面,应该要采用BGP三线带宽,满足用户使用不同的网络访问,都能畅通,这对于用户的体验感是非常重要的。如果采用单电信就会造成联网和移动用户访问出现卡慢的情况,具备一定的延迟情况。因此,采用BGP是最适合的网络带宽。
作为开发/架构,经常会被问到这样的问题:
这些问题都涉及到了流量评估和容量设计,我分享一下我经常用的一些方法,当然项目的流量和互联网公司没法比,大家也别见笑。
先算总访问量
也就是PV,如果是网页的话,打开一次网页,这个网站的PV就增加了一次,如果是接口的话,就是接口的访问次数。
访问总量的预估,可以问业务/产品/运营的伙伴,这个产品(功能)上线后的预期是多少,或者用以往产品(功能)上线后的访问量作参考,做一个预估。
比如我之前参与过的项目,每天要给过生日的用户发送生日祝福短信,那么就可以大概评估出每天这个功能的总量大约是:总客户数量/365。
(图为10%的数据采样,相当于每天大约160万的访问量)
评估平均访问量
评估高峰期间的访问量
在做流量评估和容量设计的时候,不能只考虑平均QPS,一定要考虑高峰的QPS,我们系统的容量,一定要能抗住高峰的QPS。
如果每天80%的访问集中在30%的时间里,这30%时间叫做峰值时间;那么高峰期的访问量=(总访问量*80%)/(每天秒数*30%);
例如我们系统的访问量,主要集中在9:30-11:30和13:30-17:30期间,大约有6个小时。
评估每台机器的QPS,进而评估出需要多少服务器资源
通过压力测试,评估出一台服务单机能的极限QPS,比如单台服务器QPS极限是500;
生产环境中预估高峰期间的访问量是3000,那么至少需要6台服务器,当然当台机器极限是500,我们可以按照400进行预估,那么就需要8台机器,当然为了保险期间,部署10台是比较保险的(有一定的冗余度)。
希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)