Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.5. Контрольные группы

Red Hat Enterprise Linux предоставляет множество инструментов для оптимизации производительности растущих систем и адаптации к росту числа процессоров. Однако это требует наличия необходимых знаний и опыта. Раньше крупные системы были редкостью в силу их высокой стоимости, и это оправдывало индивидуальный подход. Постепенно они становились все более доступны, поэтому для их оптимизации стали требоваться более эффективные средства.
Задачу усложняет тот факт, что все чаще для консолидации служб используются мощные системы. Один сервер способен справляться с объемом нагрузки, для обработки которого раньше требовалось от 4 до 8 серверов. На сегодняшний день многие системы в среднем диапазоне намного мощнее ранних высокопроизводительных машин.
Большинство современных приложений изначально разрабатывается с учетом параллелизма. Однако немногие могут эффективно использовать больше восьми потоков, и их обычно устанавливают в 32-процессорных системах.
Производительность стандартных систем уже достигла уровня производительности вчерашних дорогих машин. Высокая производительность по низкой себестоимости позволяет осуществлять обработку большего числа служб на меньшем числе машин.
Некоторые типы общих ресурсов (такие как каналы ввода-вывода) не всегда быстро адаптируются к увеличению числа процессоров, что может привести к длительным периодам ожидания освобождения ресурсов и негативно скажется на производительности приложений.
Red Hat Enterprise Linux 6 решает эту проблему с помощью контрольных групп. Контрольные группы (cgroups) позволяют предоставлять ресурсы по мере необходимости. Так, например, администратор может выделить 80% ресурсов четырех процессоров, 40% дискового ввода-вывода и 60 ГБ памяти приложению базы данных. Веб-приложению, которое выполняется на том же узле, может быть выделено два процессора, 50% сетевого трафика и 2 ГБ памяти.
Быстродействие поддерживается за счет ограничения потребления ресурсов процессами. Дополнительное преимущество контрольных групп состоит в их способности автоматической коррекции в зависимости от нагрузки.
Компоненты контрольных групп:
  • список задач,
  • ресурсы.
Назначенные группе задачи будут выполняться в ее пределах. Их дочерние процессы также будут выполняться в пределах группы, что позволяет ими управлять как единым целым. Администратор может распределять следующие ресурсы:
  • наборы процессоров;
  • память;
  • ввод-вывод;
  • сетевые ресурсы.
Администратор может настроить число процессоров, сопоставить задачи процессорным узлам[3] и выделить процессорное время набору задач. Правильная настройка cpuset критична для достижения высокого уровня производительности и позволяет равномерно распределять вычислительные ресурсы между задачами.
Управление ресурсами ввода-вывода и передачи данных по сети осуществляется другими контроллерами.
Как уже говорилось, контрольные группы выделяют ресурсы приложениям, после чего система сможет автоматически распределять нагрузку между приложениями, поддерживая оптимальную работоспособность.
За дальнейшей информацией обратитесь к руководству по управлению ресурсами по адресу http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.


[3] Узел — набор процессоров или ядер в сокете.