Git Product home page Git Product logo

template-windows-agent-custom's Introduction

Windows-Agent-Custom

Русифицированная версия стандартного шаблона Zabbix (от 14.08.2022).

Нагрузочное тестирование дискового массива с целью анализа критических показателей для создания актуальных тригеров.

Показатели и графики на дисковом массиве при нагрузке CrystalDiskMark:

SEQ1M запись контрольного файла будет производиться последовательно (Sequential), как и его чтение, с размером блока 1МБайт. Именно результат теста Seq Q32T1 стоит сравнивать со скоростью носителя, указанной производителем.
RND4K (Random 4KiB) Q32T1 лучше использовать для тестирования раздела диска с операционной системой, т.к. ОС в основном работает с небольшими блоками данных, а тестирование будет производиться блоками размером 4 КБ при единственном потоке с глубиной очереди 32.
Потоки (Threads) количество одновременно выполняемых операций чтения/записи, увеличение этого параметра приводит к повышению нагрузки на носитель.
Глубина очереди число запросов, обрабатываемых тестируемым накопителем. Чем больше глубина, тем больший объём информации будет обработан диском.

Image alt

Image alt

Тестирование DiskSpd:

diskspd.exe –c8G -d300 -r -w40 -t8 -o32 -b64K -Sh -L testfile1.dat > DiskSpeedResults.txt
-c8G размер файла, превышающий размер кэша контроллера СХД
-d300 продолжительность тестирования в секундах (5 минут)
-r произвольное чтение/запись (если нужно тестировать последовательный доступ, используется –s)
-t8 количество потоков
-w40 соотношение операций записи к операциям чтения 40% / 60%
-o32 длина очереди
-b64K размер блока
-Sh не использовать кэширование
-L измерять задержки (Latency)

Image alt

Тестирование на локальном диске SSD:

Image alt

Сравнение производительности:

Image alt

Image alt

Items Physical Disk:

Дисковый массив (Storage Array) - это RAID или SAN, который представляется как один логический диск. Если происходит чтение с такого логического диска, то это равносильно тому, что ввод-вывод будет направлен только на один диск массива (то есть, глубина очереди = 1), и всего один из дисков обслужит ввод-вывод. Остальные диски будут невостребованны, пока активность направленных на эту группу дисков в массиве из расчёта на один диск не превысит, например, 180 IOPS - максимальный порог одного диска HDD SATA 15к оборотов на шпинделе. При глубине очереди 2, вероятно, что пара запросов ввода-вывода распределилась между разными дисками, таким образом, два диска будут работать с глубиной очереди 1, а остальные диски останутся неактивными. Очередь к одному диску массива, т.е. логическому диску станет больше единицы только тогда, когда нагрузка на массив превысит возможности обслуживания без очередей запросов ко всем дискам (IOPS всех дисков).

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

Idle Time - процент времени бездействия, в течении которого не обрабатывались операции чтения/записи. Диапазон строго от 100% (полный покой) до 0% (полная загрузка).

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

Disk Reads/sec — количество обращений чтения в секунду. В нормальном режиме интенсивность обращений не должна превышать их индивидуальным пределам, умноженным на количество дисков в массиве. В режиме чтения для различных типов RAID могут учитываться не все диски, например в RAID-6 в массиве из шести дисков скорость чтения равна скорости чтения с четырех дисков (с оставшихся двух считываются контрольные суммы).

Disk Writes/sec — количество обращений записи в секунду, то есть частота выполнения операций записи на диск.

Анализировать корректно Disk Reads/sec и Disk Writes/sec можно только с учетом текущей (Current) длины очереди Current Disk Queue Length и средней (Average) длины очередей чтения/записи Avg. Disk Read Queue Length и Avg. Disk Write Queue Length. Если Current Disk Queue Length или Avg. Disk Read Queue Length и Avg. Disk Write Queue Length существенно выходят за штатные пределы — скорее всего, реальная потребность в IOPS дисковой подсистемы будет в разы выше, чем фиксируют Disk Reads/sec и Disk Writes/sec. К примеру, если Current Disk Queue Length для массива RAID 10 из 4 дисков в какие-то интервалы времени достигает показателей 12-16, с пиками до 100 — то реальный спрос на операции ввода/вывода в эти моменты у приложений превышает возможности дисковой подсистемы в 2-3 раза.

Avg. Disk Queue Length - средняя длина очереди диска. Данный показатель указывает, сколько операций ввода/вывода в среднем ожидают, когда жесткий диск станет доступным. Показатель не должен превышать количество физических дисков в массиве более чем в 1,5-2 раза (кол-во запросов на диск). В приложениях класса SQL Server, Exchange Server его среднее значение лучше удерживать на уровне 0.2. Уточнить, с какими именно операциями не справляется диск, можно с помощью счетчиков Avg. Disk Read Queue Length (очередь запросов на чтение) и Avg. Disk Wright Queue Length (очередь запросов на запись).

Avg. Disk Queue Length = (Disk Transfers/sec) * (Avg. Disk sec/Transfer) - количество запросов ожидающих обработки, равняется частоте поступления запросов, умноженной на время обработки запроса. Уменьшению показателя очереди способствует SSD-кеширование или традиционное увеличение количества дисков в RAID-массиве. Среднюю длину очереди к диску на чтение снижает переход на SSD, а среднюю длину очереди на запись — отказ от вариантов RAID с большим штрафом на запись RAID 5 и RAID 6, в пользу RAID 10.

Current Disk Queue Length - текущая длина очереди запросов к диску. Показывает количество запросов, ожидающих обработки в данный конкретный момент.

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

Avg. Disk sec/Read - среднее время обращения на чтения данных с диска в секундах. Среднее значение счетчика производительности Avg. Disk sec/Read не должно превышать 10 миллисекунд (0,01 сек). Максимальное значение счетчика производительности Avg. Disk sec/Read не должно превышать 50 миллисекунд (0,050 секунды).

Avg. Disk sec/Write - среднее время обращения записи данных на диск в секундах.

Triggers:

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN}
{#DEVNAME}: Загрузка диска выше {$VFS.DEV.UTIL.MAX.WARN} в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Transfers/sec",60],15m) > 2000
{#DEVNAME}: IOPS выше 2000 в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60],15m) > 1000
{#DEVNAME}: IOPS reads выше 1000 в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60],15m) > 1000
{#DEVNAME}: IOPS writes выше 1000 в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}
{#DEVNAME}: Задержка записи больше {$VFS.DEV.WRITE.AWAIT.WARN} мс в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}
{#DEVNAME}: Задержка чтения больше {$VFS.DEV.READ.AWAIT.WARN} мс в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Transfer",60],15m) > {$VFS.DEV.TRANSFER.AWAIT.WARN:"{#DEVNAME}"}
{#DEVNAME}: Задержка обращений к диску выше {$VFS.DEV.TRANSFER.AWAIT.WARN} мс в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60],15m) > 15
{#DEVNAME}: Очередь запросов к диску выше 15 в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60],15m) > 10
{#DEVNAME}: Очередь записи выше 10 в течении 15 минут

min(/Windows Agent Custom/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60],15m) > 10
{#DEVNAME}: Очередь чтения выше 10 в течении 15 минут

template-windows-agent-custom's People

Contributors

lifailon avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.