3000人同时访问一个单纯的html文件(放在阿里云最低配的ECS下,apache),多少带宽足够?

邹庆征


3000人同时访问一个纯静态文件,静态文件大小28K,那瞬间请求流量最大理论值为:3000x28K≈82M 。但是此值仅仅是理论上的瞬间最大流量,因为你的站点不可能每时每秒都保持在3000人访问,而是一段时间内的访问人数。如果真是每秒都至少是3000人访问,那你的服务器上行带宽至少得在 82x8 = 656M(之所以乘以8,是因为我们说的速率和运营商说的速率不是一个概念,换算单位不同),这样看来费用是相当的高。

但实际情况下并不能这样计算,实际请求带宽要远远低于656M,原因主要有以下几点:

  • 用户流量是分散的,并不是每秒都有3000人访问;

  • 浏览器对于静态页是有缓存的,所以这3000人中有一部分用户发出请求后,其实是直接从本地缓存中加载的,而没有请求远程服务器。

要知道,服务器的上行带宽是很贵的,按上面计算方法,就算打个折,你的服务器固定带宽100M的话,那光带宽费用一个月就要近7000元。

所以一般中小型网站的服务器上行带宽100M都算很大了,鉴于你的访客量不固定,我给你的建议是:

  • 前端走CDN缓存,如果静态文件长期不更新,可以把缓存时间设得很长,如一个月;

  • 后端ECS选择低配即可,带宽不要选固定带宽(选择按使用流量来计费,带宽选择5M足够了)。

这种配置下,别说3000人同时访问了,更高的并发都能抗得住。因为CDN本身就充当了负载均衡的角度,而且CDN节点遍布全国,使得用户“就近读取”静态资源。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,欢迎关注我了解更多科技知识!


网络圈


按照你给出的条件,css,视频,图片,样式都外部存储了,加上是静态网页,采用CDN+50M带宽就足够!利用CDN把静态资源缓存起来,这样 大大减轻了服务器的负担!3000的并发还要考虑cpu,内存以及IO的开销,不单单是考虑带宽!

现在有好多做压力测试的工具,做下压力测试!


zhmn168


3000人同时访问我的理解为并发访问。首先这个要看你文件有多大,然后看用户要在多少秒完加载完,假设你的文件大小是10K,用户要在2秒内加载完,则下载速度的计算方法是: 10K * 3000 / 2 = 14.7M/s,需要14.7 * 8 = 117.6M带宽。 请求包等额外信息,需要150M左右。


MoYangYang


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


分享到:


相關文章: