V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wunonglin
V2EX  ›  程序员

关于 minio 大量小文件超时问题

  •  1
     
  •   wunonglin · 2022-04-09 06:34:11 +08:00 · 2217 次点击
    这是一个创建于 977 天前的主题,其中的信息可能已经有所发展或是发生改变。

    硬盘:东芝(TOSHIBA) 8TB 7200 转 256M SATA 企业级硬盘(MG08ADA800E)

    目前是这样:TrueNAS -> NFSv4 ( hard|proto=tcp|noresvport|nolock )-> k8s -> minio 独立部署

    现在有 100 多万个 object ,object 大小在几 m 范围内,但是现在无论是用 minio 的 mc 去 list ,或者是 s3 的 sdk 自己去 list 都是超时,限制取几个 object 都不行。

    现在是要如何处理这个问题?

    自己用的性能低点没关系,但这加都加不出。。。还是说要换成全固态+缓存盘才能解决?

    xiaoz
        1
    xiaoz  
       2022-04-09 08:41:29 +08:00   ❤️ 1
    你是搭建的单机版 minio 吗?单机版存在这样一个问题,就是如果一个文件夹 a/下面有多个 object ,你 100 万个全放 a/下面,list 性能会非常低,单机版似乎是以源文件方式直接存到磁盘的。

    建议:一个目录 a/(说目录可能不是特别准确),不要放太多的 object ,应该分开放。比如以日期,或者文件 hash 取几位建目录再把 object 放进去。
    460881773
        2
    460881773  
       2022-04-09 09:36:08 +08:00
    养肥了再来学习
    knives
        3
    knives  
       2022-04-09 10:02:45 +08:00
    minio 的存储实际上是通过 NFS 挂的 TrueNAS 空间?

    曾经在生产环境上这么干过,用的集群部署,存储大量小文件。文件数量上来后性能很差,平均响应时间 6~8s 。后来直接上了全固态后响应时间变毫秒级了。

    不过,不排除是服务器当时网络不行,当时只连了一个千兆线。
    wunonglin
        4
    wunonglin  
    OP
       2022-04-09 13:05:00 +08:00
    @xiaoz #1 估计只能分文件夹形式了。主要是我是用 oss 的,当时全是放在根目录,没啥性能问题,谁知道自己搭会碰到,裂开。。。


    @knives #3 我局域网也是千兆,主要是我看在 nas 上也是 list 很慢,慢到接受不了,应该不是网络的问题。磁盘性能问题没跑了,大小小文件还是没法用机械盘。。没用固态是因为都是冷数据,可能放了几百年不看一次的。。我就想着慢几秒都都没事,能加载出来就好,谁知道。。。
    hzj629206717
        5
    hzj629206717  
       272 天前
    @xiaoz 的建议不错。单机版一个 bucket 就是一个本地目录,如果数量太多,就自己划分多级结构进行分散。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2994 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:58 · PVG 18:58 · LAX 02:58 · JFK 05:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.