糟糕的XFS性能 – 发生了什么?

我最近格式化20TBarrays为XFS。 对于文件传输<10G的performance是太棒了。 但是一旦我超过10G磁盘I / O以对数方式衰减。 我在同一张磁盘上有日志。 当我查看磁盘IO使用情况时,我看到jbd2flush几乎使用了所有的磁盘IO。 我该如何解决这个问题? (任何方式做w / o删除数据?)我运行Ubuntu 10.10。 谢谢。

日志通常不会是性能问题,除了小的随机写入IO,因为日志是一个循环缓冲区,随着日志的添加,循环缓冲区被顺序访问。

系统有多less内存? Whate是pdflush方面的水印吗?

你能产生一个吞吐量图,即用gnuplot绘制iostat -x -k 1一些列或者类似于<10GB和> 10GB的情况下的那些列。

为了减less高负载下的争用,我会把日志放在一个单独的磁盘上。 最容易的是从arrays本身的一个磁盘,但可能不能做到这一点,没有备份恢复。 设置专用的日志设备在选项-J下的tune2fs(8)联机帮助页中进行了说明。

您的XFS文件系统是否与条带大小alignment? 这可能不是直接关系到你的性能问题,但它绝对提高性能。 请检查这个线程的一些一般的想法和样品。