今天在跑性能的时候,发现4台存储中有一台存储的性能特别慢,其他都能达到90MB/s,就它一个只有几M/s。单独测试它,发现只有50MB/s,如下图

clip_p_w_picpath006

     另外三台存储单独测试,能达到100MB/s,正常值

clip_p_w_picpath008

而且这里还发现一个情况,4台存储都在运行时,其他三台存储load average均很小。但是第4台存储压力较大,如下图

p_w_picpath

   1、首先怀疑第4台存储上的程序不对,查看日志,发现

chunk_0000000000024D77_00000002.ufs - crc error

    显示是crc错误,怀疑是硬盘坏了,但是查看所有的硬盘信息,均是online且正常

   2、其次怀疑客户端压力太大(2客户端),但是把客户端压力降下来之后,性能还是很差

排错无法进行下去了,喝口水先。。。。回来后,用megacli查看磁盘组信息,忽然发现如下图

clip_p_w_picpath004

注意“current cache policy”一栏,writethrough。。。再到另外3台存储上看缓存策略,如下

clip_p_w_picpath002

终于看到曙光了,修改缓存策略。如下两个图

clip_p_w_picpath010

clip_p_w_picpath012

修改成功后,用dd查看,发现速度果然达到100MB/s。。。。

clip_p_w_picpath014

  总结:由此可见,WB和WT策略对于读写的性能是多么大,应该是之前建RAID的时候没有设置好导致的。也难怪,直写磁盘当然没有中间加个缓存速度快了。希望后人引以为戒啊。。。。