V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alphabeta
V2EX  ›  程序员

静态博客,没有服务端,如何做性能和缓存优化?

  •  
  •   alphabeta · 2017-01-05 11:23:15 +08:00 · 3063 次点击
    这是一个创建于 2671 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果没有服务端,应该就没法做常见的 HTTP 缓存的处理逻辑了吧?那么还有那些可以进行性能优化的方式了?

    16 条回复    2017-01-10 17:11:58 +08:00
    xiaoyang7545
        1
    xiaoyang7545  
       2017-01-05 11:25:54 +08:00
    既然是静态的那存储在磁盘里已经很高效了。如果能提升就是缓存到内存中。
    shibingsw
        2
    shibingsw  
       2017-01-05 11:28:17 +08:00
    静态博客没有服务端这个说法就不对。。
    akira
        3
    akira  
       2017-01-05 11:30:26 +08:00
    图片压缩
    CDN
    ryd994
        4
    ryd994  
       2017-01-05 11:33:28 +08:00
    静态博客能有性能问题?静态站有 nginx 就够了,如果你需求简单也可以试试 lighthttpd ,差不了多少。瓶颈是网络,其次是磁盘。
    加 CDN 也只是加速访问而已

    @xiaoyang7545 操作系统会缓存的啊,除非请求有相关性可以 preload 。不过那样又要跑程序了。大并发的情况下还不如直接上。
    gimp
        5
    gimp  
       2017-01-05 11:33:42 +08:00
    全站 CDN
    metaquant
        6
    metaquant  
       2017-01-05 11:34:40 +08:00
    推荐 service worker 的本地缓存方案,可以将静态与动态资源按配置缓存在本地的 cache storage 中,针对不同资源设置不同的缓存时间、缓存空间大小等,这样,就不需要去服务端配置缓存逻辑了。具体配置参见: https://metaquant.org/service%20worker-web%20performance-cache.html
    alphabeta
        7
    alphabeta  
    OP
       2017-01-05 11:36:33 +08:00
    @shibingsw 可能题目有歧义,我没有说静态博客没有服务端,只是我的博客因为托管在 github pages 上,所有无法操作服务端
    bazingaterry
        8
    bazingaterry  
       2017-01-05 11:37:17 +08:00 via iPhone
    减少 /合并请求,上 HTTP2 ,资源尽量放到一个域名下,因为冷门域名解析时间也很可观的,会造成白屏时间过长。
    alphabeta
        9
    alphabeta  
    OP
       2017-01-05 11:37:31 +08:00
    @ryd994 我托管在 github 上, nginx 等需要服务端操作的都做不了
    jarlyyn
        10
    jarlyyn  
       2017-01-05 11:37:47 +08:00
    静态已经是最大的优化了。
    ryd994
        11
    ryd994  
       2017-01-05 11:54:09 +08:00
    @alphabeta 上 CDN ,没别的了
    springmarker
        12
    springmarker  
       2017-01-05 18:08:10 +08:00 via Android
    放对象存储里(或者 cdn),上 http2 ,很多带 gzip 压缩
    Technetiumer
        13
    Technetiumer  
       2017-01-05 18:55:28 +08:00
    噗,那还优化什么。。
    优化一下你的前端 ==
    减少前端代码,压缩 JS CSS ,静态文件比如图片放到国内云储存,试试 Staticfile CDN

    静态已经是最大的优化,再优化就是缓存到内存中,然而你操作不了服务器, Github Pages 也没有性能问题,有你也管不了。。。
    还有,就是用 CDN 缓存所有文件,包括 HTML ,把 CDN 当作服务器,然而 Github Pages 已经使用了 Fastly CDN 。
    shibingsw
        14
    shibingsw  
       2017-01-05 22:51:02 +08:00
    对于服务端而言,往往是当你的某个请求有大量的数据库查询,耗时的计算时才需要缓存什么的,而你这个都已经静态化了,就是纯文件的返回,没什么必要再做多少优化了,再优化就是前端的优化了,资源合并什么的
    shallyy
        15
    shallyy  
       2017-01-07 23:33:40 +08:00 via Android
    @Technetiumer 请问 OSS 算不算一种 CDN 呢?一直不是很明白这两个的关系
    Technetiumer
        16
    Technetiumer  
       2017-01-10 17:11:58 +08:00
    @shallyy

    OSS 是云储存

    七牛 又拍 属于 云储存 + CDN
    百度云加速 属于 CDN
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5864 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:18 · PVG 10:18 · LAX 19:18 · JFK 22:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.