[为 1Mbps 正名] 单日 15 万 PV 证明 1Mbps 对小网站来说完全够用

2019-10-23 04:24:53 +08:00
 eason1874
一个网站,每天约 6 万 IP,15 万 PV,每 PV 包括 favicon.ico 在内约 10 个请求,每 PV 所有资源 Gzip 压缩后加在一起约 30KB~50KB (专门优化过页面资源)。

偶尔流量上升,所以常备 1~3 台 5M 机器以防万一,静态资源也放到了 CDN。但我还是有带宽焦虑症,因为 1M 算下来 125KB/s,一个页面 10KB 也就支持 10 个页面并发,5M 也就支持 50 个页面并发。这个网站就是普通网站,流量集中在上午、下午、晚上三个时间点,一百几十个人同时在线很常见。

平时我看控制台服务器监控的外网出入带宽总在 10KB/s 左右,高峰也很少超过 20KB/s,总怀疑是不是监控不准。

今天(现在凌晨,应该说是昨天了),我发现腾讯云副网卡绑定的弹性公网 IP 可以按流量计费,服务器主网卡带宽只有 1Mbps,副网卡申请的按流量计费的弹性公网 IP 最高却可以调到 200Mbps。

于是我手痒了,开了个 20Mbps 的 IP 绑定到副网卡来代替 CDN 工作,测试一天带宽峰值。这个是按量计费我相信统计肯定不会错。同时在云监控设置了告警,条件是一分钟内出带宽超过 1Mbps 就告警,结果一整天什么都没收到。

刚上后台看了看统计,平均峰值在 35KB/s,最高峰不到 80KB/s,一小时最多跑约 140M 流量,一天请求总共 50 万多点。账单计费已经经过精度调整了,肯定没错了。

依据这个数据来看,其实 1Mbps 带宽的 125KB/s 速率就已经可以满足单日 15 万 30KB~50KB 的 PV,甚至有很多富裕。

这个网站页面资源是比较少的,一个页面资源总量相当于常见网页 HTML 大小,但一般网站也会把静态资源放到 CDN,这样算下来常见网页也是 30KB~50KB / PV。

比如 V 站首页 15KB,回复比较多的帖子 30KB,按 30KB 来算,粗略估计 1Mbps 可以满足 V 站用户每天摸鱼看帖 20 万~30 万次。

所以说,正经做网站 1Mbps 不算小水管了,多数情况下这个量级的 PV 访问还没把带宽占满 MySQL 之类的进程就先宕机了,我也是把页面静态化才能在 1 核 1G 的机器上扛得住 10 万 PV,不然 MySQL 进程一天至少被挤掉一次。
20766 次点击
所在节点    云计算
167 条回复
ShangAliyun
2019-10-23 10:06:54 +08:00
只看峰值,不看总量!!!
你一秒钟稳定只有一个请求,每天 86400 个毫无感觉
扩大下每秒 3 个请求,单页 40k,每秒占用 120k 刚刚满
Caskia
2019-10-23 10:12:22 +08:00
@eason1874 很多人都没去实践,就得出结论,个个都认为自己是大站,随时被别人爬,随时有人外链。感谢楼主分享。
o0
2019-10-23 10:33:33 +08:00
很多人在项目还没上线之前,就在 yy 服务器够不够用,hhh。
heiheidewo
2019-10-23 10:45:31 +08:00
@eason1874 数据库大的话吃内存啊,4G 以上内存的服务器没有单核的吧
dusu
2019-10-23 10:45:43 +08:00
楼主只考虑了正常请求,当你被 baiduspider/googlebot/bytesipder 等爬哭又不能禁的时候你就知道有多痛苦了,所以,这种讨论在我看来意义不大,该用带宽的时候你想省都省不了。(俺的站每天 2 亿请求)
litpen
2019-10-23 10:52:06 +08:00
赞同楼主的低配高效率做法,我跟一个后端朋友搭一个小网站,他用的 JAVA 框架加一些基本的数据库就占了 4G 以上内存了,所以他想买 16G 内存,和 10M 带宽我的天,最后被我打回 8G+4M 了,要是技术好点能注意一下就可以省不少钱了。
eason1874
2019-10-23 11:02:15 +08:00
@ShangAliyun #41 我限制了每个请求 20KB/s,设想每秒可以同时满足 6 个网页请求,然而日常运营没有跑满过 1Mbps
,我一直以为是带宽监控不准。经过昨天测试,现在确定了确实没有跑满过,之前是我想太多。我现在觉得,流量分布在上午、下午、晚上三个时间段的普通网站,把静态资源放在 CDN 后,1Mbps 可以满足每日 20 万 PV 了( 30KB~50KB )。
eason1874
2019-10-23 11:04:02 +08:00
@Caskia #42
@o0 #43

带宽焦虑症,我刚刚治好,哈哈哈
eason1874
2019-10-23 11:07:20 +08:00
@heiheidewo #44 不知道,我用 1 核 1G 的服务器,访问量一大就会内存不足然后 MySQL 进程会杀,服务器长期跑一个检测 MySQL 宕机状态并自动重启脚本。如果有两台,一台跑 MySQL 一台跑 Nginx 应该就不存在这个问题了。
a33656092
2019-10-23 11:07:31 +08:00
@msg7086 你的小网站是小 p 站么,哈哈哈
eason1874
2019-10-23 11:10:26 +08:00
@dusu #45 我很直接的,不是正常 UA 全部 deny,运气比较好,搜索引擎没有乱爬我的站。
eason1874
2019-10-23 11:13:41 +08:00
@litpen #46 真的是,抠一点能省不少钱,哈哈哈哈。不过也看人吧,有的人花两三千块买服务器,钱是没省,但是省心啊,不用研究这些。
CivAx
2019-10-23 11:16:06 +08:00
所以为什么不把 ECS 改成流量计费。。流量便宜还省了带宽钱
em70
2019-10-23 11:18:42 +08:00
这个站应该是纯静态页面吧,连服务器都不用,放 OSS 上 CDN 即可,一个 G 流量成本 3,4 毛钱,一天 140M 才几毛
eason1874
2019-10-23 11:18:57 +08:00
@CivAx #53 因为 ECS 本身就有固定带宽啊,现在看来 1Mbps 固定带宽就够用了,我还有 2Mbps 和 5Mbps 的。按流量计费的话还要另外给流量费,划不来。
eason1874
2019-10-23 11:21:01 +08:00
@em70 #54 不是纯静态,也有动态内容,不过我是用 ngx_lua 处理动态内容,耐操,感觉性能跟 Nginx 差不了多少(没测过)。
CivAx
2019-10-23 11:28:38 +08:00
@eason1874 #55 ECS “本身的固定带宽” 是裸机+默认的 1M 收费固定带宽,约 240 块,不是白送的。

流量计费每 GB 0.72 人民币,1 年的固定带宽折算可以提供 333GB 流量,而且是出站流量,入站流量是免费的,同时还有打折的流量包可以买。
eason1874
2019-10-23 11:35:05 +08:00
@CivAx #57 如果我是自由选配的话就按你的建议买,但我买的是学生机型和促销机型啊,这两种机型带宽真就是白送的,哈哈哈。

腾讯云学生机 1c2g1M 一年 120,上次 AMD 机型促销 1c1g2M 一年 180。还有阿里云那边学生机轻量应用服务器 1c2g5M 一年 114。
flowfire
2019-10-23 11:45:03 +08:00
我现在喜欢按流量付费了
laminux29
2019-10-23 11:46:44 +08:00
证明个*,15 万 PV 如果集中访问,你这 1Mbps 的渣带宽,能撑得住?

你能撑得住 15 万 PV,说明这 15 万 PV 的访问很平均,工作时间与休息时间都有稳定的访问量。你觉得谁特 me 三根半夜还会访问你的 po 站?只有爬虫!

这说明你这小 po 站根本就没几个真人访问!

居然还沾沾自喜,

居然还为 1Mbps 证明?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/611931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX