宽带、内存、CPU、硬盘,先从宽带说起,宽带不足后边都白扯。 服务器宽带服务宽带:1兆=128kb/s 例如:页面加载(静态数据+动态数据)需要128kb,那么QPS最大只能是1; 宽带不足的情况下:网页加载转圈圈。 解决:所有静态数据js、图片、视频等放到第三方管理(七牛云、阿里云),将宽带压力交给第三方同时提供了CDN; - 动态数据就是接口占用宽带就非常少了。- - cdn会将数据缓存到全国各地节点中,帮助减少传输过程中的带宽损耗。 部署的时候将html、js、img所有静态资源都交给七牛云管理流程:客户端直接从七牛云访问html、css、js等所有静态资源,动态数据通过ajax调用服务器端。 ![]() 宽带总结以上的案例:静态界面在服务器端保存的话,128kb/s,一秒只能一个用户访问; 如果将静态界面交给七牛云管理后,一秒可以处理128个请求,因为动态数据占宽带很少{code:200, msg:抢购成功}也才不到1kb大小。 如果:秒杀接口(以并发最大的接口算),假设预计秒杀最高能达到1万人,至少宽带80兆以上。 宽带计算公式:并发人数 / 128kb = 需要的宽带 1万人 / 128kb = 78兆 0兆宽带大概600块钱 80兆宽带费大概需要6000块钱 服务器内存/CPU![]() 服务器内存具体配置多少,必须经历线上压力测试,根据测试报告再进行配置。 正常网站最少也得4核8GB + 集群方式。 蚂蚁课堂为4核8G内存的配置可以达到100并发。 CPU1核:最多只有两个线程同时执行。 例如:java线程池开了10个线程,1核的配置最多只会创建两个线程同时执行。 结论:最少得4核CPU,这样能开启8个线程同时执行。-- 也可以买更多核数量 内存/CPU结论首先因为接口逻辑复杂度不同,所以需要经过线上专业的压测,根据测试结果以及预计并发量再做调整(扩大配置或增加集群节点)。 以服务器为4和8g内存为例: 首先一台服务能抗多少并发是和接口业务逻辑有关的,比如某接口业务比较复杂或IO比较多,将会占用资源比较大,QPS可能也就100左右。 如果预计最高并发会为300QPS,那么就开三台相同配置服务器做集群。 ![]() 服务器硬盘使用硬盘的场景: 1. 写日志; -- 如果只写不删的情况下会导致硬盘占满 2. 作为db数据库; 结论:看系统日志等文件长时间会占用多大空间来决定硬盘大小;机械硬盘IO效率低,SSD固态硬盘IO操作效率高。 服务器配置举例!要求:秒杀接口达到2000并发; 压测报告结果:秒杀接口压力测试单台服务器4核8G,每秒最多支持500并发; 那么就需要搭建4台秒杀服务器做集群或增大服务器配置后再进行压力测试,最后再根据压测报告对应调整服务器配置。 在网关层进行限流,QPS达到2000时进行服务降级。 刚开始流量不是很大的话可以选择2核4G 5M的服务器,后面不够可以升级配置,不影响项目运行 |
万奢网手机版
官网微博:万奢网服务平台