Я разрабатываю сетевую многокомпонентную программную систему, которая предназначена для работы на произвольном количестве машин. Я предполагаю типичную настройку от 1 до 4 машин.
Я хочу серьезно отнестись к тестированию системы, и я настроил сеть виртуальных машин на сильном ПК, который я могу использовать для симуляции сетевого взаимодействия. Однако этой настройки недостаточно.
Например, из-за виртуализации (я использую qemu) каждый узел всегда работает только на одном ядре, поэтому я не могу проверить проблемы с производительностью кода, предназначенного для многоядерного использования. Было бы неплохо, если бы я мог иногда запускать одну из виртуальных машин на всем ПК, чтобы увидеть, в чем разница, особенно в плане производительности, а также проверить некоторые проблемы многопоточности.
Покупка большего количества коробок и использование разделов жесткого диска вместо образов виртуальных дисков - варианты, но есть ли более элегантные подходы? Я загружаю компанию здесь и пока не могу позволить себе загружать оборудование, и мне приходится работать с реальными физическими носителями для каждой машины, а не просто перемещать файлы изображений вокруг.
ETA : приложение является системой промежуточного программного обеспечения и на самом деле не имеет пользовательского интерфейса. Тестирование выполняется с помощью фиктивных клиентов и подачи данных в систему, которая снова извлекается на другом конце. Это не веб-сайт, и обычно он используется не через Интернет, а внутри локальной сети. Интерфейсы пользовательского интерфейса и Интернета будут предоставлены на более позднем этапе некоторыми компонентами, подключенными к системе.