硬盘:东芝(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 都不行。
现在是要如何处理这个问题?
自己用的性能低点没关系,但这加都加不出。。。还是说要换成全固态+缓存盘才能解决?
1
xiaoz 2022-04-09 08:41:29 +08:00 1
你是搭建的单机版 minio 吗?单机版存在这样一个问题,就是如果一个文件夹 a/下面有多个 object ,你 100 万个全放 a/下面,list 性能会非常低,单机版似乎是以源文件方式直接存到磁盘的。
建议:一个目录 a/(说目录可能不是特别准确),不要放太多的 object ,应该分开放。比如以日期,或者文件 hash 取几位建目录再把 object 放进去。 |
2
460881773 2022-04-09 09:36:08 +08:00
养肥了再来学习
|
3
knives 2022-04-09 10:02:45 +08:00
minio 的存储实际上是通过 NFS 挂的 TrueNAS 空间?
曾经在生产环境上这么干过,用的集群部署,存储大量小文件。文件数量上来后性能很差,平均响应时间 6~8s 。后来直接上了全固态后响应时间变毫秒级了。 不过,不排除是服务器当时网络不行,当时只连了一个千兆线。 |
4
wunonglin OP |
5
hzj629206717 258 天前
@xiaoz 的建议不错。单机版一个 bucket 就是一个本地目录,如果数量太多,就自己划分多级结构进行分散。
|