我正在两个相同的服务器上对一个应用程序进行基准测试,一个是CentOS5.8,另一个是CentOS6.2。我的应用程序在CentOS6.2机器上运行速度慢得多(50%或更少)。
在试图诊断这个问题时,我在整个基准运行过程中跟踪CPU、RAM和IO。我看到,在CentOS6.2框中,磁盘读取要高得多,用iostat来衡量。
这两个系统都在运行我的基准测试运行的XFS。这两个服务器都是带有512 HP缓存RAID控制器的HP服务器,具有运行RAID 10的8x300GBSAS。
以下是每个xfs_info的输出:
centos5
meta-data=/dev/cciss/c0d0p5 isize=256 agcount=32, agsize=8034208 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=257094144, imaxpct=25
= sunit=32 swidth=128 blks, unwritten=1
naming =version 2 bsize=4096
log =internal bsize=4096 blocks=32768, version=1
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0centos6
meta-data=/dev/sda5 isize=256 agcount=4, agsize=57873856 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=231495424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=113034, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0发布于 2012-05-10 18:02:45
感谢您用更多的信息更新这篇文章。
您正在ProLiant系统上运行,所以优化控制器和I/O情况需要做一定的工作。此外,您的XFS挂载使用默认选项。请记住,在这些操作系统之间使用的是不同的驱动程序。EL5服务器具有cciss,而EL6系统使用hpsa模块。然而,在是不同的中,您所经历的问题可能与操作系统的差异有关。所以我要核实的是:
noatime,并将nobarrier更改为禁用写屏障。这是一个我经常使用的示例挂载字符串。deadline 6服务器上的CentOS或noop I/O电梯。您可以动态使用echo deadline > /sys/block/cciss\!c0d0/queue/scheduler或在grub引导条目中添加elevator=deadline来更改这一点。编辑:
我正在查看xfs_info输出,用于CentOS 5和CentOS 6系统。您用不同的参数格式化了XFS分区!
EL5系统有32个XFS分配组,而EL6系统只有4个。分配组允许XFS并行化并发文件系统操作。
考虑到可用空间的数量和服务器的CPU规范,现有的EL6设置受到低agcount的限制。关于这个问题,请参见红帽笔记。在这样的硬件上,存储空间不在多兆字节范围内,我通常指定一个每4GB分区空间分配组。至少,选择32来匹配您的EL5服务器.尝试用这些参数重新格式化EL6分区,看看是否存在性能差异.
发布于 2012-05-10 14:35:05
当您运行iotop时,在6.2框上做什么磁盘读取?
另外,您正在读取的设备上的安装选项是什么?你也许想研究一下诺蒂姆和相对人
https://serverfault.com/questions/387918
复制相似问题