V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cc959798
V2EX  ›  问与答

静态资源服务器随机读磁盘不会造成性能问题吗

  •  
  •   cc959798 · 2018-12-08 12:44:06 +08:00 · 1648 次点击
    这是一个创建于 2185 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们缓存一些文件图片或者把生成的结果缓存成 FileCache,但是文件保存在磁盘上,大量请求过来不会造成磁盘随机 IO 变多而造成性能问题吗?

    15 条回复    2018-12-19 10:56:46 +08:00
    msg7086
        1
    msg7086  
       2018-12-08 13:10:48 +08:00
    可以加内存,让内存来顶。热数据本来就适合放固态硬盘。液态的性能不行。
    cc959798
        2
    cc959798  
    OP
       2018-12-08 15:29:18 +08:00
    @msg7086 是的,可以放在 shm,但是一般的静态自资源如果特别多的话都放在磁盘上就会有问题吧,大量的随机 io 产生,普通磁盘就顶不住了,就算加 ssd,量大了恐怕也不行
    echo1937
        3
    echo1937  
       2018-12-08 15:31:40 +08:00 via iPhone
    会,尤其是海量小文件的读取

    所以才会有 CDN 啊。
    yukiww233
        4
    yukiww233  
       2018-12-08 15:31:49 +08:00
    @msg7086 #1 液态是什么鬼哦
    Lax
        5
    Lax  
       2018-12-08 15:37:23 +08:00
    fs 一般是利用到 page cache 了,只要命中率高磁盘的压力不大。
    你所说的大量请求还要看具体有多大。压测场景很容易把磁盘利用率跑满,实际业务中不是那么容易的。
    除非你的业务特殊到文件的数量和随机性都特别高,其他情况下都不会遇到什么性能问题。
    chickplilita
        6
    chickplilita  
       2018-12-08 16:05:38 +08:00
    @yukiww233 哈哈 我也想到的是液态金属机器人
    msg7086
        7
    msg7086  
       2018-12-09 07:37:13 +08:00
    @cc959798 SSD 性能足够好了。至少在你用上十万兆网卡之前,SSD 阵列的性能已经绰绰有余了。
    cc959798
        8
    cc959798  
    OP
       2018-12-09 10:41:24 +08:00
    @Lax 就算是有 cache,如果文件数量太多也会有问题吧,而且没有热数据的情况下,大量小文件随机 io 估计磁盘就跑满了
    Lax
        9
    Lax  
       2018-12-09 14:15:28 +08:00
    @cc959798 先说说你的文件数量吧
    cc959798
        10
    cc959798  
    OP
       2018-12-09 23:04:27 +08:00
    @Lax 如果类似于图片服务器上万张图片的话,当然如果只有几十张图片确实会把热数据 cache
    Lax
        11
    Lax  
       2018-12-10 12:11:37 +08:00
    @cc959798 “上万张”图片并不是很大的量啊,你可以算算容量是多少。
    如果是 5k 以内的小文件,放内存绰绰有余。如果文件较大比如 100k,也不过才几 G 内存。更大的文件就变成顺序读问题了。
    cc959798
        12
    cc959798  
    OP
       2018-12-10 14:30:58 +08:00
    @Lax 肯定不止 5k,当然这得看业务场景,不过我指的缓存是 page cache,一般的 page cache 也没有几个 g 吧,如果是 ssd 的话肯定会好很多,放个几十 g 也不会太慢,到时候带宽肯定成为瓶颈了
    icegreen
        13
    icegreen  
       2018-12-14 17:52:54 +08:00
    还是看具体的业务场景;

    在访问量足够大的情况下,一定会出现瓶颈的, 然后就针对性的优化吧;

    几年前维护过一个股票行情系统,纯粹的内存读写都成了瓶颈,甚至自己实现了一套内存存储工具;

    但是对于访问量没有那么大的系统, 考虑的太多就成了过度设计. 所以还是放到实际的业务规模下考虑比较实际一些.
    wysnylc
        14
    wysnylc  
       2018-12-19 10:39:07 +08:00
    ( )
    什么水平大家心里有数
    cc959798
        15
    cc959798  
    OP
       2018-12-19 10:56:46 +08:00
    @wysnylc 那请问你什么水平,非得提个大家都看不懂的问题就水平高了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2609 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:33 · PVG 18:33 · LAX 02:33 · JFK 05:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.