Мы изучаем возможность виртуализации нашего сервера (ов) сборки C ++.
Основная причина заключается в том, что наша текущая цепочка инструментов, которую мы используем в дополнение к самой сборке в Visual Studio, работает должным образом только на Windows XP (или 2003 Server), а вторичная причина - в простоте администрирования (просто клонируйте образ и будьте готовы к запуску на разные HW.
В конце концов, установка, скорее всего, будет / должна быть одной виртуальной машиной на аппаратный блок, потому что совместное использование оборудования просто не имеет смысла для сборки C ++, потому что оно в любом случае будет максимально загружать ЦП и диск.
Коллега провел предварительные тесты на его рабочей станции разработчика, а они просто ужасны:
Он измерил следующее время сборки для полной сборки нашего решения Visual C ++ 8 (Visual Studio 2005):
С такими сроками мы точно не станем виртуальными!
Теперь мы спрашиваем себя, сделали ли мы какие-либо неправильные предположения при наших измерениях.
Связанные вопросы, которые не помогли полностью:
Не испортили ли мы какие-то настройки, чтобы получить такое ужасное замедление сборки C ++?
Наверное, нет, VMWare Workstation не подходила для этой работы.
Стоило ли нам тестировать ESX (i) (?) Вместо Workstation?
Да, это будет лучше, чем Workstation, но все же медленнее, чем «голый металл», но гораздо лучше.
Стоит ли ожидать чего-то еще от MS Hyper-V? (Потому что наш ИТ-отдел предпочел бы это.)
Если хотите, производительность в целом сравнима с ESXi, некоторые вещи быстрее, некоторые медленнее - не стесняйтесь попробовать.
Виртуализация не всегда подходит ... но ... вы не сказали нам никаких спецификаций рабочей станции разработчика. Сколько у него памяти? Сколько ядер?
Вы запускаете компиляцию с флагом / MP?
Были ли виртуальные машины настроены на чрезмерное использование памяти? Сработал ли когда-нибудь драйвер шара памяти? Что еще работало на основной ОС? (Например, на ваших тестовых виртуальных машинах было запущено антивирусное программное обеспечение, а также на главной рабочей станции?)
Я бы определенно провел ваше тестирование на ESXi - гипервизор чрезвычайно эффективен и обеспечит гораздо лучшую производительность в качестве хоста для ваших виртуальных машин. Но вам все равно придется бороться с памятью и процессором.
Какая статистика производительности (Perfmon, Performance Monitor и т. Д. (Внутри гостя говорит, что это узкое место? Что говорит ОС гипервизора для эквивалентной статистики?)
Вы используете паравиртуализированные драйверы или эмулируемые?
Есть ли у ПК, на котором вы тестируете, расширения виртуализации ввода-вывода, а также базовое ускорение virt? Включены ли они в BIOS?