静态博客,没有服务端,如何做性能和缓存优化? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
alphabeta
V2EX    程序员

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

  •  
  •   < href="/member/alphabeta">alphabeta 2017-01-05 11:23:15 +08:00 3633 次点击
    这是一个创建于 3254 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果没有服务端,应该就没法做常见的 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     Solana     5726 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 01:51 PVG 09:51 LAX 17:51 JFK 20:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86