Назад | Перейти на главную страницу

HP DL380 G7 + Smart Array P410i + sysbench -> низкая производительность raid 10

У меня работает система с низким коэффициентом использования ввода-вывода:

  1. HP DL380G7 (24 ГБ ОЗУ)
  2. Smart Array p410i с кэш-памятью записи 512 Мбайт
  3. 6 дисков SAS 10 тыс. Об / мин, 146 ГБ в RAID10
  4. Установлен Debian Squeze linux, ext4 + LVM, hpacucli

iostat (cciss / c0d1 = массив raid10, dm-7 = раздел lvm 60 ГБ для тестирования):

Device:         rrqm/s   wrqm/s     r/s     w/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   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   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,52     8,00     0,00    0,02   0,01   0,16
dm-7              0,00     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   0,00

hpacucli "ctrl all show config"

Smart Array P410i in Slot 0 (Embedded)    (sn: 5001438011FF14E0)

   array A (SAS, Unused Space: 0 MB)


      logicaldrive 1 (136.7 GB, RAID 1, OK)

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, OK)
      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 146 GB, OK)

   array B (SAS, Unused Space: 0 MB)


      logicaldrive 2 (410.1 GB, RAID 1+0, OK)

      physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 146 GB, OK)
      physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 146 GB, OK)
      physicaldrive 2I:1:5 (port 2I:box 1:bay 5, SAS, 146 GB, OK)
      physicaldrive 2I:1:6 (port 2I:box 1:bay 6, SAS, 146 GB, OK)
      physicaldrive 2I:1:7 (port 2I:box 1:bay 7, SAS, 146 GB, OK)
      physicaldrive 2I:1:8 (port 2I:box 1:bay 8, SAS, 146 GB, OK)

   SEP (Vendor ID PMCSIERA, Model  SRC 8x6G) 250 (WWID: 5001438011FF14EF)

hpacucli "ctrl all show status"

Smart Array P410i in Slot 0 (Embedded)
   Controller Status: OK
   Cache Status: OK
   Battery/Capacitor Status: OK

Команда 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 run --max-requests=30000

Результаты Sysbench

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:  30000 Read, 0 Write, 0 Other = 30000 Total
Read 117.19Mb  Written 0b  Total transferred 117.19Mb  (935.71Kb/sec)
  233.93 Requests/sec executed

Test execution summary:
    total time:                          128.2455s
    total number of events:              30000
    total time taken by event execution: 2051.5525
    per-request statistics:
         min:                                  0.00ms
         avg:                                 68.39ms
         max:                               2010.15ms
         approx.  95 percentile:             660.40ms

Threads fairness:
    events (avg/stddev):           1875.0000/111.75
    execution time (avg/stddev):   128.2220/0.02

iostat во время теста

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

Device:         rrqm/s   wrqm/s     r/s     w/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   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   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   0,00
dm-6              0,00     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     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   0,00

Бонни ++ v1.96

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

Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency  16     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
seo-db       48304M   819  99 188274  17 98395   8  2652  78 201280   8 265.2   1
Latency             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 случайных чтения в секунду.
Я ожидаю, что это будет минимум 400.
Что может быть узким местом? LVM?
Другая система с дисками mdadm raid1 + 2x 7200 об / мин показывает более 200 случайных чтений в секунду ...

Спасибо за любую помощь!

Ваша система определенно неэффективна с учетом технических характеристик вашего оборудования. Я загрузил sysbench на паре простаивающих серверов HP ProLiant DL380 G6 / G7 под управлением CentOS 5/6 для проверки их производительности. Это обычные фиксированные разделы вместо LVM. (Обычно я не использую LVM из-за гибкости, предлагаемой контроллерами HP Smart Array)

DL380 G6 имеет 6-дисковый массив RAID 1 + 0 на контроллере Smart Array P410 с 512 МБ кэш-памяти с автономным питанием. DL380 G7 имеет 2-дисковый SSD-массив SLC корпоративного класса. Файловые системы 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

Мои результаты были 1595 случайных чтений в секунду по 6-ти дискам.
На SSD результат был 39047 случайных чтений в секунду. Полные результаты в конце этого поста ...

  • Что касается вашей настройки, то первое, что мне бросается в глаза, - это размер вашего тестового раздела. Вы почти заполняете раздел 60 ГБ 54 ГБ тестовых файлов. Я не уверен, что у ext4 проблемы с работой на 90 +%, но это самый быстрый способ изменить и повторно протестировать его. (или используйте меньший набор тестовых данных)

  • Даже с LVM в этой настройке контроллера / диска доступны некоторые параметры настройки. Проверка упреждающего чтения и изменение Планировщик ввода / вывода настройка по умолчанию cfq к крайний срок или нет полезно. Пожалуйста, смотрите вопросы и ответы по адресу: Linux - настройка аппаратного RAID-контроллера в реальном мире (scsi и cciss)

  • Каков коэффициент кэш-памяти вашего RAID-контроллера? Я обычно использую баланс записи / чтения 75% / 25%. Это должен быть быстрый тест. Сборка 6-дискового массива завершилась за 18 секунд. Ваш занял более 2 минут.

  • Вы можете запустить Бонни ++ или iozone тест на рассматриваемом разделе / ​​массиве? Было бы полезно узнать, есть ли в системе какие-либо другие узкие места. Я не был знаком с sysbench, но я думаю, что эти другие инструменты дадут вам лучшее представление о возможностях системы.

  • Параметры монтирования файловой системы могут иметь небольшое значение, но я думаю, что проблема может быть глубже ...

вывод 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