怎么计算服务器需要的带宽

怎么计算服务器需要的带宽

3000人同时访问一个纯静态文件,静态文件大小28K,那瞬间请求流量最大理论值为:3000x28K≈82M 。
但是此值仅仅是理论上的瞬间最大流量,因为你的站点不可能每时每秒都保持在3000人访问,而是一段时间内的访问人数。
如果真是每秒都至少是3000人访问,那你的服务器上行带宽至少得在 82x8 = 656M(之所以乘以8,是因为我们说的速率和运营商说的速率不是一个概念,换算单位不同),这样看来费用是相当的高。
但实际情况下并不能这样计算,实际请求带宽要远远低于656M,原因主要有以下几点:用户流量是分散的,并不是每秒都有3000人访问;
浏览器对于静态页是有缓存的,所以这3000人中有一部分用户发出请求后,其实是直接从本地缓存中加载的,而没有请求远程服务器。
要知道,服务器的上行带宽是很贵的,按上面计算方法,就算打个折,你的服务器固定带宽100M的话,那光带宽费用一个月就要近7000元。
所以一般中小型网站的服务器上行带宽100M都算很大了,鉴于你的访客量不固定,我给你的建议是:前端走CDN缓存,如果静态文件长期不更新,可以把缓存时间设得很长,如一个月;
后端ECS选择低配即可,带宽不要选固定带宽(选择按使用流量来计费,带宽选择5M足够了)。
这种配置下,别说3000人同时访问了,更高的并发都能抗得住。
因为CDN本身就充当了负载均衡的角度,而且CDN节点遍布全国,使得用户“就近读取”静态资源。
以上就是我的观点,对于这个问题大家是怎么看待的呢?
欢迎在下方评论区交流 ~ 我是科技领域创作者,
我们以阿里云为例,你需要付出的成本大约为:静态网站成本 = 对象存储空间成本 + 访问流量成本(下行流量)当然如果需要CDN也可以直接在对象存储中使用。
对象存储空间成本根据标准存储包的价格,40GB包一年的价格大约为9元钱。
访问流量成本我们按照一年100GB的下行流量包计算,每年的的成本为441元。
按照问题中28KB计算,总共可以访问374万次左右。
按照这种计算方式,总成本大约在450元左右,比部署云主机除了省钱外,还省去你的运维成本。
云开发方式静态托管我之前在我的个人博客里写过我如何使用腾讯云开发托管我的个人博客,这种方式也推荐使用。
如果是纯静态托管,每月免费的容量为1GB,流量为5GB,这么算下来,每个月的可以支持18万次的访问,如果够用的话,完全可以免费了。

参考:
事实胜于雄辩根据你的问题描述不难发现2个问题,1,样式文件放在了腾讯云COS?
2,服务器却选择了阿里云的低配ecs?原因:动静分离你的cdn加速不是用的阿里的那就说明没有阿里的块,对于外网服务器来说,一次ip你却进行了俩次转换,包括一些跨域其他问题,服务器最低配置是有 1C/0.5G的ECS,那么对于这个服务器来说本身cpu处理就不行,最多用于学习和测试。
就好比一个外网映射工具而已。
带宽很小。
下面我们实践来操作一下运用测试工具测试一下我自己1核2g 5M带宽的服务器,我还买了阿里的cdn+域名映射,资源动静分离了。
目前项目基本秒开页面。
很快啊!下面开了3000个线程请求了一个html页面,看下面参数详解1M等于128kb 带宽传输。
线程响应根据接口返回执行秒数来计算 那么就是3000/7 约等于430 那么就是一秒有430个线程在访问。
而不是一秒就能请求3000个线程的请求,这个也和服务器内存配置,后台接口处理有关系。
请求和响应都是基于服务端配置来决定的,cdn加速只是快速路由到最近地址访问,并不能根本解决服务端配置。
tomcat 默认200线程数,当然这个是根据你服务器内存配置来的,线程也是根据你服务器cpu处理来的,你的服务器处理越快,你的线程就开的多。
结论: 3000人同时访问一个单纯的html文件(放在阿里云最低配的ECS下,apache),多少带宽足够,根据实践我们可以得出结论,最低的ecs配置满足不了3000人同时访问,2核4g的5M带宽+cdn加速 可以满足同时访问。
有人会说我访问html和你后台有什么关系,我想说的是页面和后台单纯来说是没有关系,但是在实践运用当中,作为数据交互的ul至关重要。

参考:
3000并发消耗的不光是带宽,CPU和内存你的低配也是扛不住的,文件28K,用Nginx开启gzip压缩可以更小一些,但实际上你的一个涵出现3000并发的可能性真的不是太大。
你可以买那种按使用量付费的方式,怕不够用把峰值设的大一些就行了,保证你的帐户里有钱,用多少流量就扣多少钱。

参考:
并发访问3000,如果是小中型网站的话除非是网络恶意攻击,要不然不可能的,普通的3000访问量,哪怕同一时间下,也不可能精确到秒级的同时访问,所以 建议调整CDN负载均衡,还有带宽到5M即可,能保证一小段时间有3000的访问量,注意不是并发。

参考:
首先把你的静态文件都放oss上,好处是客户端请求时静态资源走oss流量不走服务器的,速度快,然后选择按量付费请求流量费5毛1g。
ecs配置2核8g,不用另外买数据盘,使用50m带宽同样选择按量付费5毛1g,足够使用。
活动结束直接释放资源节省成本
参考:
好像文章作者理解有误吧,什么叫1秒内访问数,根据这个还换算不对吧。
严格讲是同一时刻请求,这还得看服务器处理时间,和返回内容大小,加起来才算做服务一个线程处理时间,有可能几十毫秒,有可能几秒或更多。
如果服务器几十上百毫秒就能回应,你这人数1秒内就没啥压力咯。

参考:
这个问题很难有答案技术方案不同差距也很大:1是否使用cdn2是否启用缓存服务器3.http或者nginx打不打开压缩4.如果不打开压缩文件数量的多少会影响服务器io次数。
你这样只能计算你的客户1秒钟收到了多少的数据,没有任何参考价值。

参考:
你说的3000人访问应该不是指技术上的3000并发吧。
真要是技术上的3000并发,低配的ecs撑不住的,如果只是3000用户在某一不是很集中的时间段内访问,那可以根据你的HTML文件大小来计算。
目前阿里云的云计算可以选择动态可调或按量收费的弹性云计算,建议你可以去了解下酌情选择。

参考:
1. 如果是纯静态网页建议直接放在阿里云对象存储OSS里面,然后域名直接CNAME到对像存储上。
为了加速可以选用阿里云CDN,当然这需要额外的费用支出。
2. 如果是动态页面,每秒3000用户同时访问,也就是说每秒要处理3000TPS,这样的集群特别恐怖的,需要几十台ECS配合上负载均衡和弹性伸缩来处理的。
费用挺高的。
3. 如果仅仅是外包的项目,每秒3000用户访问仅仅是客户口中的理论值,建议直接将动态html内容使用阿里云的API网关+函数计算来处理,既满足系统弹性高性能的同时,费用也降的比较低。

参考:
最合适的是放到oos上,再加上cdn