Ginson
V2EX  ›  问与答

网站目录下静态网页文件过多会影响访问吗?

  •  
  •   Ginson · Dec 9, 2019 · 3494 views
    This topic created in 2372 days ago, the information mentioned may be changed or developed.
    RT,有一批因特殊原因及目的生成的静态页面,数量大约在 6 万个,放在 /news 目录下,通过 www.site.com/news/*.html 的 URL 访问。

    打包给运维发布上线时被 diss 了,他表示目录下文件过多会影响访问,但是具体怎么影响没说。

    想请问下 v2 的大家,是否确实如运维同事所说『网站目录下静态网页文件过多会影响访问』
    25 replies    2019-12-10 01:06:10 +08:00
    DeWhite
        1
    DeWhite  
       Dec 9, 2019
    会。文件太多了有的时候会导致反应迟缓。
    virusdefender
        2
    virusdefender  
       Dec 9, 2019
    机械硬盘的文件系统性能会比较差
    virusdefender
        3
    virusdefender  
       Dec 9, 2019
    缓存好应该问题也不大,系统也有缓存的
    DeWhite
        4
    DeWhite  
       Dec 9, 2019
    因为存在一个阅历的过程,影响极小。
    但是如果连接数量大了,阅历起来会占一定问题。
    如果连接很大,会加载迟缓。
    id7368
        5
    id7368  
    PRO
       Dec 9, 2019 via iPhone
    直接 CDN 不就行了,60 万都没问题
    wafm
        6
    wafm  
       Dec 9, 2019
    站群 SEO ?
    lxk11153
        7
    lxk11153  
       Dec 9, 2019
    会把,把手机里微信图片 217773 个文件删了后,发现手机反应快了
    tabris17
        8
    tabris17  
       Dec 9, 2019
    当然会。大多数文件系统,同一目录下文件过多都会影响读性能
    Ginson
        9
    Ginson  
    OP
       Dec 9, 2019
    @DeWhite
    我原来的理解,用户通过 URL 访问应该时可以直接定位到具体 html 文件的。
    听您这么说,所以实际上系统还是会有一个遍历 -> 找到具体文件的过程?
    Ginson
        10
    Ginson  
    OP
       Dec 9, 2019
    @wafm 老哥太懂了。是 SEO 相关,但不是站群,正规站也可以这么搞的。
    Ginson
        11
    Ginson  
    OP
       Dec 9, 2019
    wafm
        12
    wafm  
       Dec 9, 2019
    @Ginson 访问的影响性应该不大,查询的影响就大了
    msg7086
        13
    msg7086  
       Dec 9, 2019   ❤️ 1
    ext2 用的是线性存储,意味着要在 10 万数据中定位一个文件最差可能要检索 10 万次数据才能找到文件记录。
    ext3 用的是 H 树,所以每次定位可能最多需要两三次即可找到。

    所以如果你们的服务器用的是 ext3 之后的文件系统(又或者是类似的 XFS ),一般不用担心文件定位性能。
    Cbdy
        14
    Cbdy  
       Dec 9, 2019 via Android
    看具体实现
    gamexg
        15
    gamexg  
       Dec 9, 2019
    听说现在新文件系统问题不大了,
    但是有另一个问题,运维进入这个目录,来个 ls,不知道会不会很烦
    delectate
        16
    delectate  
       Dec 9, 2019
    会,这个和存储介质( ssd/hdd/阵列)、文件系统有关。hdd 磁盘寻道会更慢,ssd 写放大。

    可以适当的分目录存储。
    caryqy
        17
    caryqy  
       Dec 9, 2019
    最好别全部在一个目录下,单个目录下文件数目是有个限制的.

    添加一个子目录, 比如 a1111.xml a2222.xml b2222.xml 这些目标文件在生成的时候根据第一个字母来决定目录,

    最终类似这样 xxx/a/a1111.xml, xxx/a/a2222.xml, xxx/b/b2222.xml
    crella
        18
    crella  
       Dec 9, 2019 via Android
    Ginson
        19
    Ginson  
    OP
       Dec 9, 2019
    @msg7086 ext4,所以问题应该不大。毕竟又不是要追求极致性能
    @gamexg 确实,ls 一下挺久的,可能最大影响就是运维的心情
    musi
        20
    musi  
       Dec 9, 2019
    运维只是 diss 不骂人?这个运维脾气还挺好
    msg7086
        21
    msg7086  
       Dec 9, 2019 via Android
    @caryqy 文件数目有什么样的限制?
    lmmortal
        22
    lmmortal  
       Dec 9, 2019 via Android
    @msg7086 fat32 同一目录下限制好像在 65534 个以内
    rogwan
        23
    rogwan  
       Dec 9, 2019 via iPhone
    不会。磁盘文件系统可以直接定位到对应文件名。
    akira
        24
    akira  
       Dec 10, 2019
    最好还是做个二级目录三级目录
    walpurgis
        25
    walpurgis  
       Dec 10, 2019
    看一些老的 PHP 网站程序,对于要服务器本地存储的情况,都在文件路径里加时间或哈希,防止单目录文件数过多,达到文件系统限制
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5435 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 08:57 · PVG 16:57 · LAX 01:57 · JFK 04:57
    ♥ Do have faith in what you're doing.