Установка пороговых значений для метрик дискового ввода-вывода, таких как 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

04:36:47 PM       sda   6114.00      0.00 6078336.00    994.17      0.90      0.15      0.07     40.60
04:36:48 PM       sda   4702.00      0.00 4581272.00    974.32     91.61     18.89      0.19     89.60
04:36:49 PM       sda   1976.00      0.00 1862880.00    942.75    141.28     69.34      0.51    100.00
04:36:50 PM       sda   2020.00      0.00 1894920.00    938.08    141.45     69.36      0.50    100.00
04:36:51 PM       sda   2170.00      0.00 2079592.00    958.34    141.36     66.76      0.46    100.00
04:36:52 PM       sda   1737.00      8.00 1743312.00   1003.64    141.68     81.23      0.58    100.00
04:36:53 PM       sda   1736.00      8.00 1727800.00    995.28    140.98     80.30      0.58    100.00
04:36:54 PM       sda   1686.00      0.00 1696664.00   1006.33    141.84     85.52      0.59    100.00
04:36:55 PM       sda   1548.00      0.00 1442648.00    931.94    141.37     92.16      0.65    100.00
04:36:56 PM       sda   1622.00      0.00 1481184.00    913.18    141.69     87.70      0.62    100.00

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

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

Введение

На серверах Kafka под управлением Red Hat вы сталкиваетесь с проблемой высокой загрузки диска, достигающей почти 100%. Данные, полученные с помощью команды sar, показывают высокие значения метрик rd_sec/s и wr_sec/s, что указывает на значительную активность чтения и записи на диск. В данной статье мы рассмотрим, как определить пороговые значения для этих метрик, чтобы лучше оценить состояние производительности вашей системы.

Актуальность задачи

Для оптимизации работы вашей системы важно определить, какие значения rd_sec/s и wr_sec/s могут считаться критическими. В противном случае, высокие значения ввода-вывода могут привести к ухудшению производительности и сбоям в работе сервисов, включая Kafka, что в свою очередь негативно скажется на бизнес-процессах.

Анализ данных sar

Ваша команда sar -d -p | grep sda предоставляет информацию о текущих значения дискового ввода-вывода. Рассмотрим пример вывода:

04:05:50 PM       sda   2185.00 368568.00      0.00    168.68     19.22      9.47      0.46    100.00

Здесь:

  • rd_sec/s: количество прочитанных секций в секунду (например, 368568.00).
  • wr_sec/s: количество записанных секций в секунду (например, 0.00, что указывает на отсутствие записи в данный момент).

Пороговые значения для метрик

Для определения пороговых значений необходимо учитывать несколько факторов:

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

  2. Тип нагрузки: Kafka — это система, ориентированная на потоковые данные, и поэтому может генерировать подобные высокие метрики в условиях активного использования.

  3. Среднее значение I/O: Среднее значение считывания и записи за определённый период поможет определить базовый уровень активности. Например, если ваши серверы обычно функционируют с rd_sec/s на уровне 200,000, значения более миллиона могут быть рассмотрены как перегрузка.

Рекомендации по установлению порогов

  1. Мониторинг и сбор данных: Сбор данных о дисковом вводе-выводе в течение нескольких дней позволит вам определить средние значения и пиковые нагрузки.

  2. Определение значений для критических состояний: На основании собранной информации вы можете установить:

    • Предупреждение: значения выше 800,000 секций в секунду для rd_sec/s и wr_sec/s.
    • Критическое состояние: значения выше 1,200,000 секций в секунду для обеих метрик.
  3. Настройка системы оповещений: Реализация системы оповещений на основе пороговых значений поможет вам быстро реагировать на потенциальные проблемы до того, как они повлияют на работу приложения.

  4. Регулярный пересмотр установленных значений: Каждые несколько месяцев пересматривайте установленные значения на основе изменения нагрузки и конфигурации системы.

Заключение

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

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

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