Производительность Диска Windows

Мониторинг Железа
Датчики температур
Кулера
Диски
Напряжение
и т.д.
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Производительность Диска Windows

Сообщение Артём Мамзиков »

Тут мы рассмотрели варианты как могут компоноваться диски Физически и Логически и их Характеристики Теория перед расчетом Производительности Дисков Windows/Linux

Так же есть аналогичная проверка Производительность Диска Linux

Скачать можно тут Расширенные шаблоны операционных систем

Элементы данных будут проверятся через ключ perf_counter
Можно создать обычные элементы с параметром _Total и на это остановится , но это не наш случай :)
Можно добавить Прототипы элементов в правило обнаружения Смонтированная файловая система обнаружения через ключ vfs.fs.discovery , но это опять не наш случай :)

Создаем Отдельное правило обнаружения дисков и естественно lld скрипт.
Обнаружение Дисков Windows LLD
Обнаружение Дисков Windows LLD
Более подробно о скрипте disk.spisok.sh
На основе команды
cmd WMIC.exe /NAMESPACE:\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name
disk.spisok.sh
Показать
#!/bin/bash
#2021/08/19 v1.0
# Автор Мамзиков Артём Андреевич Описание по скрипту
# Получение списка Физических Логических дисков

#./net.if.sh 192.168.ххх.ххх discovery 10050, ключ disk.spisok.sh[{HOST.CONN},discovery,{HOST.PORT}]
# {HOST.HOST} -Имя узла сети; {HOST.CONN} -IP адрес или DNS имя узла сети; {HOST.PORT} -Порт узла сети (агента)

if [[ $2 = "discovery.physical" ]]
then

# Список Физический/Логический диск|Удалить шапку|Удалить пустые строки|Удалить пробелы в конце строки и каретку \r|Подстановка макроса|зыкрытие }, кроме последней строки| закрытие последней строки}
DISKNUM=$(zabbix_get -s $1 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed -e '/^$/d'| sed 's/[ ]*\r//'|sed 's/^/\t{\"{#DISKNUMLET}\":\"/'|sed '$!s/.$/\"},/'|sed '${s/$/\"}/}')

# Вариант с портом
#DISKNUM=$(zabbix_get -s $1 -p $3 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed -e '/^$/d'| sed 's/[ ]*\r//'|sed 's/^/\t{\"{#DISKNUMLET}\":\"/'|sed '$!s/.$/\"},/'|sed '${s/$/\"}/}')

#echo "${DISKNUM}"

# Проверка что ответ не пустой или не ошибка, если пусто то отправляем _Total
if [ -z "${DISKNUM}" ]; then DISKNUM={"{#DISKNUMLET}":"_Total"}
elif [[ "${DISKNUM}" =~ ZBX_NOTSUPPORTED|Timeout|ERROR|WMIC ]]; then DISKNUM={"{#DISKNUMLET}":"_Total"}
fi

#case $DISKNUM in
# *ZBX_NOTSUPPORTED*|*Timeout*)
# DISKNUM={"{#DISKNUMLET}":"_Total"}
# ;;
#esac

# Формируем Вывод
JSONPHY="[\n"$DISKNUM"\n]"
echo -e "${JSONPHY}"
fi


if [[ $2 = "discovery.logical" ]]
then

# Список Физический/Логический диск|Удалить шапку|Удаление номеров дисков|Удаление пробелов и каретки \r|Диски по строкам|Удаление пустых строк|Подстановка макроса|зыкрытие }, кроме последней строки| закрытие последней строки}
FSNAME=$(zabbix_get -s $1 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed 's/^[0-9] *//'|tr -d ' \r'|sed 's/:/:\n/g'|sed -e '/^$/d'| sed 's/^/\t{\"{#FSNAME}\":\"/'|sed '$!s/$/\"},/'|sed '${s/$/\"}/}')


# Вариант с портом
#FSNAME=$(zabbix_get -s $1 -p $3 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed 's/^[0-9] *//'|tr -d ' \r'|sed 's/:/:\n/g'|sed -e '/^$/d'| sed 's/^/\t{\"{#FSNAME}\":\"/'|sed '$!s/$/\"},/'|sed '${s/$/\"}/}')

# Проверка что ответ не пустой или не ошибка, если пусто-ошибка то отправляем _Total
if [ -z "${FSNAME}" ]; then FSNAME={"{#FSNAME}":"_Total"}
elif [[ "${FSNAME}" =~ ZBX_NOTSUPPORTED|Timeout|ERROR|WMIC ]]; then FSNAME={"{#FSNAME}":"_Total"}
fi

# Формируем Вывод
JSONLOG="[\n"$FSNAME"\n]"
echo -e "${JSONLOG}"
fi
Пример вывода Логические Диски
/usr/local/share/zabbix/externalscripts/
./disk.spisok.sh 192.168.XXX.XXX discovery.logical
[
{"{#FSNAME}":"C:"},
{"{#FSNAME}":"D:"},
{"{#FSNAME}":"_Total"}
]

Без порта
disk.spisok.sh[{HOST.CONN},discovery.logical]

При необходимости в скрипте включить команду с портом и указать ключ с макросом порта
disk.spisok.sh[{HOST.CONN},discovery.logical,{HOST.PORT}]

Пример вывода Физические диски
/usr/local/share/zabbix/externalscripts/
./disk.spisok.sh 192.168.XXX.XXX discovery.physical
[
{"{#DISKNUMLET}":"0 C: D:"},
{"{#DISKNUMLET}":"1"},
{"{#DISKNUMLET}":"_Tota"}
]

Без порта
disk.spisok.sh[{HOST.CONN},discovery]

При необходимости в скрипте включить команду с портом и указать ключ с макросом порта
disk.spisok.sh[{HOST.CONN},discovery,{HOST.PORT}]

Скрипт сделан таки образом если данных нет или время ожидания истекло либо еще что то пошло не так _Total будет в любом случае.


Данные для прототип элементов

234 PhysicalDisk Физический диск
236 LogicalDisk Логический диск

Далее подставляется найденное значение

Что проверяем:
198 Current Disk Queue Length Текущая длина очереди

200 % Disk Time % активности диска Общей загруженность диска в %
Показывает процент общей загруженности диска. Представляет из себя сумму значений счетчиков %Disk Read Time (процент загруженности диска операциями чтения) и %Disk Write Time (процент загруженности диска операциями записи). Теоретически его значения должны быть в диапазоне от 0 до 100%, однако это верно только для одиночного диска. При использовании RAID-массивов часто можно увидеть значения этого счетчика больше 100%.

202 % Disk Read Time % активности диска при чтении Общей загруженность чтением диска в %
Показывает процент общей загруженности диска. Представляет из себя сумму значений счетчиков %Disk Read Time (процент загруженности диска операциями чтения) и %Disk Write Time (процент загруженности диска операциями записи). Теоретически его значения должны быть в диапазоне от 0 до 100%, однако это верно только для одиночного диска. При использовании RAID-массивов часто можно увидеть значения этого счетчика больше 100%.

204 % Disk Write Time % активности диска при записи Общей загруженность записью диска в %
Показывает процент общей загруженности диска. Представляет из себя сумму значений счетчиков %Disk Read Time (процент загруженности диска операциями чтения) и %Disk Write Time (процент загруженности диска операциями записи). Теоретически его значения должны быть в диапазоне от 0 до 100%, однако это верно только для одиночного диска. При использовании RAID-массивов часто можно увидеть значения этого счетчика больше 100%.

206 Avg. Disk sec/Transfer Среднее время обращения к диску (с) Среднее время в сек, выполнения диском одной операции чтения или записи.
Среднее время в секундах, требуемое для выполнения диском одной операции чтения или записи. Складывается из значений Avg. Disk sec/Read (время на выполнение операции чтения) и Avg. Disk sec/Write (время на выполнение операции записи). Для высоко нагруженных систем, таких как сервера БД, значение Avg. Disk sec/Transfer не должно превышать 0,1, для рядовых серверов допустимо значение 0,25.

Эти счетчики стоит отметить особо, так как они позволяют точно определить, сколько времени дисковая подсистема потратила на обслуживание операций ввода\вывода, независимо от используемых аппаратных средств.


208 - AvgDisksecPerRead Среднее время чтения с диска - это время в секундах, затрачиваемое в среднем на одну операцию чтения данных с диска.
Время затраченное системой (гипервизором в целом и виртуальными машинами) на чтение/запись информации с жесткого диска
Значение данных не должно превышать 25мс, иначе будут наблюдаться проблемы с производительностью которые нужно решать

210 - AvgDisksecPerWrite Среднее время записи на диск - это время в секундах, затрачиваемое в среднем на одну операцию записи данных на диск.
Время затраченное системой (гипервизором в целом и виртуальными машинами) на чтение/запись информации с жесткого диска
Значение данных не должно превышать 25мс, иначе будут наблюдаться проблемы с производительностью которые нужно решать

212 Disk Transfers/sec Обращений к диску/с Общее кол-во операций ввода\вывода, обработанных диском за 1 сек
Основной показатель интенсивности запросов к диску. Показывает общее количество операций ввода\вывода, обработанных (завершенных) диском в течении 1 секунды (Input/Output Operations Per Second, IOPS). Этот счетчик позволяет примерно оценить, насколько нагрузка на диски близка к предельной. Для дисков, работающих в нормальном режиме, можно ориентироваться на следующие значения: 80-160 IOPS для одиночного жесткого диска SATA или SAS, 1800-5000 IOPS для одиночного SSD диска. Для уточнения можно воспользоваться счетчиками Disk Reads/sec (количество обработанных за секунду запросов на чтение) и Disk Writes/sec (количество обработанных за секунду запросов на запись).

214 Disk Reads/sec Обращений чтения с диска/сКоличество обработанных запросов(обращений) на чтение диском за 1 сек
Основной показатель интенсивности запросов к диску. Показывает общее количество операций ввода\вывода, обработанных (завершенных) диском в течении 1 секунды (Input/Output Operations Per Second, IOPS). Этот счетчик позволяет примерно оценить, насколько нагрузка на диски близка к предельной. Для дисков, работающих в нормальном режиме, можно ориентироваться на следующие значения: 80-160 IOPS для одиночного жесткого диска SATA или SAS, 1800-5000 IOPS для одиночного SSD диска. Для уточнения можно воспользоваться счетчиками Disk Reads/sec (количество обработанных за секунду запросов на чтение) и Disk Writes/sec (количество обработанных за секунду запросов на запись).

216 Disk Writes/sec Обращений записи на диск/с Количество обработанных запросов(обращений) на запись диском за 1 сек
Основной показатель интенсивности запросов к диску. Показывает общее количество операций ввода\вывода, обработанных (завершенных) диском в течении 1 секунды (Input/Output Operations Per Second, IOPS). Этот счетчик позволяет примерно оценить, насколько нагрузка на диски близка к предельной. Для дисков, работающих в нормальном режиме, можно ориентироваться на следующие значения: 80-160 IOPS для одиночного жесткого диска SATA или SAS, 1800-5000 IOPS для одиночного SSD диска. Для уточнения можно воспользоваться счетчиками Disk Reads/sec (количество обработанных за секунду запросов на чтение) и Disk Writes/sec (количество обработанных за секунду запросов на запись).

218 Disk Bytes/sec Скорость обмена с диском (байт/с) диск Скорость обмена (байт/с)

220 Disk Read Bytes/sec Скорость чтения с диска (байт/с) диск Скорость Чтения (байт/с)

222 Disk Write Bytes/sec Скорость записи на диск (байт/с) диск Скорость Записи (байт/с)

224 Avg. Disk Bytes/Transfer Средний размер одного обмена с диском (байт) Среднее кол-во байт, одной операции Чтения\Записи. Логического диска

226 Avg. Disk Bytes/Read Средний размер одного чтения с диска (байт) Кол-во байт при одной операции Чтения диска

228 Avg. Disk Bytes/Write Средний размер одной записи на диск (байт) Кол-во байт, передаваемое при одной операции Записи диска

1400 Avg. Disk Queue Length Средняя длина очереди диска Кол-во запросов(средняя длина), стоящих в очереди к диску
1400 Avg. Disk Queue Length , PhysicalDisk\Avg. Disk Queue Length - следят за количеством запросов, стоящих в очереди к диску.
Считается, что если очередь к диску длительное время включает более двух запросов для одиночного диска., это может быть индикатором проблемы.
К примеру, для одиночного жесткого диска критическим считается значение больше 2, а если диск располагается на RAID-массиве из 4-х дисков, то волноваться стоит при значении больше 4*2=8

1402 Средняя длина очереди чтения диска Кол-во запросов Чтения(средняя длина), стоящих в очереди к диску
Считается, что если очередь к диску длительное время включает более двух запросов для одиночного диска., это может быть индикатором проблемы.
К примеру, для одиночного жесткого диска критическим считается значение больше 2, а если диск располагается на RAID-массиве из 4-х дисков, то волноваться стоит при значении больше 4*2=8

1404 Средняя длина очереди записи на диск Кол-во запросов Записи(средняя длина), стоящих в очереди к диску
Считается, что если очередь к диску длительное время включает более двух запросов для одиночного диска., это может быть индикатором проблемы.
К примеру, для одиночного жесткого диска критическим считается значение больше 2, а если диск располагается на RAID-массиве из 4-х дисков, то волноваться стоит при значении больше 4*2=8

1482 Процент времени бездействиядиск простаивает, в %
% времени «простоя» диска за определённый временной интервал. Чтобы посчитать утилизацию, достаточно отнять % Idle Time от 100 %.
Большее время ожидания в очереди ухудшает время отклика, а значит и работа приложений замедлится
Утилизация диска рассчитывается так:
Physical Disk(n)\Disk utilization = 100% – Physical Disk(n)\% Idle Time. Чтобы получить этот показатель для каждого отдельного диска в массиве, нужно разделить полученное значение на количество дисков. Время ожидания в очереди может экспоненциально расти по мере того, как дисковая утилизация приближается к 100 %, предполагая независимость обращений к диску.

1484 расщеплений операций ввода-вывода за секунду диск расщеплений операций ввода-вывода за секунду
Частота, с которой операции ввода-вывода физического диска расщепляются на несколько таких операций, за определённый интервал времени. Следует отметить, что когда происходит расщепление, Диспетчер ввода/вывода считает и расщеплённый, и исходный запрос ввода/вывода как расщеплённые, то есть этот счётчик точно отражает количество операций ввода/вывода, инициированных Диспетчером.
Оказываемое влияние Длительное время отклика диска замедляет и отклик приложений.
Регулярная дефрагментация дисков улучшает их быстродействие. Также желательно проведение этой процедуры при чрезмерном количестве расщеплений, потому что последовательные операции выполняются на диске быстрее, чем случайные запросы.
Счетчик расщеплений ввода/вывода в секунду сообщает о частоте, с которой операции ввода/вывода диска оказываются расщепленными на несколько операций ввода/вывода. Расщепление операций ввода/вывода может происходить либо из-за того, что запрошен слишком большой блок данных, который не может быть передан за одну операцию, либо из-за фрагментации диска.
Средняя длина очереди диска – это среднее общее количество запросов на чтение и на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения.
Так как значения этих счетчиков высоки при открытии файлов любого размера, можно сделать вывод, что диск слишком фрагментирован, и необходимо привести файловую структуру в порядок.


Прототипы элементов Логических дисков
Прототипы элементов Логических дисков
Прототипы триггеров Логических дисков тестовые
Прототипы триггеров Логических дисков тестовые
Прототипы Графиков Логических дисков
Прототипы Графиков Логических дисков
Прототипы элементов Физических дисков
Прототипы элементов Физических дисков
Прототипы триггеров Физических дисков тестовые
Прототипы триггеров Физических дисков тестовые
Прототипы Графиков Физических дисков
Прототипы Графиков Физических дисков
количество слов: 625

Вернуться в «Аппаратное обеспечение Общее для всех систем»