Гость
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Измерить производительность дисковой подсистемы на виртуалке / 6 сообщений из 6, страница 1 из 1
16.08.2018, 14:27
    #39688884
BigBudda
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Измерить производительность дисковой подсистемы на виртуалке
Добрый день!

Подскажите, как корректно измерить производительность дисковой подсистемы на виртуальной машине?
Измерить iops, latency, какая скорость записи/чтения, найти самый медленный диск в массиве, и пр.
Доступа к среде vmware нет. Виртуалка используется в качестве сервера СУБД.
Как на основе iostat/iotop/sar/dd/rsync выдать нужную мне статитистику мне не понятно.
Подскажите, пожалуйста.
Данные прилагаю.

iostat
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.28    0.00    0.63    2.05    0.00   90.03

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               5.45       106.77       109.68  348943622  358463336
sdb              16.69      1634.76       246.89 5342852866  806910536
sdc               7.25       547.93       184.76 1790800299  603836472
sdd               5.35      1043.37        48.58 3410018784  158788776
sdf               1.23        80.70       543.50  263759877 1776298880
sde              11.77       317.50       538.52 1037678234 1760049720
dm-0             16.30        98.03       104.68  320377026  342114808
dm-1              1.72         8.73         5.00   28538888   16348464
dm-2            220.15      3624.28      1572.56 11845160058 5139569640
sdg               0.02         0.02        10.31      70920   33685542



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[root@ORACLE-DB-01 ~]# iostat -xdNm
Linux 2.6.32-504.16.2.el6.x86_64 (ORACLE-DB-01)   08/16/2018      _x86_64_        (8 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               1.39    11.16    2.90    2.55     0.05     0.05    39.69     0.07   13.31   1.73   0.94
sdb               0.02    25.27   11.10    5.60     0.80     0.12   112.75     0.12    7.43   4.30   7.19
sdc               0.01    20.66    4.82    2.43     0.27     0.09   101.08     0.07   10.04   6.17   4.48
sdd               0.01     5.54    4.81    0.54     0.51     0.02   204.31     0.03    6.37   3.26   1.75
sdf               0.00    67.21    0.52    0.71     0.04     0.27   505.45     0.50  405.85   7.43   0.92
sde               0.01    59.10    3.56    8.22     0.16     0.26    72.68     0.09    7.26   2.03   2.40
VolGroup-lv_root     0.00     0.00    3.21   13.08     0.05     0.05    12.44     1.11   68.20   0.56   0.91
VolGroup-lv_swap     0.00     0.00    1.09    0.63     0.00     0.00     8.00     0.06   36.60   0.50   0.09
vg_data-lv_data     0.00     0.00   24.87  195.29     1.77     0.77    23.61     0.60    2.49   0.61  13.45
sdg               0.00     0.00    0.00    0.01     0.00     0.01   677.00     0.00   34.44  13.76   0.02



iotop
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Total DISK READ: 23.23 M/s | Total DISK WRITE: 4.37 M/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 4018 be/4 oracle     23.07 M/s    0.00 B/s  0.00 % 89.38 % oracledb (LOCAL=NO)
 2977 be/4 oracle     38.45 K/s    3.27 M/s  0.00 % 47.72 % ora_lgwr_oracledb
 5221 be/4 oracle    123.04 K/s    0.00 B/s  0.00 % 24.13 % ora_j002_oracledb
  513 be/3 root        0.00 B/s    3.85 K/s  0.00 %  2.67 % [jbd2/dm-0-8]
 1130 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.12 % [jbd2/dm-2-8]
 2979 be/4 oracle      0.00 B/s   30.76 K/s  0.00 %  0.08 % ora_ckpt_oracledb
 2975 be/4 oracle      0.00 B/s    7.69 K/s  0.00 %  0.04 % ora_dbw0_oracledb
 4410 be/4 oracle      0.00 B/s    7.69 K/s  0.00 %  0.00 % tnslsnr LISTENER -inherit
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]



Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
root@ORACLE-DB-01 ~]# /sbin/hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads: 508 MB in  3.00 seconds = 169.08 MB/sec
 
[root@ORACLE-DB-01 ~]# /sbin/hdparm -t /dev/sdb
/dev/sdb:
 Timing buffered disk reads: 204 MB in  3.01 seconds =  67.88 MB/sec
 
 [root@ORACLE-DB-01 ~]# /sbin/hdparm -t /dev/sdc
/dev/sdc:
 Timing buffered disk reads: 174 MB in  3.08 seconds =  56.54 MB/sec

 [root@ORACLE-DB-01 ~]# /sbin/hdparm -t /dev/sdd
/dev/sdd:
 Timing buffered disk reads:  52 MB in  3.17 seconds =  16.42 MB/sec
 
 [root@ORACLE-DB-01 ~]# /sbin/hdparm -t /dev/sde
/dev/sde:
 Timing buffered disk reads: 650 MB in  3.09 seconds = 210.30 MB/sec
 
[root@ORACLE-DB-01 ~]# /sbin/hdparm -t /dev/sdg
/dev/sdg:
 Timing buffered disk reads: 1518 MB in  3.00 seconds = 505.67 MB/sec



sar -d

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
01:20:01 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:30:01 PM    dev8-0      5.47    106.80    108.90     39.46      0.07     12.24      5.39      2.95
01:30:01 PM   dev8-16     57.83  11192.23    351.26    199.60      0.44      7.57      3.84     22.23
01:30:01 PM   dev8-32      3.04    259.69     21.49     92.46      0.03     11.03      8.77      2.67
01:30:01 PM   dev8-48     46.58  10796.09      0.70    231.80      0.35      7.58      3.55     16.55
01:30:01 PM   dev8-80      0.59      6.74     10.52     29.32      0.01      9.37      5.44      0.32
01:30:01 PM   dev8-64     44.84   1981.57    472.08     54.73      0.07      1.54      1.19      5.32
01:30:01 PM  dev253-0     16.22    106.80    108.90     13.30      0.39     23.88      1.82      2.95
01:30:01 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:30:01 PM  dev253-2    225.01  24236.31    856.04    111.52      1.12      4.99      2.01     45.13
01:30:01 PM   dev8-96      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:40:01 PM    dev8-0      4.77     57.57    108.27     34.76      0.04      7.43      3.94      1.88
01:40:01 PM   dev8-16     17.29   1399.71    272.20     96.69      0.29     16.68      9.18     15.87
01:40:01 PM   dev8-32     12.73   1549.87     91.17    128.92      0.24     18.91      8.97     11.42
01:40:01 PM   dev8-48      1.08      0.05    447.26    412.64      0.01      4.66      4.66      0.51
01:40:01 PM   dev8-80      0.00      0.00      0.05     16.00      0.00      0.50      0.50      0.00
01:40:01 PM   dev8-64     36.34     85.62    456.72     14.92      0.05      1.41      1.37      4.99
01:40:01 PM  dev253-0     14.82     57.47    108.16     11.17      0.45     30.04      1.25      1.85
01:40:01 PM  dev253-1      0.03      0.11      0.11      8.00      0.00     13.44     10.81      0.03
01:40:01 PM  dev253-2    190.62   3035.25   1267.40     22.57      1.74      9.15      1.55     29.62
01:40:01 PM   dev8-96      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:50:01 PM    dev8-0     19.25   1999.69    126.71    110.44      0.07      3.80      1.59      3.06
01:50:01 PM   dev8-16     22.46    965.51    165.62     50.36      0.17      7.68      6.27     14.07
01:50:01 PM   dev8-32      9.41    698.14    531.44    130.68      0.12     12.39      9.80      9.22
01:50:01 PM   dev8-48      2.41    456.23      0.13    189.23      0.04     17.34     10.39      2.51
01:50:01 PM   dev8-80      0.68      9.06      9.75     27.80      0.01      8.21      6.08      0.41
01:50:01 PM   dev8-64     55.12   2325.91    411.15     49.66      0.06      1.13      0.99      5.48
01:50:01 PM  dev253-0     23.12    256.53    126.71     16.57      0.35     15.27      1.11      2.58
01:50:01 PM  dev253-1      0.04      0.28      0.00      8.00      0.00     28.14      6.95      0.02
01:50:01 PM  dev253-2    170.48    480.31   1118.15      9.38      0.63      3.67      1.55     26.42
01:50:01 PM   dev8-96     26.45   5207.21      0.00    196.87      0.01      0.38      0.18      0.48

Average:       dev8-0      7.10    195.90     98.89     41.49      0.03      4.27      2.18      1.55
Average:      dev8-16     31.36   4061.45    264.60    137.94      0.17      5.50      3.36     10.53
Average:      dev8-32      9.53    967.42    180.45    120.51      0.08      8.36      5.88      5.60
Average:      dev8-48     14.51   3083.64     17.11    213.70      0.06      4.37      2.17      3.15
Average:      dev8-80      0.67      3.11    355.41    535.43      0.17    253.80      4.61      0.31
Average:      dev8-64     17.27    733.32    448.95     68.44      0.03      2.01      1.49      2.57
Average:     dev253-0     20.59    174.70     98.30     13.26      0.18      8.84      0.75      1.54
Average:     dev253-1      0.09      0.14      0.59      8.00      0.00      7.64      0.97      0.01
Average:     dev253-2    213.20   8800.93   1266.52     47.22     21.35    100.15      0.93     19.86
Average:      dev8-96      0.32     62.90      0.00    196.87      0.00      0.38      0.18      0.01



Попробовал создать файлы с помощью dd

Для записи 10 ГБ на разделе /data LVM (из множества дисков) потребовалось 57 секунд , и скорость 188 МБ/с .
Но это не даёт ответ на вопрос, какой из дисков наименее производительный, и в целом эти 188 МБ/с это быстро или медленно?
Плохо или хорошо? Повод сказать, что дисковая полка имеет низкую производительность?

Код: c#
1.
2.
3.
4.
5.
6.
[ORACLE-DB-01:oracle@oracledb]$ date && dd if=/dev/zero of=output10.dat  bs=2048M  count=5 && date
Thu Aug 16 14:00:38 MSK 2018
0+5 records in
0+5 records out
10737397760 bytes (11 GB) copied, 57.2024 s, 188 MB/s
Thu Aug 16 14:01:35 MSK 2018




Для примера, решил проверить работу dd на другом сервере СУБД и получил скорость 631 МБ/с и 17 секунд на создание файла!

Код: pascal
1.
2.
3.
4.
5.
6.
[server-db-01:oracle@serverdb]$ date && dd if=/dev/zero of=output10.dat  bs=2048M  count=5 && date
Thu Aug 16 14:08:42 MSK 2018
0+5 records in
0+5 records out
10737397760 bytes (11 GB) copied, 17.0219 s, 631 MB/s
Thu Aug 16 14:08:59 MSK 2018



rsync --progress
Файл 10 ГБ копировался 6 минут 20 секунд со средней скоростью 26,92 МБ/с

Код: sql
1.
2.
3.
4.
5.
6.
[ORACLE-DB-01:oracle@oracledb]$ rsync --progress /data/test/output10.dat /data/test2
output10.dat
 10737397760 100%   26.92MB/s    0:06:20 (xfer#1, to-check=0/1)

sent 10738708554 bytes  received 31 bytes  28222624.40 bytes/sec
total size is 10737397760  speedup is 1.00


Какой вывод можно сделать из всего этого?
Какой диск самый медленный? Есть ли проблема с дисковой полкой? Какая средняя скорость чтения/записи по дискам?
Какое время ожидание latency?
...
Рейтинг: 0 / 0
17.08.2018, 10:29
    #39689299
BigBudda
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Измерить производительность дисковой подсистемы на виртуалке
Запустил измерение диска с помощью утилиты fio.
Если я правильно понял, то средняя latency составило 16,5 мс, максимальная 14,5 сек.
Верно ли утверждение, что latency > 10ms повод сказать, что дисковая полка не справляется с нагрузкой?


clat (usec): min=2 , max=1468.1K, avg=16563.54 , stdev=25076.81
lat (usec): min=33 , max=1469.6K, avg=16578.11 , stdev=25077.12


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
readtest: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=32
fio-2.0.9
Starting 1 process
Jobs: 1 (f=1): [r] [100.0% done] [4968K/0K /s] [1242 /0  iops] [eta 00m:00s]
readtest: (groupid=0, jobs=1): err= 0: pid=24497: Thu Aug 16 19:50:41 2018
  read : io=51200MB, bw=7719.2KB/s, iops=1929 , runt=6792003msec
    slat (usec): min=3 , max=3404 , avg=14.07, stdev=10.00
    clat (usec): min=2 , max=1468.1K, avg=16563.54, stdev=25076.81
     lat (usec): min=33 , max=1469.6K, avg=16578.11, stdev=25077.12
    clat percentiles (usec):
     |  1.00th=[  548],  5.00th=[ 2224], 10.00th=[ 3248], 20.00th=[ 4960],
     | 30.00th=[ 6496], 40.00th=[ 7904], 50.00th=[ 9280], 60.00th=[10944],
     | 70.00th=[14400], 80.00th=[19072], 90.00th=[34048], 95.00th=[58624],
     | 99.00th=[128512], 99.50th=[152576], 99.90th=[244736], 99.95th=[301056],
     | 99.99th=[444416]
    bw (KB/s)  : min=   23, max=16256, per=100.00%, avg=7743.50, stdev=2718.50
    lat (usec) : 4=0.01%, 10=0.01%, 50=0.02%, 100=0.13%, 250=0.07%
    lat (usec) : 500=0.65%, 750=0.65%, 1000=0.54%
    lat (msec) : 2=2.20%, 4=9.97%, 10=41.03%, 20=25.86%, 50=12.62%
    lat (msec) : 100=4.15%, 250=2.01%, 500=0.09%, 750=0.01%, 1000=0.01%
    lat (msec) : 2000=0.01%
  cpu          : usr=1.70%, sys=3.99%, ctx=5834028, majf=2, minf=58
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued    : total=r=13107200/w=0/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
   READ: io=51200MB, aggrb=7719KB/s, minb=7719KB/s, maxb=7719KB/s, mint=6792003msec, maxt=6792003msec

Disk stats (read/write):
  sda: ios=13145008/24067, merge=6838/131181, ticks=217305059/9877500, in_queue=227177894, util=100.00%
...
Рейтинг: 0 / 0
17.08.2018, 10:48
    #39689315
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Измерить производительность дисковой подсистемы на виртуалке
У меня нет настроения изучать эти данные. Но в комплект СУБД Oracle входит программа Orion, предназначенная специально для этого.
...
Рейтинг: 0 / 0
20.08.2018, 01:12
    #39690125
Набрызг-Бетон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Измерить производительность дисковой подсистемы на виртуалке
BigBuddaЗапустил измерение диска с помощью утилиты fio.

отличный выбор.

Если я правильно понял, то средняя latency составило 16,5 мс, максимальная 14,5 сек.
Верно ли утверждение, что latency > 10ms повод сказать, что дисковая полка не справляется с нагрузкой?
[/quot]
Кому? Да всем пофиг. Это вопрос лишь взаимного обмана на базаре.
Если вас устраивает - платите. Если не устраивает - делайте вид что заплатите и уходите.
...
Рейтинг: 0 / 0
30.08.2018, 17:34
    #39695743
kernelpanic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Измерить производительность дисковой подсистемы на виртуалке
Несколько моментов:

1. Мерять dd скорость записи без флага direct - это мерять скорость записи из памяти в память.
2. Современные промышленные СУБД используют преимущественно асинхронный ввод-вывод (запросы на чтение-запись генерятся в одном потоке, события от ядра Linux - ловятся в другом). Параллельно 'в пути' могут находиться до n bio-реквестов, где n=/sys/block/<dev>/queue/nr_requests. n=128 (by default)
3. Как быстро реквесты достигнут диска зависит от элеватора Linux (он же планировщик ввода-вывода), т.к. именно он решает, когда отправить bio драйверу диска. Дефолтный CFQ зачастую не самый лучший для СУБД. Для SSD/виртуалки вообще лучше использовать noop - т.е. обычную FIFO-очередь
4. fio вы запускали со стандартной глубиной очереди 32, которая в 4 раза меньше очереди ядра. При этом даже при такой глубине очереди самый несчастливый блок у вас писался за 1,4 секунды, что говорит о том, что они задерживаются на уровне гипервизора
5. 95.00th=[58624], этот 95-й персентиль говорит о том, что почти все реквесты у вас будут исполняться с задержкой до почти 59мс, что много даже для шпиндельного диска

Вот, например, для bare-metal (7200, SAS):
clat percentiles (usec):
| 1.00th=[ 3952], 5.00th=[ 5792], 10.00th=[ 7200], 20.00th=[ 8896],
| 30.00th=[10304], 40.00th=[11456], 50.00th=[12608], 60.00th=[13760],
| 70.00th=[15168], 80.00th=[16768], 90.00th=[18816], 95.00th=[20608],
| 99.00th=[23424], 99.50th=[24192], 99.90th=[26752], 99.95th=[28032],
| 99.99th=[30080]

Но все вышесказанное ничего вам не даст, пока вы не знаете паттерн ввода-вывода вашей субд. Если есть уже продуктивная и планируете обновлять железо (пусть и виртуальное) - тогда проще. Иначе - пальцем в небо.
...
Рейтинг: 0 / 0
30.08.2018, 17:37
    #39695749
kernelpanic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Измерить производительность дисковой подсистемы на виртуалке
kernelpanic,

write=read в предыдущем посте. Про элеватор актуально только для write, можно скипнуть.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Измерить производительность дисковой подсистемы на виртуалке / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]