HP DL380 G7 +智能arraysP410i + sysbench – >可怜的RAID 10性能

我有运行系统与低IO利用率:

  1. HP DL380G7(24GB内存)
  2. 具有512MB battary写入caching的Smart Array p410i
  3. RAID10中的6个SAS 10k rpm 146GB驱动器
  4. Debian Squeze linux,ext4 + LVM,hpacucli安装

iostat (cciss / c0d1 = raid10arrays,dm-7 = 60G lvm分区testing):

设备:rrqm / s wrqm / sr / sw / s rmb / s wmb / s avgrq-sz avgqu-sz await svctm%util
 cciss / c0d0 0,00 101,20 0,00 6,20 0,00 0,42 138,58 0,00 0,00 0,00 0,00
 cciss / c0d1 0,00 395,20 3,20 130,20 0,18 2,05 34,29 0,04 0,26 0,16 2,08
 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
 dm-2 0,00 0,00 3,20 391,00 0,18 1,53 8,87 0,04 0,11 0,05 1,84
 dm-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 dm-4 0,00 0,00 0,00 106,80 0,00 0,42 8,00 0,00 0,00 0,00 0,00
 dm-5 0,00 0,00 0,00 0,60 0,00 0,00 8,00 0,00 0,00 0,00 0,00
 dm-6 0,00 0,00 0,00 2,80 0,00 0,01 8,00 0,00 0,00 0,00 0,00
 dm-1 0.00 0.00 0.00 132.00 0.00 0.002 0.00 0.00 0.002 0.016
 dm-7 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
 dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

hpacucli“ctrl all show config”

插槽0(embedded式)中的Smart Array P410i(sn:5001438011FF14E0)

   arraysA(SAS,未使用的空间:0 MB)


      逻辑驱动器1(136.7 GB,RAID 1,确定)

      物理驱动器1I:1:1(端口1I:盒1:托架1,SAS,146 GB,确定)
      物理驱动器1I:1:2(端口1I:盒1:托架2,SAS,146 GB,正常)

   arraysB(SAS,未使用的空间:0 MB)


       logicaldrive 2(410.1 GB,RAID 1 + 0,确定)

      物理驱动器1I:1:3(端口1I:盒1:托架3,SAS,146 GB,正常)
      物理驱动器1I:1:4(端口1I:盒1:托架4,SAS,146 GB,确定)
      物理驱动器2I:1:5(端口2I:盒1:托架5,SAS,146 GB,正常)
      物理驱动器2I:1:6(端口2I:盒1:托架6,SAS,146 GB,正常)
      物理驱动器2I:1:7(端口2I:盒1:托架7,SAS,146 GB,正常)
      物理驱动器2I:1:8(端口2I:盒1:托架8,SAS,146 GB,正常)

    SEP(供应商ID PMCSIERA,型号SRC 8x6G)250(WWID:5001438011FF14EF)

hpacucli“ctrl全部显示状态”

插槽0(embedded式)中的Smart Array P410i
   控制器状态:确定
   caching状态:确定
   电池/电容器状态:OK

Sysbench命令

 sysbench --init-rng = on --test = fileio --num-threads = 16 --file-num = 128 --file-block-size = 4K --file-total-size = 54G  - 文件testing-mode = rndrd --file -fsync-freq = 0 --file -fsync-end = off run --max-requests = 30000

Sysbench的结果

 sysbench 0.4.12:multithreading系统评测基准

使用以下选项运行testing:
线程数量:16
从定时器初始化随机数发生器。


额外的文件打开标志:0
 128个文件,每个432Mb
总文件大小54Gb
块大小4Kb
随机IO的随机请求数:30000
组合随机IOtesting的读/写比率:1.50
使用同步I / O模式
做随机阅读testing
线程开始!
完成。

执行的操作:30000读取,0写入,0其他= 30000总计
阅读117.19Mb书面0b总转移117.19Mb(935.71Kb /秒)
   233.93请求/秒执行

testing执行摘要:
    总时间:128.2455s
    事件总数:30000
    事件执行总时间:2051.5525
    每个请求统计信息:
         分钟:0.00ms
         平均:68.39毫秒
         最大:2010.15ms
         约。  95百分位数:660.40ms

主题公平:
    事件(平均/标准差):1875.0000 / 111.75
    执行时间(avg / stddev):128.2220 / 0.02

iostat在testing期间

 avg-cpu:%user%nice%system%iowait%steal%idle
            0,00 0,01 0,10 31,03 0,00 68,86

设备:rrqm / s wrqm / sr / sw / s rmb / s wmb / s avgrq-sz avgqu-sz await svctm%util
 cciss / c0d0 0,00 0,10 0,00 0,60 0,00 0,00 9,33 0,00 0,00 0,00 0,00
 cciss / c0d1 0,00 46,30 208,50 1,30 0,82 0,10 8,99 29,03 119,75 4,77 100,00
 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
 dm-2 0,00 0,00 0,00 51,60 0,00 0,20 8,00 49,72 877,26 19,38 100,00
 dm-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 dm-4 0,00 0,00 0,00 0,70 0,00 0,00 8,00 0,00 0,00 0,00 0,00
 dm-5 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
 dm-6 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00
 dm-1 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00
 dm-7 0,00 0,00 208,50 0,00 0,82 0,00 8,04 25,00 75,29 4,80 100,00
 dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

Bonnie ++ v1.96

 cmd:/ usr / sbin / bonnie ++ -c 16 -n 0

一次写一个字节...完成
聪明地写作...完成
重写......完成
一次读一个字节...完成
聪明地阅读...完成
开始时间...完成...完成...完成...完成...完成...
版本1.96 ------顺序输出------  - 顺序input -   - 随机 - 
并发16 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
机器尺寸K /秒%CP K /秒%CP K /秒%CP K /秒%CP K /秒%CP /秒%CP
 seo-db 48304M 819 99 188274 17 98395 8 2652 78 201280 8 265.2 1
延迟14899us 726ms 15194ms 100ms 122ms 665ms

 1.96,1.96,SEO-DB,16,1337541936,48304M ,, 819,99,188274,17,98395,8,2652,78,201280,8,265.2,1 ,,,,,,,,,,,,,, ,,,, 14899us,726ms,15194ms,为100ms,122ms,665ms ,,,,,,

问题

所以,sysbench显示每秒234个随机读取。
我预计它至less有400个。
什么是瓶颈? LVM?
mdadm raid1 + 2x 7200rpm驱动器的另一个系统显示每秒超过200个随机读取…

感谢您的帮助!

根据您的硬件规格,您的系统肯定performance不佳。 我在运行CentOS 5/6的几台闲置的HP ProLiant DL380 G6 / G7服务器上加载了sysbench实用程序,以检查其性能。 这些是正常的固定分区而不是LVM。 (由于HP Smart Array控制器提供的灵活性,我通常不使用LVM)

DL380 G6在Smart Array P410控制器上有一个6磁盘RAID 1 + 0arrays,带有512MB电池备份caching。 DL380 G7拥有双盘企业SLC SSDarrays。 文件系统是XFS 。 我使用了和你一样的sysbench命令行:

 sysbench --init-rng=on --test=fileio --num-threads=16 --file-num=128 --file-block-size=4K --file-total-size=54G --file-test-mode=rndrd --file-fsync-freq=0 --file-fsync-end=off --max-requests=30000 run 

我的结果是6个磁盘上的每秒1595次随机读取
在SSD上,结果是每秒读取的数据量39047次 。 完整的结果是在这篇文章的结尾…

  • 至于你的设置,跳到我的第一件事就是你的testing分区的大小。 你几乎用54GB的testing文件来填满60GB的分区。 我不确定ext4在90%以上是否有问题,但这是修改和重新testing的最快捷的方法。 (或使用较小的一组testing数据)

  • 即使使用LVM,在此控制器/磁盘设置中也有一些调整选项可用。 检查预读并将I / O调度程序设置从默认cfq更改为deadline或noop是有帮助的。 请参阅以下问题和答案: Linux – 真实世界的硬件RAID控制器调整(scsi和cciss)

  • 什么是您的RAID控制器caching比率? 我通常使用75%/ 25%的写入/读取余额。 这应该是一个快速的testing。 6个磁盘arrays在18秒内完成。 你的时间超过了2分钟。

  • 你可以在有问题的分区/arrays上运行bonnie ++或者iozonetesting吗? 看看系统上是否还有其他瓶颈是很有帮助的。 我对sysbench并不熟悉,但是我认为这些其他工具可以让您更好地了解系统的function。

  • 文件系统挂载选项可能会有一点点不同,但我认为这个问题可能比这更深。

hpacucli输出…

 Smart Array P410i in Slot 0 (Embedded) (sn: 50123456789ABCDE) array A (SAS, Unused Space: 0 MB) logicaldrive 1 (838.1 GB, RAID 1+0, OK) physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 300 GB, OK) physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 300 GB, OK) physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 300 GB, OK) physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 300 GB, OK) physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 300 GB, OK) physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 300 GB, OK) SEP (Vendor ID PMCSIERA, Model SRC 8x6G) 250 (WWID: 50123456789ABCED) 

sysbench DL380 G6 6磁盘结果…

 sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 16 Initializing random number generator from timer. Extra file open flags: 0 128 files, 432Mb each 54Gb total file size Block size 4Kb Number of random requests for random IO: 30000 Read/Write ratio for combined random IO test: 1.50 Using synchronous I/O mode Doing random read test Threads started! Done. Operations performed: 30001 Read, 0 Write, 0 Other = 30001 Total Read 117.19Mb Written 0b Total transferred 117.19Mb (6.2292Mb/sec) 1594.67 Requests/sec executed Test execution summary: total time: 18.8133s total number of events: 30001 total time taken by event execution: 300.7545 per-request statistics: min: 0.00ms avg: 10.02ms max: 277.41ms approx. 95 percentile: 25.58ms Threads fairness: events (avg/stddev): 1875.0625/41.46 execution time (avg/stddev): 18.7972/0.01 

sysbench DL380 G7 SSD的结果…

 sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 16 Initializing random number generator from timer. Extra file open flags: 0 128 files, 432Mb each 54Gb total file size Block size 4Kb Number of random requests for random IO: 30000 Read/Write ratio for combined random IO test: 1.50 Using synchronous I/O mode Doing random read test Threads started! Done. Operations performed: 30038 Read, 0 Write, 0 Other = 30038 Total Read 117.34Mb Written 0b Total transferred 117.34Mb (152.53Mb/sec) 39046.89 Requests/sec executed Test execution summary: total time: 0.7693s total number of events: 30038 total time taken by event execution: 12.2631 per-request statistics: min: 0.00ms avg: 0.41ms max: 1.89ms approx. 95 percentile: 0.57ms Threads fairness: events (avg/stddev): 1877.3750/15.59 execution time (avg/stddev): 0.7664/0.00