У нас есть веб-сервер Centos8, на котором размещены сотни веб-сайтов с использованием 3 сервисов: apache, mariadb и php-fpm. Поскольку apache и mariadb не поддерживают ограничение ресурсов для каждой учетной записи, все веб-сайты имеют одинаковый доступ ко многим системным ресурсам (хранилищу, базе данных), и один веб-сайт может перегрузить компьютер (часто это происходит из-за запросов к базе данных) и вывести из строя все размещенные веб-сайты. там.
Мы хотели бы использовать контрольные группы Linux и, возможно, другие функции контейнера, чтобы ввести ограничения на ресурсы, которые может использовать один веб-сайт, в основном количество процессов php, операций ввода-вывода и запросов к базе данных в секунду.
Один (не обязательно самый эффективный) способ добиться этого — запустить одну выделенную группу сервисов (apache+mariadb+php-fpm) для каждого веб-сайта или группы веб-сайтов с определенной настройкой лимитов ресурсов.Таким образом, иметь сотни одновременно работающих сервисных групп.
Каков более простой способ настроить это из существующей настройки рабочих 3 сервисов? Производительность второстепенна, и мы не хотим заниматься созданием и запуском сотен образов контейнеров. Вместо этого мы хотели бы, чтобы все было определено в легко изменяемой во время выполнения форме в корневой файловой системе и управляло всеми службами через systemd. Таким образом, никаких докер-контейнеров.