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

用对象存储(OSS/COS)保存 WordPress 博客文章,效果可行吗?

  •  
  •   plusDiscuss · 2020-04-20 09:45:17 +08:00 via Android · 5014 次点击
    这是一个创建于 1713 天前的主题,其中的信息可能已经有所发展或是发生改变。
    手头机器太弱,云计算都有对象存储的服务,某云还能把对象存在桶直接挂载到虚拟机上当硬盘使用。

    考虑把文章内容直接作为对象文件存到对象存储上,访问页面时再从对象存储中把文件取回来解析成 HTML 。手头的 WordPress 站点文章上百万了,优化了几次还是较慢。不清楚改用对象存储实际上访问速度快的起来吗?可用性有保障吗,不要经常出现请求失败
    23 条回复    2020-04-20 23:43:29 +08:00
    cydian
        1
    cydian  
       2020-04-20 09:47:26 +08:00
    如果费用充足,OSS 肯定可行。
    但是既然费用充足,不考虑机器直接换更高性能硬盘?
    WP 的文章,单文章体积不大吧。图片和附件那些另外存放。
    zzzmh
        2
    zzzmh  
       2020-04-20 09:47:48 +08:00
    没具体试过你这种方法,但一般来说,静态文件丢 oss,速度都能起飞。当然内容多了以后,钱包也一起起飞
    cydian
        3
    cydian  
       2020-04-20 09:48:18 +08:00
    打错,不是更高性能的硬盘,是性能更高的 SSD ?
    fredcc
        4
    fredcc  
       2020-04-20 09:49:22 +08:00
    既然你都用 OSS 了,干嘛不直接把 HTML 存在上面作为源站,CDN 直接加速呢。用户每次访问直接读取 COS,账单会很客观
    rekulas
        5
    rekulas  
       2020-04-20 09:50:52 +08:00
    文章存 oss 并不需要多少成本 1 个月可能 2 块钱不到
    wp 确实不好优化 可以考虑静态化插件
    mrytsr
        6
    mrytsr  
       2020-04-20 09:53:39 +08:00 via Android
    先分清慢在哪
    是 wp 运算还是网络
    cydian
        7
    cydian  
       2020-04-20 09:59:45 +08:00
    @rekulas #5 楼主有百万文章。
    所以我觉得回源率会比较高。CDN 划不来,更慢。
    如果是百万文章,每天一个地区访问一遍文章,都是百万级的 PV 了。

    不过,WP 是直接生成 HTML 吗?
    如果 WP 不是用文件的方式保存每一篇文章,
    而是用数据库的,
    那要从数据库下手了。

    目前在用的良心云的机器,我有一个缓存的目录,目录下有过百万的小文件。读取还是非常轻松的,性能瓶颈不是在硬盘的读取上。
    所以还是从其他方面入手吧。
    plusDiscuss
        8
    plusDiscuss  
    OP
       2020-04-20 10:12:09 +08:00 via Android
    @cydian
    @zzzmh
    @fredcc
    @cydian

    是的,综合考虑价格、性能、可靠性考虑的,现在遇到的瓶颈是本机几乎很难再突破性能瓶颈了。

    把文章改成对象存储,价格比单独提升硬件短期看起来成本低,解析时读取存储对象走内网貌似不收流量费,只有请求费用。

    对象存储直接提供对外 HTML 解析访问相当于 URL 跳转了,有些对象存储服务商已经不提供直接访问 HTML 了
    plusDiscuss
        9
    plusDiscuss  
    OP
       2020-04-20 10:14:14 +08:00 via Android
    @mrytsr 数据库慢
    mrytsr
        10
    mrytsr  
       2020-04-20 11:24:52 +08:00 via Android
    用 nginx 的 proxy-cache 就行
    tempdban
        11
    tempdban  
       2020-04-20 12:34:38 +08:00
    wp-super-cache
    opengps
        12
    opengps  
       2020-04-20 12:37:07 +08:00 via Android
    我正在做这样一款产品,有兴趣找我体会下
    yuzo555
        13
    yuzo555  
       2020-04-20 12:44:22 +08:00
    直接使用 CDN 就能缓解机器性能问题呀,而且成本也肯定比提升硬件要低。
    chinesestudio
        14
    chinesestudio  
       2020-04-20 13:16:55 +08:00 via Android
    frp 文件网站都可以存本地 能用 但别指望快
    plusDiscuss
        15
    plusDiscuss  
    OP
       2020-04-20 13:17:07 +08:00
    @mrytsr
    @tempdban
    过期时间不好控制,设置的短效果又不明显

    @opengps 可以呀,不要太贵就行 hhh 怎么找你?

    @yuzo555 会出现刚刚更新的内容,cdn 要回源一次,速度反而慢,旧的没问题
    star7th
        16
    star7th  
       2020-04-20 13:25:53 +08:00
    严重怀疑是垃圾采集站。既然用 wordpress,那就只能去找它有什么插件可以缓存加快一下。个人觉得 wp 是快不到哪里去的,它是大而全的产品,但性能一般。
    如果要自己二次开发,那么,把历史文章完全静态化存在 redis,这样的速度就可以很快了。
    tempdban
        17
    tempdban  
       2020-04-20 13:36:49 +08:00
    @plusDiscuss 过期时间要考虑这么多? 6 小时不行 3 小时,不行 1 小时。
    veike
        18
    veike  
       2020-04-20 14:54:57 +08:00 via Android
    没准这一百万文章就有你们的文章。
    fredcc
        19
    fredcc  
       2020-04-20 15:00:05 +08:00
    @plusDiscuss 对象存储不提供直接访问 html 什么鬼。阿里云 oss,腾讯 cos,aws s3 都支持对象存储直接托管网站和作为 CDN 源站啊。
    plusDiscuss
        20
    plusDiscuss  
    OP
       2020-04-20 15:11:14 +08:00
    @star7th
    @veike
    化工类的,不搭介的

    @tempdban 过期时间我说了不算鸭

    @fredcc 是不能直接用他们的子域名直接提供访问(以前可以),需要绑定自己的加速域名才能访问。
    fredcc
        21
    fredcc  
       2020-04-20 15:20:45 +08:00
    @plusDiscuss 你用人家的子域名,怎么去做备案呢。 你这个问题应该描述为,国内的对象存储都不支持不备案开网站了。
    yuzo555
        22
    yuzo555  
       2020-04-20 16:46:10 +08:00
    @plusDiscuss 你放到对象存储,CDN 第一次访问也要回源到对象存储。

    只要你的源站网络是正常的云厂商的 BGP 网络,你的源站回源质量不会比回源到对象存储差。

    别忘了,就算是同厂商的 CDN 回源自家的对象存储,那也是要边缘节点回源的,也是走公网的(除非是对象存储所在区域当地的边缘节点),也没有内网优势的。
    Huozy
        23
    Huozy  
       2020-04-20 23:43:29 +08:00
    建议你对象存储外再放一个缓存服务器,缓存从对象存储里下出来的所有文件。举个例子,A 文章,已经很久没有访问过了,那么当 B 用户访问 A 文章时,你的资源会从 oss 下放到你的缓存服务器上,缓存服务器设置一个定时清楚缓存文件的 crontab,一周或者 10 天,那么这个期限内,C 用户访问 A 文章时,就可以直接在你的缓存服务器上获取内容。这个模式的好处在于,短时间内高频访问的文章资源可以较快的被获取,同时又能节约 oss 的访问量。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2178 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:34 · PVG 09:34 · LAX 17:34 · JFK 20:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.