如何在linux上加速读取一组固定的小文件?
我有10万个1kb的文件。还有一个读取它们的程序——它真的很慢。 我提高性能的最好办法是将它们放在ramdisk上。 但这是一个脆弱的解决方案,每次重启都需要重新设置ramdisk。 (而且文件复制也很慢) 我的第二个好主意是连接文件并使用它。但这不是小事 有更好的解决办法吗如何在linux上加速读取一组固定的小文件?,linux,filesystems,ramdisk,Linux,Filesystems,Ramdisk,我有10万个1kb的文件。还有一个读取它们的程序——它真的很慢。 我提高性能的最好办法是将它们放在ramdisk上。 但这是一个脆弱的解决方案,每次重启都需要重新设置ramdisk。 (而且文件复制也很慢) 我的第二个好主意是连接文件并使用它。但这不是小事 有更好的解决办法吗 注意:我需要避免程序中的依赖项,即使是Boost。您可以通过将文件连续存储在磁盘上来进行优化 在有足够空闲空间的磁盘上,最简单的方法是读取tar归档文件 除此之外,还有/曾经有一个用于“readahead”的debian包
注意:我需要避免程序中的依赖项,即使是Boost。您可以通过将文件连续存储在磁盘上来进行优化 在有足够空闲空间的磁盘上,最简单的方法是读取tar归档文件 除此之外,还有/曾经有一个用于“readahead”的debian包 你可以用这个工具来
sudo apt-get install readahead-fedora
祝你好运如果你的文件是静态的,我同意只需对它们进行焦油处理,然后将其放入RAM磁盘。直接从TAR文件中读取可能会更快,但您可以对此进行测试 编辑::您也可以尝试创建卷,而不是TAR 如果您不想这样做,或者仍然需要更高的性能,那么: