Определить интенсивность ввода/вывода на каждый том LVM можно с помощью программы iostat (пакет sysstat).
Установка iostat на Centos
1 |
# yum install sysstat |
Синтаксис
1 |
iostat [опции] интервал повторения |
Например:
Мониторинг интенсивности ввода-вывода каждые 5 секунд 10 раз
1 |
# iostat 5 10 |
Первый блок это измерения за период работы с момента загрузки системы. Остальные за указанный интервал – 5 секунд.
1 |
# iostat |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
.................................................... avg-cpu: %user %nice %system %iowait %steal %idle 20.85 0.00 3.47 0.09 0.00 75.59 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 60.25 9.29 1941.96 32164851 6720280692 dm-0 0.86 0.76 3.79 2617103 13098368 dm-2 13.70 1.50 54.08 5193949 187164188 dm-3 9.38 0.72 772.73 2491468 2674082256 dm-4 5.55 0.35 22.05 1194329 76288960 dm-5 187.15 1.79 748.16 6202909 2589050440 dm-6 62.62 2.33 249.83 8072753 864561652 dm-7 0.60 0.13 2.34 435973 8099968 dm-8 3.10 1.30 11.99 4496353 41480328 dm-9 2.32 0.13 9.22 449969 31921020 dm-11 6.19 0.12 24.72 413773 85555332 dm-12 2.72 0.08 10.84 268545 37520504 dm-13 8.06 0.07 32.21 239077 111457668 dm-14 0.01 0.03 0.00 87461 8 |
Для того, чтобы отобразить LVM-разделы (название томов ) вместо мало информативных названий устройств
1 |
# iostat -N |
Как узнать,название тома без использования опции -N?
Например,узнаем имя тома с максимальной нагрузкой(dm-5)
1 |
# ls -al /dev/dm-5 |
brw-rw—- 1 root disk 253, 5 Oct 20 14:03 /dev/dm-5
# ls -al /dev/mapper/ | grep ‘253,\s*5’
1 |
brw------- 1 root root 253, 5 Oct 20 14:03 XXXXXXXXXXXXXXX |
Как видно из вывода имя тома XXXXXXXXXXXXXXX
Для постоянного обновления окна используем программу watch(на linux) и display(на FreeBSD)
1 |
# watch -d -n 1 "iostat -N" |
Источник:
http://xgu.ru/wiki/LVM_%D0%B8_iostat
Оценка производительности дисков командой iostat
Разбираемся на примере своей виртуальной машины
Описание виртуальной машины
1 |
# uname -a |
1 |
Linux centos642 2.6.32-358.23.2.el6.i686 #1 SMP Wed Oct 16 17:21:31 UTC 2013 i686 i686 i386 GNU/Linux |
1 |
# cat /etc/issue |
1 2 |
CentOS release 6.4 (Final) Kernel \r on an \m |
Виртуальный Сentos 6 запущен под VMWare Workstation 9 на ноутбуке под Windows 7
Два виртуальных диска объединены в RAID-1
md0-/boot, md1-/, md2-swap
1 |
# df -h |
1 2 3 4 |
Filesystem Size Used Avail Use% Mounted on /dev/md1 12G 3.7G 7.0G 35% / tmpfs 250M 0 250M 0% /dev/shm /dev/md0 97M 58M 35M 63% /boot |
1 |
# cat /proc/mdstat |
1 2 3 4 5 6 7 8 9 10 |
Personalities : [raid1] md2 : active raid1 sda3[0] sdb3[1] 524224 blocks [2/2] [UU] md0 : active raid1 sdb1[1] sda1[0] 102336 blocks [2/2] [UU] md1 : active raid1 sdb2[1] sda2[0] 11955136 blocks [2/2] [UU] |
Нагружаем подсистему ввода-вывода
Тестирование ввода/вывода
1 |
# dd if=/dev/zero of=/root/tempfile bs=10485760 count=1024 |
1 2 3 |
1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 347.406 s, 3.1 MB/s |
1 |
# iostat -dkx |
1 2 3 4 5 6 7 |
Linux 2.6.32-358.23.2.el6.i686 (centos642) 11/29/2013 _i686_ (4 CPU) Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 0.22 41.99 0.86 1.41 20.52 173.61 170.70 3.81 1674.79 29.62 6.74 sdb 0.30 42.00 0.66 1.41 20.97 173.61 188.13 4.41 2131.62 32.95 6.82 md1 0.00 0.00 1.78 43.05 40.61 172.17 9.49 0.00 0.00 0.00 0.00 md0 0.00 0.00 0.13 0.00 0.37 0.00 5.79 0.00 0.00 0.00 0.00 md2 0.00 0.00 0.06 0.00 0.25 0.00 8.00 0.00 0.00 0.00 0.00 |
В терминах оценки производительности системы ввода-вывода в части хранения, есть несколько характеристик:
- Пропускная способность (байт в секунду) — максимальная линейная скорость с которой устройство пишет или читает один, но очень большой файл. rkB/s,wkB/s
- IOPS (операций в секунду) — число запросов, отправленных на устройство. Это скорость работы с большим числом мелких файлов r/s ,w/s
- Время обработки (миллисекунд) — время за которое в среднем обрабатывается запрос на ввод-вывод включая ожидание в очереди, причем наиболее характерно именно ожидание, ибо оно зависит от загрузки, а не собственно размера запроса. Чем выше это время, тем «тормознутее» отзыв системы на запрос приложения, но остальные приложения в принципе не затрагиваются. await
- Загрузка (проценты) — оценка загруженности системы на ввод-вывод. При значениях близких к 100% система «встает», в том числе все приложения. Процессора уходят в iowait, а процессы, желающие ввода-вывода — в [Disk] Sleep %util
В первую очередь обратим внимание на последнюю колонку %util. Хотя бы потому, что большое значение этого параметра (90%-100%) для пользователя выглядит как «сервер висит». У нас sdb загружен менее чем на 7%.
Далее параметры записи/чтения(например, для диска sdb)
пропускная способность колонки
читаем rkB/s 20.97 , пишим wkB/s 173.61
iops колонки r/s 0.66 , w/s — 1.41 запросов в секунду
время обработки запроса: await —2131.62 ms, из них собственно выполнение svctm 32.95 ms
Источник: