1
kokutou 2021-11-04 08:49:35 +08:00
机械盘不会是叠瓦吧。。。
垂直机械盘越往后并不会越慢啊。 |
2
kokutou 2021-11-04 08:51:25 +08:00
|
3
kokutou 2021-11-04 08:53:11 +08:00
可以试试加个临时盘,zip 写完了后,再复制进去,就是完整的大文件,不是碎片了。
|
4
wangxkww 2021-11-04 08:54:40 +08:00
为啥要把数据打包成 zip ?方便批量下载么?
|
5
murmur 2021-11-04 09:05:53 +08:00
叠瓦盘的问题是读写一起并发会雪崩甚至卡住,复制一个新包删掉原来的大概率就是读写问题
|
6
ziseyinzi 2021-11-04 09:07:42 +08:00
为啥 zip+1,直接用文件夹呢?
|
9
cheng6563 2021-11-04 09:19:34 +08:00
zip 附加文件基本都是文件碎片,建议直接建目录放文件。
除非你真的要分布式存储不然不要用 seaweed hbase 什么的,性能最好的就是文件系统直接放文件。 机械盘不是叠瓦的吧,叠瓦盘写入就是会爆炸的。 |
10
rykinia OP @wangxkww 文件多了以后,ls 之类的命令就没法用了,会卡死。然后,根据这个 http://genomewiki.ucsc.edu/index.php/File_system_performance#ext4_filesystem
理论上文件数量多了以后性能还是会下降,所以我想的是加一个类似索引的步骤 |
11
reallittoma 2021-11-04 09:33:10 +08:00
你这里 zip 相当于又一个文件系统了,文件系统套文件系统,能不慢吗
|
12
heguangyu5 2021-11-04 09:41:52 +08:00
有个 lib 叫 LMDB, http://www.lmdb.tech/doc/
基于 LMDB 有个项目叫 memcachedb, https://github.com/LMDB/memcachedb 可以对 memcachedb 做下改造,新增加一个 mmap 的巨大文件(当然要控制一下这个文件占用的 file cache 大小),然后把图片和 pdf 文件保存到这个大文件里,然后将 offset 保存到 memcachedb 的 LMDB 文件里,再让 LMDB 文件始终都在内存里. 这样文件的查找和新增都是在操作内存中的 LMDB,文件的写入和读取都是基于 mmap,只要内存稍大一点,应该就不是问题了. |
13
kokutou 2021-11-04 09:42:52 +08:00
|
14
cpstar 2021-11-04 09:50:06 +08:00
公有 OSS 太贵。自己搞服务器,上 minio 啊,弹性扩展,也还是对象存储
|