V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
eason1874
V2EX  ›  云计算

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

  •  5
     
  •   eason1874 · 2019-10-23 04:24:53 +08:00 · 20736 次点击
    这是一个创建于 1860 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个网站,每天约 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 进程一天至少被挤掉一次。
    167 条回复    2019-11-13 16:55:22 +08:00
    1  2  
    t895
        1
    t895  
       2019-10-23 06:13:20 +08:00 via iPhone
    楼主这么晚不睡觉吗?大晚上引战的赶脚……
    hushuang
        2
    hushuang  
       2019-10-23 06:55:00 +08:00 via Android
    1M 够个几把 我拿 1M 和 5M 做 http 代理开网页有明显速度区别 瓶颈就在带宽上
    eason1874
        3
    eason1874  
    OP
       2019-10-23 06:55:50 +08:00   ❤️ 2
    @t895 上半夜睡觉,后半夜才敢折腾生产服务器啊,白天不敢弄,流量都是钱。

    我发这个帖子不是要论战,就是给大家分享我最新的心得,在昨天之前我跟很多人一样觉得 1Mbps 做不了什么,经过昨天这波测试我确定了 1Mbps 跑纯粹网页服务一天 20 万 PV 不是问题,无需担心不够用。
    eason1874
        4
    eason1874  
    OP
       2019-10-23 06:56:44 +08:00
    @hushuang #2 做代理肯定不够用啊,我说的是跑网页服务
    greatdancing
        5
    greatdancing  
       2019-10-23 07:01:01 +08:00 via Android
    @hushuang 看题
    楼主说的是网页,没说代理
    msg7086
        6
    msg7086  
       2019-10-23 07:02:41 +08:00
    我一个小站一个月大概 12T 流量上下,一天大概不到一亿动态请求,平时占用带宽平均 40-50mbps。
    我觉得 1M 应该还是不太够的……(手动狗头
    现在弄了个 1 核的机器做前端,数据库弄了个 2 核的,跑得还行。Nginx 效率真的牛批。
    eason1874
        7
    eason1874  
    OP
       2019-10-23 07:13:15 +08:00
    @msg7086 #6 你重新定义了小站。我说的这个站一天动静态请求全部加起来都没有一百万。
    o00o
        8
    o00o  
       2019-10-23 07:32:12 +08:00 via Android
    @msg7086 你说的小站的含义是赚的钱小的意思吗 😂
    opengps
        9
    opengps  
       2019-10-23 07:36:35 +08:00 via Android
    动静分离,我就是这么干的。 目前每天 1000 访客 ip,5000pv。
    V 站这种文字为主,图片再其他地方的结构就可以用较低配置承载
    weiruanniubi
        10
    weiruanniubi  
       2019-10-23 07:39:05 +08:00 via Android
    重点不是够不够用,而是不够用时的天价带宽费用。
    lulinux
        11
    lulinux  
       2019-10-23 07:44:39 +08:00 via Android
    带宽无限,事后支付流量费,岂不是两全其美。
    eason1874
        12
    eason1874  
    OP
       2019-10-23 07:56:06 +08:00
    @o00o #8 我说的这个站月收入 5k~8k,在挂 adsense 的站点里处中等水平,6 楼的站如果也是这水平,每月至少 50k+吧。

    @opengps #9 小网站动静态分离之后,先扛不住的应该都是内存,1M 主机大多标配 1G 内存。

    @weiruanniubi #10 主机都自带 1M 公网带宽,够用了,现在 5M 促销机器也很便宜,单独买带宽是比较贵的。

    @lulinux #11 主机自带 1M 公网带宽,既然够用了就用这个可以了。弹性公网 IP 流量费贵,0.8 元 /GB,每天~2GB 流量,全部按量付费的话一年 500 多,我之前买一年 2M 主机才 180。
    msg7086
        13
    msg7086  
       2019-10-23 08:00:59 +08:00
    @eason1874 @o00o
    没什么人访问,动态请求都不是人访问造成的。下面的一个 API 量大,上面的网站冷冷清清。
    赚钱就算了,没打算靠这个赚钱。
    eason1874
        14
    eason1874  
    OP
       2019-10-23 08:07:06 +08:00
    @msg7086 #13 养得起就不用着急赚钱,有用的项目维护久了肯定会有收获。
    msg7086
        15
    msg7086  
       2019-10-23 08:13:47 +08:00   ❤️ 1
    @eason1874 公益项目,从开始就没打算赚钱,以后也不会赚。
    养不起的话就直接关掉,不过现在也没啥养不起的,这么小一个站就两台 VPS 才几块钱。
    opengps
        16
    opengps  
       2019-10-23 08:23:31 +08:00 via Android
    @eason1874 你说的 1M 配 1G 内存,那是 vps 吧,云服务器随意搭配。甚至提供按流量计费
    collo
        17
    collo  
       2019-10-23 08:23:54 +08:00   ❤️ 4
    我觉得像楼主这样分享心得很好啊,各个网站得情况都不同,不同情况不同分析啥,没觉得是引战。
    guisheng
        18
    guisheng  
       2019-10-23 08:36:00 +08:00 via iPhone
    我现在有 3 台 国内 2 台 分别是 2c4g. 一个 1m 一个 2m 目前只用到了 2m 部署 Wordpress 还有 1 台 国外的 是帮瓦工 由于购买国外的主题 需要用到谷歌字体及国外资源 备案是在目前用的这台 2M 的 请问各位大佬 我怎么 合理使用这鞋
    些资源 使我的博客速度访问更快呀。
    guisheng
        19
    guisheng  
       2019-10-23 08:36:30 +08:00 via iPhone
    国内 2 台 不再同一网段中
    eason1874
        20
    eason1874  
    OP
       2019-10-23 08:55:17 +08:00
    @opengps #16 是云服务器,我说的是促销机型
    eason1874
        21
    eason1874  
    OP
       2019-10-23 08:59:59 +08:00
    @guisheng #18 1M 的都没备案,用不起来了,IP 访问当后端也可能被屏蔽访问。

    都是 2c4g 的话,流量不大的情况下一台跑 WordPress 就可以了。流量大了不够用就把另一台也接入备案,DNS 负载均衡,或者用一台跑后台一台跑前端(前提是瓶颈在计算,而不是带宽)。

    主题里引用谷歌字体和国外资源的问题,总共也不会有多少,你手动保存到本地,改成你的网址就行了。
    markgor
        22
    markgor  
       2019-10-23 09:07:05 +08:00
    1M + CDN = 15 万 PV
    20M = 15 万 PV
    LZ 的意思是 20M = 1M 嗎?
    markgor
        23
    markgor  
       2019-10-23 09:12:14 +08:00
    剛以為自己看錯了,
    以為你說的是 1M+CDN 滿足需求。
    但是看看標題,你說的是為 1M 正名。
    你可以試試不上 CDN 的時候情況如果,上了 CDN 為 1M 正名這不有點扯嗎....
    你的 1M 只是回源帶寬 1M,別人訪問有緩存走緩存,沒緩存去 CDN,非靜態資源跑會源站。
    但是你上面又說了都是靜態資源,那不就等於除了第一次訪問 CDN 需要回源,後續的 CDN 基本不會回源嗎?
    eason1874
        24
    eason1874  
    OP
       2019-10-23 09:15:29 +08:00
    @markgor 不是这样子,你理解错了。

    静态资源我开了最高 20M,但是实际最高才跑到~0.65M ,平均值~0.25M ,总共请求~50 万。

    15 万 PV 指网页的,与静态资源无关,网页平均值也是~0.25M ,与静态资源加起来不到 0.6M ,可不就是不到 1M 吗?
    eason1874
        25
    eason1874  
    OP
       2019-10-23 09:21:30 +08:00
    @markgor #23 不都是静态资源,页面虽然 HTML 静态化,但我还是把 HTML 跟其他静态资源区分的。像我上一条回复说的,HTML 这边出带宽平均值~0.25M ,其他静态资源也是~0.25M ,加起来不到 1M。
    markgor
        26
    markgor  
       2019-10-23 09:24:05 +08:00
    @eason1874 HTML 不就是靜態嗎...?
    chuhemiao
        27
    chuhemiao  
       2019-10-23 09:24:53 +08:00
    不提交数据 1m 还可以 都是静态加上 cdn 足够用了
    guisheng
        28
    guisheng  
       2019-10-23 09:26:31 +08:00
    @eason1874 好吧 感觉目前访问比较慢 目前没人访问。我还在考虑要不要+600 元升级 带宽为 5m 呢 毕竟目前有个 1500 -1000 的优惠卷
    eason1874
        29
    eason1874  
    OP
       2019-10-23 09:26:34 +08:00
    @markgor #26 HTML 是静态文件没错,但是我没有缓存到 CDN 上面,跟动态请求一样是走服务器带宽的
    eason1874
        30
    eason1874  
    OP
       2019-10-23 09:30:33 +08:00
    @chuhemiao #27 一般用户交互也不怕,云服务器入带宽都不低,比如腾讯云最低入带宽是 10Mbps

    @guisheng #28 不用考虑了,静态资源走 CDN 按量计费,什么时候有 30 PV+ 了再考虑升级带宽,毕竟带宽是很贵的。
    markgor
        31
    markgor  
       2019-10-23 09:32:11 +08:00
    @eason1874 #29
    我試過的 1M 機器不走 CDN 情況下和 2L 所說的一樣。
    不過可能你把所有資源打包一起 50KB 的原因吧。(這個真厲害,我這 JS 那堆文件加起來就不止了,上別人的 cdn 怕不穩定)
    另外好奇你那站點一張圖片都沒有嘛?還是都丟 CDN 去了?
    LeBron23
        32
    LeBron23  
       2019-10-23 09:36:38 +08:00
    从来不觉得 1M 的是小水管,七牛又拍猫云,这么多能薅羊毛的 cdn 不香嘛
    malusama
        33
    malusama  
       2019-10-23 09:39:31 +08:00   ❤️ 1
    能上 CDN 那 1M 差不多就一个 api 获取数据的也够,但是上国内的 CDN 域名得备案。
    moe 后缀的域名就不支持备案,很恶心
    eason1874
        34
    eason1874  
    OP
       2019-10-23 09:49:23 +08:00
    @markgor #31 文字为主,图片很少,有图片也会进行压缩处理。我的静态资源少主要是因为全部手写,如果引入第三方模块的话,一个 Bootstrap CSS 文件大小就相当于我整个页面了。

    按现在流行的做法,一个页面的静态资源随随便便超过 1MB,不上 CDN 是不行的。
    eason1874
        35
    eason1874  
    OP
       2019-10-23 09:52:57 +08:00
    @LeBron23 #32 香啊,腾讯云每次活动我都领券买流量包,折合 0.09/GB,这次双 11 也领了,真香。

    @malusama #33 搞个可以备案的后缀的域名专门用来放静态资源呗,反正用户又看不到域名。
    zhjits
        36
    zhjits  
       2019-10-23 09:53:00 +08:00   ❤️ 1
    你得区分一下是限制死的 1Mbps,还是平均 1Mbps + burst 5Mbps (举个例子),还是 95% 1Mbps。虽然你可能一天的总流量不超过 1Mbps*1day,但是突发速率很可能会在某些时候超过 1Mbps。这个时候如果你是限制死的 1Mbps 没有 burst,你的网站访问延迟会增加。(用户总能加载出来,但是需要等。)

    对于单请求本来就小的网站,带宽确实没那么重要。举个例子,我们有个网站峰值 PV 是 4k/s 左右,单个请求不到 1KB,勉强跑满 5Mbps 的带宽。
    netherlanddennis
        37
    netherlanddennis  
       2019-10-23 09:56:47 +08:00
    即将一大波杠精来袭。楼主顶住~~
    eason1874
        38
    eason1874  
    OP
       2019-10-23 10:00:28 +08:00
    @zhjits #36 这个我不清楚。我这连 1Mbps 都没跑满过,没机会体验有没有限死。就 SFTP 来看是限得很死的,凌晨传了一个近 200MB 的日志文件,始终没有超过 128KB/s。

    你说的延迟我知道是什么,Nginx 的频率限制可以配置超过限制之后让用户等待响应还是直接返回拒绝,情况类似。
    TomVista
        39
    TomVista  
       2019-10-23 10:01:04 +08:00   ❤️ 1
    你们写的网页真小.....,我的体积爆炸
    eason1874
        40
    eason1874  
    OP
       2019-10-23 10:03:27 +08:00
    @netherlanddennis #37 哈哈哈,有经验的欢迎来杠啊,我一直探寻有什么更低成本的方法处理更多的网页请求,手里机器不是学生机就是促销活动最低配置机型,V 站里老有人说买了 2c4G5M 的机型,感觉 V 站用户像我这么抠的不多,哈哈哈
    ShangAliyun
        41
    ShangAliyun  
       2019-10-23 10:06:54 +08:00
    只看峰值,不看总量!!!
    你一秒钟稳定只有一个请求,每天 86400 个毫无感觉
    扩大下每秒 3 个请求,单页 40k,每秒占用 120k 刚刚满
    Caskia
        42
    Caskia  
       2019-10-23 10:12:22 +08:00
    @eason1874 很多人都没去实践,就得出结论,个个都认为自己是大站,随时被别人爬,随时有人外链。感谢楼主分享。
    o0
        43
    o0  
       2019-10-23 10:33:33 +08:00 via iPhone   ❤️ 1
    很多人在项目还没上线之前,就在 yy 服务器够不够用,hhh。
    heiheidewo
        44
    heiheidewo  
       2019-10-23 10:45:31 +08:00
    @eason1874 数据库大的话吃内存啊,4G 以上内存的服务器没有单核的吧
    dusu
        45
    dusu  
       2019-10-23 10:45:43 +08:00 via iPhone   ❤️ 1
    楼主只考虑了正常请求,当你被 baiduspider/googlebot/bytesipder 等爬哭又不能禁的时候你就知道有多痛苦了,所以,这种讨论在我看来意义不大,该用带宽的时候你想省都省不了。(俺的站每天 2 亿请求)
    litpen
        46
    litpen  
       2019-10-23 10:52:06 +08:00   ❤️ 1
    赞同楼主的低配高效率做法,我跟一个后端朋友搭一个小网站,他用的 JAVA 框架加一些基本的数据库就占了 4G 以上内存了,所以他想买 16G 内存,和 10M 带宽我的天,最后被我打回 8G+4M 了,要是技术好点能注意一下就可以省不少钱了。
    eason1874
        47
    eason1874  
    OP
       2019-10-23 11:02:15 +08:00
    @ShangAliyun #41 我限制了每个请求 20KB/s,设想每秒可以同时满足 6 个网页请求,然而日常运营没有跑满过 1Mbps
    ,我一直以为是带宽监控不准。经过昨天测试,现在确定了确实没有跑满过,之前是我想太多。我现在觉得,流量分布在上午、下午、晚上三个时间段的普通网站,把静态资源放在 CDN 后,1Mbps 可以满足每日 20 万 PV 了( 30KB~50KB )。
    eason1874
        48
    eason1874  
    OP
       2019-10-23 11:04:02 +08:00
    @Caskia #42
    @o0 #43

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

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

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

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

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

    居然还沾沾自喜,

    居然还为 1Mbps 证明?
    msg7086
        61
    msg7086  
       2019-10-23 11:50:08 +08:00
    @a33656092 小 p 站是什么……
    我搞的是一个 BT 站。
    a33656092
        62
    a33656092  
       2019-10-23 11:54:27 +08:00
    @msg7086 看着你自己的头像,再想想 p 站是什么,啦啦啦啦,不可言说
    dongcxcx
        63
    dongcxcx  
       2019-10-23 12:05:09 +08:00
    @laminux29 你是不是只看了一个标题就开始。。。
    6w ip 都是爬虫吗?楼主已经说了集中在早中晚三个时间点。
    多大的带宽合适得看业务啊
    eason1874
        64
    eason1874  
    OP
       2019-10-23 12:06:18 +08:00
    @laminux29 #60 我这个站每月稳定收入 5k~8k,多的时候近 9k,来,你找几个会点广告还不被识别的爬虫给我看看。

    我帖子里都说了流量集中在上午下午晚上,你怎么就脑补出来三更半夜了呢,看过帖子内容吗?

    做过正经网站吗?正经网站流量曲线都差不多,上午一个高峰、中午落下、下午一个高峰、傍晚落下、晚上 8 点到 11 点又一个高峰,11 点后慢慢减少,凌晨 4 点探底然后慢慢回升到上午高峰。日常流量根本不存在什么集中访问,集中访问是你自己想象出来的。
    iugo
        65
    iugo  
       2019-10-23 12:12:14 +08:00
    关键词: 静态资源也放到了 CDN
    miniwade514
        66
    miniwade514  
       2019-10-23 12:19:03 +08:00
    楼主是在分享实打实的省钱技巧,就看有没有那个心思去做这些优化了。
    woahishui
        67
    woahishui  
       2019-10-23 12:20:25 +08:00 via Android
    写的网页 2k
    XxxxD
        68
    XxxxD  
       2019-10-23 12:43:42 +08:00   ❤️ 1
    我想知道楼主的网站地址..
    ciaoly
        69
    ciaoly  
       2019-10-23 13:12:48 +08:00 via Android
    @msg7086 我怀疑你这个小站是不是那种“小电影的网站”的缩写。
    mingtianjiayou
        70
    mingtianjiayou  
       2019-10-23 13:17:34 +08:00
    敢为是什么网站?
    heiheidewo
        71
    heiheidewo  
       2019-10-23 13:27:55 +08:00
    楼主的流量 pc 和手机各占比多少呀
    Showfom
        72
    Showfom  
       2019-10-23 13:29:29 +08:00
    一百几十个人同时在线很常见。。。。

    你 1M 带宽。。。。吓唬谁呢
    Revenant
        73
    Revenant  
       2019-10-23 13:31:53 +08:00
    @lulinux 万一被别人一个 DDoS,早上起来发现自家房子赔没了(手动狗头
    lc7029
        74
    lc7029  
       2019-10-23 13:38:06 +08:00
    1C1G1M50G 乞丐配置路过,CDN 当然有
    不过我是为了隐藏真实 IP
    ShangAliyun
        75
    ShangAliyun  
       2019-10-23 13:46:51 +08:00
    @eason1874 这个带宽限制并不合理,因为带宽这个东西,他峰值用的高时间延迟就短,只要不是较长时间连续占用,给一个稍微高点的单请求带宽限制更合理
    eason1874
        76
    eason1874  
    OP
       2019-10-23 13:47:00 +08:00
    @XxxxD #68 网址一发,一觉醒来广告联盟封了,亲身经历。

    @mingtianjiayou #70 不方便透露,能说的都是还没赚钱的。

    @heiheidewo #71 工作向内容,不考虑手机访问,我连手机访问都没适配。

    @Showfom #72 同时在线说的是一分钟内,不是一秒内。

    @lc7029 #74 网址都不发最安全。
    mikulch
        77
    mikulch  
       2019-10-23 13:48:35 +08:00
    谢谢楼主分享。这个经验对我很有用。
    不知道是否能留个 qq 呢?

    以后小站有些宽度上的优化经验可能还要请教你~
    eason1874
        78
    eason1874  
    OP
       2019-10-23 13:48:38 +08:00
    @ShangAliyun #75 我限速 20KB/s 主要是因为我的网页普遍不到 20KB,静态资源又在 CDN 了,完全不影响访问,一点就开,跟本地访问一样快。
    eason1874
        79
    eason1874  
    OP
       2019-10-23 14:08:29 +08:00   ❤️ 1
    @mikulch #77 我没其他经验了啊,要说其他的,就只有一个奇技淫巧了。

    这是做别的项目总结的方法:服务器带宽只有 1Mbps 却要提供经服务器处理的几 MB 甚至几十 MB 的文件下载,这种情况可以先通过内网(内网带宽高)把文件传到同地域的对象存储,然后再返回一个有时效的对象存储链接给用户去下载。
    msg7086
        80
    msg7086  
       2019-10-23 14:11:31 +08:00
    @ciaoly 放心,不是哒。
    arraysnow
        81
    arraysnow  
       2019-10-23 14:16:59 +08:00
    静态资源比较小吧,如果静态走 cdn,那 1m 真是妥妥的
    lc7029
        82
    lc7029  
       2019-10-23 14:27:45 +08:00
    @eason1874 被黑大不了关站呗,又没多少重要的东西或者说不能中断服务
    okwork
        83
    okwork  
       2019-10-23 14:32:39 +08:00 via Android
    最头痛的是那些搜索引擎光爬数据,不输出。你去搜还没有结果,要投广告才给显示。爬什么爬吖
    wolfan
        84
    wolfan  
       2019-10-23 14:34:12 +08:00 via Android
    字体文件可以放 cdn 不?
    lydasia
        85
    lydasia  
       2019-10-23 14:40:39 +08:00 via Android
    你拿 1mbps 做代理,不干别的,就浏览网页,看看什么感受?
    eason1874
        86
    eason1874  
    OP
       2019-10-23 14:41:11 +08:00
    @okwork #83 新站从抓取到展示需要一点时间。

    @wolfan #84 可以,现在 CDN 都支持自定义 header,你配置好跨域 header 就没问题了。
    jsq2627
        87
    jsq2627  
       2019-10-23 14:54:57 +08:00   ❤️ 1
    楼主说的基本靠谱。
    公司有个 PV 是楼主 10 倍的站,服务器峰值带宽差不多是 15m,日常也就 6-8m 的样子。网站做了动静分离,静态资源都是走 CDN。

    所以说对于纯动态请求的后端服务,真心用不了多大带宽。即使带宽不够,多开几个 5m 机器做负载均衡,比把单机带宽升上去便宜多了。
    alexkkaa
        88
    alexkkaa  
       2019-10-23 15:08:33 +08:00 via Android
    这不废话吗,你把图片视频都放在别的服务器上,主服务器 100k 都够用。 你试着放一堆视频,我觉得你可以申请破产了
    BOOM
        89
    BOOM  
       2019-10-23 15:09:37 +08:00   ❤️ 1
    楼主目前方案按我的理解如下:
    运行配置:一台 1c1g1m 在跑整个服务( 1m 的是主网卡,还搭配了一个副网卡);
    运行服务:ngx_lua + MySQL + 监控 MySQL 脚本;
    资源分配:针对每个 PV,.html 在 vps 上 gzip 压缩(约 25kb ),css + js + 图片 + 字体在 CDN 上(约 35kb );
    备选容错:准备了两台额外的 2m 和 5m 的服务器防止带宽不够;
    调控政策:每个 ip 最高速度 20kb/s。

    省钱方案:
    1. 购买学生机、特价机、特价流量包;
    2. 上 CDN 按量付费。

    我的问题:
    1. 只有.html 是 gzip 压缩吧?是否是 CDN 上的资源就不打包了,让他们一个个地单独和 CDN 请求,但是用户和 VPS ( ECS )的请求只进行一次,服务器返回 gzip 给用户。
    2. CDN 并不是全局 CDN 吧?就是还是会暴露服务器的真实 ip。
    eason1874
        90
    eason1874  
    OP
       2019-10-23 15:35:43 +08:00   ❤️ 1
    @BOOM #89 你就是列文虎克吧,我评论里说的你也看完了,厉害,基本就是你说的这样,除了最后速率限制不对,我是按单个请求限制速率,不是按单个 IP。

    1. 用户跟 ECS 就只有网页 doc 本身一个请求,其他静态资源全是走 CDN,都开了 Gzip 压缩。
    2. 服务器 IP 没有隐藏,网页域名直接解析到服务器 IP,CDN 用的其他域名,现在打算干脆不用 CDN 了。

    我在个人网站安全方面的心得是:打好系统安全补丁,及时屏蔽异常 UA/IP,不要在站长社区发自己的网址,就没事。如果发了,套 CDN 也不管用,因为套 CDN 也不影响人家刷你的广告联盟把你账户搞到封号。
    PetterZhu
        91
    PetterZhu  
       2019-10-23 15:43:58 +08:00
    带宽,主机,流量,永运都不是问题的点,没有流量,才是问题的点。。。。。。
    空有屠龙技,无龙可屠,整毛线!
    laminux29
        92
    laminux29  
       2019-10-23 15:58:43 +08:00
    @dongcxcx 早中晚这也算是集中?你对集中是不是有什么误解?
    laminux29
        93
    laminux29  
       2019-10-23 16:01:49 +08:00
    @eason1874 反正网站是你的,而且你也不发网站与网址,所以数据你怎么编都行。
    BOOM
        94
    BOOM  
       2019-10-23 16:05:45 +08:00
    @eason1874 #90
    优化到这么细致那还是有点儿不可思议,讲道理这可以是一劳永逸的事情。
    技术栈呢? PHP+MySQL 吗?
    如果有两台服务器在内网,可以拿一个当数据库,或者直接购买阿里 /腾讯的云数据库吧。
    eason1874
        95
    eason1874  
    OP
       2019-10-23 16:13:41 +08:00
    @laminux29 #93 本想解释,打着字突然不想多说什么,就一句话:你没见过世面
    SingeeKing
        96
    SingeeKing  
       2019-10-23 16:21:17 +08:00
    我一直好奇为什么国内带宽这么贵,感觉国外的带宽全是不限制而限制流量
    eason1874
        97
    eason1874  
    OP
       2019-10-23 16:32:29 +08:00   ❤️ 1
    @BOOM #94 服务器就两个自装软件,编译了 ngx_lua 模块的 Nginx 和 MariaDB。

    本来想用 PHP + MySQL 的,因为 PHP 是我学的第一门语言,用起来顺手,但当时只有一台 1c 1g 的服务器,考虑到 PHP-FPM 太吃内存于是放弃了,用了 ngx_lua。

    现在只有后台管理程序会用到 MySQL,面向用户的数据都事先生成文件缓存了,当用户访问的时候 ngx_lua 就会去读对应的文件缓存然后解析模板返回。因为 ngx_lua 模块代码会加载到内存,网页模板也就随着加载到内存,所以每次访问也就读取个内容文件,个人感觉效率跟 Nginx 提供静态文件访问效率一样(没测过,猜的),至今没遇到过什么瓶颈,跑一个月 Nginx 安然无恙,MariaDB 至少重启几次(不懂配置,用的默认配置)。
    heiheidewo
        98
    heiheidewo  
       2019-10-23 16:34:12 +08:00
    都赚钱了,可以把带宽弄到 5M 啊,价格没贵多少,万一哪天流量大涨呢
    Rwing
        99
    Rwing  
       2019-10-23 16:35:17 +08:00
    请教是什么站,可以分一杯羹不?
    myqoo
        100
    myqoo  
       2019-10-23 16:35:38 +08:00
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3118 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 14:01 · PVG 22:01 · LAX 06:01 · JFK 09:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.