内部系统,图片做存档使用,目录是/业务Id /工号/日期/小时/ 只保留一个月的存档。
磁盘总大小约14T,
有一个服务负责接收文件存储
另一个服务负责删除日期为31天前的文件夹,
现在发现删除非常缓慢,甚至在删除的时候影响存储的服务
有没有好的解决办法?
7 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
不知道你说的缓慢是怎么个缓慢的:
1、是因为要删除的文件很多,删除的时候缓慢?
2、是因为要检索哪些是过期的文件,从而导致缓慢?
如果是第一个原因,这个还真的没办法,真这样,建议你用数据库来存储文件最好。
如果是第二个原因,你可以在接收文件服务里把所接收的文件信息(路径、日期)存储到数据库,然后在第二个服务里从数据库检索过期文件再执行删除操作,同时删除数据库里的相应记录。
元芳怎么了
TA贡献1798条经验 获得超7个赞
@王者永乐: 当然,你最了解你的需求,而我只是泛泛的提供最佳的磁盘操作方式,因此你还是需要根据你的需求结合磁盘读写的特点来考虑解决方案。我这里还可以提供一种常用的方式,建立一个大的磁盘文件,将小文件按照一定的逻辑存储在这个大的磁盘文件上,这个大的磁盘文件可以根据业务Id或者日期来划分。
慕沐林林
TA贡献2016条经验 获得超9个赞
如果是我,就直接分32个分区,每天的图片放到一个分区,对不需要的分区进行快速格式化,这些分区循环使用,这样的速度应该很快,也不会因为长时间访问硬盘影响到其它服务
婷婷同学_
TA贡献1844条经验 获得超8个赞
简单粗暴,总感觉32个分区的画面太美,不忍直视。
不过话说回来,因为文件每天的大小有较大差别。比如周六日就没有多少,而工作日是周六日三到四倍,如果分区的话,每个分区的最小容量我都得按照最大业务量去设计,这样算下来担心磁盘空间不足。
- 7 回答
- 0 关注
- 869 浏览
添加回答
举报
0/150
提交
取消