如何用大量的文件来衡量XFS的性能?

我有一台服务器运行一些代码,在一个目录中创build数百万个小文件。 起初,代码运行速度非常快。 过了一天左右,它开始放慢一点。 我试图找出这是否是代码的问题,或者这是否与目录中的文件数量有关。

代码本身创build一个文件(如果不存在的话),然后打开文件并向其中写入一行。 如果该文件存在,它将打开该文件并向其追加一行。

有了这个说法,我已经对我的代码进行了基准testing,并根据需要进行了修改,但是我也想对XFS进行基准testing,看看是否是瓶颈。 我的问题是,我如何基准XFS的读/写性能

从你的应用程序开始,了解它是如何执行的。

  • 将代码添加到您的代码,以便您可以测量任务需要多长时间。
  • 监视主机操作系统指标,如CPU和存储IOPS。
  • 文件系统和块设备响应时间与dynamic跟踪如xfsslowerbioslower
  • 使用perf record等工具捕获configuration文件,以便可以看到CPU上的热点graphics可视化。 尝试使用内核和用户程序的debugging符号。

一个目录中的数百万个文件通常不是一个好主意。 即使它被支持,你也会得到巨大的目录元数据,需要很长时间才能列出。 考虑一下你的应用程序将目录结构限制为每个目录的文件数千个。