多个文件的随机访问和文件缓存

Posted

技术标签:

【中文标题】多个文件的随机访问和文件缓存【英文标题】:Random access of multiple files and file caching 【发布时间】:2010-12-17 20:48:36 【问题描述】:

这与我被要求“修复”的一些软件有关。最简单和最快的解决方案是让它打开并读取数百个随机文件中的 10 个,并提取一些非常短的字符串进行处理并立即关闭它们。之后可能会出现另一个进程,并对不同或相同的随机文件执行相同的操作,这可能会在几秒钟内发生数百次。

我知道现代操作系统会将这些文件保存在内存中,因此磁盘抖动不再像过去那样成为问题,但我正在寻找有关如何确定何时打开/关闭许多文件的任何文章或讨论随机文件成为问题。

【问题讨论】:

【参考方案1】:

当您的工作集(所有进程读取的数据量)超过可用 RAM 时,您的吞吐量将趋向于底层磁盘的 I/O 容量。

根据您对工作负载的描述,寻道时间比数据传输率更成问题。

当您的工作集大小保持在您拥有的 RAM 量以下时,操作系统将保留所有数据缓存,并且在缓存填满后无需转到磁盘。

【讨论】:

以上是关于多个文件的随机访问和文件缓存的主要内容,如果未能解决你的问题,请参考以下文章

基于文件相关性的云存储缓存策略

在nodejs中异步读取和缓存多个文件

sass构建CSS时,如何给文件随机加版本号,以防止老文件缓存?

无法访问分布式缓存文件

nginx同时部署多个vue项目后请求刷新一直转圈

nginx日志不记录静态文件访问和缓存