Установка порогов для метрик дискового ввода-вывода, таких как wr_sec/s или rd_sec/s из команды sar.

Вопрос или проблема

У нас есть серверы Kafka на Red Hat, и использование диска Kafka очень высоко, почти 100%.

Что мы наблюдаем из команды sar, так это то, что значения rd_sec/s и wr_sec/s высоки.

Вопрос таков: как мы можем определить, превышают ли эти значения порог?

Диск Kafka — это RAID 10 с объемом 10 ТБ.

Итак, как мы можем определить порог для операций чтения и записи на диск?

Например, можем ли мы сказать, что значения больше 1,000,000 rd_sec/s и wr_sec/s считаются высокими?

sar -d -p | grep sda

04:05:24 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
04:05:41 PM       sda    496.00  82624.00      0.00    166.58     49.43     93.84      2.02    100.10
04:05:42 PM       sda   3686.00  90528.00 2877784.00    805.29     46.88     14.00      0.27    100.00
04:05:43 PM       sda    644.00 106208.00  10576.00    181.34     49.16     71.65      1.55    100.10
04:05:44 PM       sda    493.00  81016.00    328.00    165.00     47.27     89.59      2.03    100.00
04:05:45 PM       sda   1515.00 257952.00   2944.00    172.21     29.20     26.59      0.66    100.00
04:05:46 PM       sda   2202.00 366560.00      0.00    166.47     18.77      8.12      0.45    100.00
04:05:47 PM       sda   4262.00 187016.00 2784160.00    697.13     41.59      7.48      0.23    100.10
04:05:48 PM       sda    239.00  38144.00      0.00    159.60     49.27    163.82      4.18    100.00
04:05:49 PM       sda    468.00  77872.00    968.00    168.46     47.61    142.10      2.14    100.00
04:05:50 PM       sda   2185.00 368568.00      0.00    168.68     19.22      9.47      0.46    100.00
04:05:51 PM       sda   2273.00 369520.00      0.00    162.57     20.25      8.96      0.44    100.00
04:05:52 PM       sda   2331.00 260432.00 698720.00    411.48     34.09     11.69      0.43    100.00
04:05:53 PM       sda   1492.00 247320.00      0.00    165.76     35.85     28.13      0.67    100.00
04:05:54 PM       sda   2375.00 392224.00    840.00    165.50     22.43      9.50      0.42    100.00
04:05:55 PM       sda   2686.00 439160.00      0.00    163.50     22.87      8.82      0.38    102.00

Ответ или решение

Определение порогов метрик дискового ввода-вывода (I/O) для Kafka серверов на Red Hat

В последние годы компании, использующие Kafka, сталкиваются с растущими требованиями к производительности систем. Одним из основных факторов, влияющих на производительность, является высокое использование дисковых ресурсов. Если вы наблюдаете, что использование диска на серверах Kafka достигает почти 100%, это может привести к серьезным проблемам с производительностью. Поэтому определение пороговых значений для метрик ввода-вывода, таких как rd_sec/s (чтение в секунду) и wr_sec/s (запись в секунду), является ключевым шагом в оптимизации работы ваших систем.

Анализ текущих данных

Согласно вашему выводу команды sar, значения rd_sec/s и wr_sec/s значительно варьируются:

04:05:42 PM       sda   3686.00  90528.00 2877784.00    805.29     46.88     14.00      0.27    100.00

На этих примерах видно, что иногда значения записи (wr_sec/s) достигают более 2,800,000, что является крайне высоким показателем.

Понимание порогов

Чтобы определить пороговые значения для I/O, необходимо учитывать несколько факторов:

  1. Тип устройства и его производительность: Ваш RAID 10 дисковый массив с размером 10 ТБ способен обрабатывать определенное количество операций ввода-вывода. Диски RAID 10 обеспечивают устойчивую скорость чтения и записи за счет параллелизма и зеркалирования, однако получить точное значение порога можно, основываясь на спецификациях вашего оборудования.

  2. Нагрузочные тесты: Проведение нагрузочных тестов на ваших серверах поможет оценить реальные пределы производительности системы. Специальные инструменты, такие как fio, позволяют смоделировать реальные сценарии чтения и записи для определения предельных значений.

  3. Нормативные данные и рекомендации: Для современных дисков часто устанавливаются общие практические пороги. Обычно значения rd_sec/s и wr_sec/s, превышающие 1,000,000, могут свидетельствовать об избыточной нагрузке. Однако следует помнить, что эти значения могут варьироваться в зависимости от конфигурации и назначения системы. Например, для активного сервера Kafka с высокой загрузкой может потребоваться более высокий порог.

  4. Анализ исторических данных: Вы имеете возможность проанализировать длительные временные ряды использования I/O для более точного определения нормальной работы вашего оборудования. Сравнение значений во время пиковых нагрузок и реализация механизмов алертинга могут помочь вам установить более релевантные пороги.

Рекомендации

  1. Мониторинг: Используйте инструменты мониторинга, такие как Prometheus совместно с Grafana, для постоянного отслеживания метрик дискового ввода-вывода.

  2. Настройка алертов: Установите алерты при превышении порогов. Например, значение wr_sec/s, превышающее 1,000,000, может вызывать отправку уведомления администратору.

  3. Оптимизация конфигурации: Проверьте конфигурацию вашего Kafka: параметры очереди, размер сообщений и использование партиций могут существенно влиять на I/O.

  4. Обновление оборудования: В случае систематического превышения пороговых значений может потребоваться обновление оборудования или изменение архитектуры системы.

Заключение

Определение порогов метрик ввода-вывода для дисков серверов Kafka является важной задачей для поддержания производительности и надежности вашей инфраструктуры. Регулярный мониторинг, анализ данных и настройка системы в соответствии с реальными потребностями помогут вам оптимизировать работу системы. В конечном итоге, эти меры приведут к повышению общей эффективности и стабильности работы ваших производственных сред.

Оцените материал
Добавить комментарий

Капча загружается...