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

硬盘 io 居高不下, nginx 能利用闲置的内存缓解一下 io 吗?

  •  
  •   kisshere · 2020-03-03 10:00:30 +08:00 · 2881 次点击
    这是一个创建于 1726 天前的主题,其中的信息可能已经有所发展或是发生改变。

    纯静态的服务器,高读写导致 io 居高不下,很多静态文件都要过很久才能打开,而服务器 64G 内存实际占用了 1G 左右,有没有方法利用内存缓解一下 io ?

    11 条回复    2020-03-03 20:29:04 +08:00
    podel
        1
    podel  
       2020-03-03 10:08:35 +08:00
    linux 本身就有把内存当错 file buffer 的功能。

    total used free shared buff/cache available
    Mem: 16262080 5732676 2309932 21392 8219472 10236760
    Swap: 0 0 0

    buff/cache 就是用内存缓存的文件。windows 也有类型的功能。
    realpg
        2
    realpg  
       2020-03-03 11:03:00 +08:00
    你静态文件总量多大?
    Lax
        3
    Lax  
       2020-03-03 11:06:37 +08:00
    写入也多?
    xsir2020
        4
    xsir2020  
       2020-03-03 11:10:31 +08:00
    nginx + redis 静态文件缓存命中就直接从 redis 里面取,速度会快很多。
    fancy111
        5
    fancy111  
       2020-03-03 11:16:45 +08:00
    静态转动态,读入缓存。
    qwerthhusn
        6
    qwerthhusn  
       2020-03-03 11:17:57 +08:00
    dusu
        7
    dusu  
       2020-03-03 11:20:31 +08:00 via iPhone
    I/O 高不一定是读文件的问题

    也有可能是文件数量多导致
    encro
        8
    encro  
       2020-03-03 11:33:30 +08:00   ❤️ 1
    当然可以,nginx 开启缓存功能非常强大。分为 4 级:
    1,开启客户端 cache,设置 expires 头;
    2,开启文件系统缓存,open_file_cache 相关;
    3,开启代理缓存,设置 proxy_cache 相关;
    4,开启脚本缓存,设置 fastcgi cache 相关;

    1,2 参考 https://stackoverflow.com/questions/19515132/nginx-cache-static-files
    3 参考 https://www.nginx.com/blog/nginx-caching-guide/
    4,参考 https://www.digitalocean.com/community/tutorials/how-to-setup-fastcgi-caching-with-nginx-on-your-vps

    附赠思考题:如何查看 IO 用在了哪里?
    sockpuppet9527
        9
    sockpuppet9527  
       2020-03-03 13:22:12 +08:00
    小文件 + nvme 盘 可以看看 spdk。
    hankai17
        10
    hankai17  
       2020-03-03 18:39:32 +08:00
    小文件多 那就上缓存
    dorothyREN
        11
    dorothyREN  
       2020-03-03 20:29:04 +08:00
    把静态文件直接扔到 /dev/shm 下面
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 103ms · UTC 12:24 · PVG 20:24 · LAX 04:24 · JFK 07:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.