Мне интересно, может ли LXC предложить полностью изолированную среду тестирования. Допустим, у нас есть 2 одинаковые машины, с таким же свежим Linux и без подключения к сети.
Первая машина имеет среднюю нагрузку 50, а вторая - только 1.
Я устанавливаю один и тот же контейнер на обе машины и запускаю тест любой программы.
Будет ли производительность одинаковой на обеих машинах?
Если нет, знаете ли вы, как лучше создать полностью изолированную среду? Я имею в виду, способ виртуализации иметь такую же производительность независимо от средней / текущей нагрузки хоста.
Спасибо :)
LXC полагается на группы управления для управления ресурсами. Группы управления не ограничиваются LXC, вы также можете использовать их для обычных процессов в ваших системах. Теоретически вы можете настроить группы управления так, чтобы вашему контейнеру гарантировалась определенная доля ресурса (например, время процессора) в каждой системе, независимо от того, сколько других процессов конкурируют за этот ресурс. Для получения дополнительной информации см. Red Hat's Руководство по управлению ресурсами.
Будет ли производительность одинаковой на обеих машинах?
Зависит от количества процессоров / ядер хост-машины и характера нагрузки, которая применяется, но ответ наиболее вероятен: нет, конечно, нет.
Если нет, знаете ли вы, как лучше создать полностью изолированную среду? Я имею в виду, способ виртуализации иметь такую же производительность независимо от средней / текущей нагрузки хоста.
Если вам нужна 100% надежность ваших тестов, то единственный способ - запустить каждый тест на собственном оборудовании.
Виртуализация - это не волшебство. Вы по-прежнему имеете дело с ограниченным набором аппаратных ресурсов, которые гипервизор должен разделять между виртуальными машинами.