我有一台服务器运行一些代码,在一个目录中创build数百万个小文件。 起初,代码运行速度非常快。 过了一天左右,它开始放慢一点。 我试图找出这是否是代码的问题,或者这是否与目录中的文件数量有关。
代码本身创build一个文件(如果不存在的话),然后打开文件并向其中写入一行。 如果该文件存在,它将打开该文件并向其追加一行。
有了这个说法,我已经对我的代码进行了基准testing,并根据需要进行了修改,但是我也想对XFS进行基准testing,看看是否是瓶颈。 我的问题是,我如何基准XFS的读/写性能?
从你的应用程序开始,了解它是如何执行的。
xfsslower和bioslower perf record等工具捕获configuration文件,以便可以看到CPU上的热点graphics可视化。 尝试使用内核和用户程序的debugging符号。 一个目录中的数百万个文件通常不是一个好主意。 即使它被支持,你也会得到巨大的目录元数据,需要很长时间才能列出。 考虑一下你的应用程序将目录结构限制为每个目录的文件数千个。