RHEL + можем ли мы улучшить производительность дисков путем настройки параметров ядра?
у нас есть кластер Hadoop, и мы собираем данные о показателях, чтобы исследовать поведение медленности в приложениях Spark.
после долгого исследования нашего кластера Hadoop
мы заметили из точки метрик Prometheus, что node_disk_io_now имеет высокие значения, превышающие нормальные, и это актуально для всех дисков HDFS на машинах с узлами данных.
определение node_disk_io_now:
node_disk_io_now (поле 9) Единственное поле, которое должно быть равно нулю. Увеличивается по мере передачи запросов в соответствующую структуру request_queue и уменьшается по мере их завершения.
мы хотим знать, может ли настройка параметров ядра дать положительные результаты в производительности дисков.
согласно определению node_disk_io_now, кажется, что слишком много задач ждут в очереди,
и, возможно, некоторые параметры ядра могут помочь улучшить описанное выше поведение, чтобы задачи в очереди не находились там в течение длительного времени.
1 ответ
Все хитрости, доступные на стороне пользователя жесткого диска, можно обнаружить, когда операционная система или какое-то приложение задает диску правильные вопросы.
Вы можете проверить, распознает ли ваша операционная система и ваше приложение зарезервированную область, которая называетсяhost protected area
который можно создать в Linux с помощью команды hdparm.
https://en.wikipedia.org/wiki/Host_protected_area
Есть ловушка, о которой я читал в
https://www.thomas-krenn.com/de/wiki/SSD_Over-Provisioning_mit_hdparm
что операционная система может перенастроить жесткие диски, чтобы игнорировать этот параметр. Кажется, сам Linux хранит эту информацию в себе./sys/module/libata/parameters/ignore_hpa
по ссылке выше. «1» означает автоматическую деактивацию.
Поэтому вам нужно попробовать, что происходит, особенно после перезагрузки сервера.