我开发了一个基于网络的多组件软件系统,旨在在任意数量的机器上运行。我假设典型设置为 1 到 4 台机器。
我想认真地测试系统,我已经在一台强大的 PC 上建立了一个虚拟机网络,我可以用它来模拟网络交互。但是,该设置还不够。
例如,由于虚拟化(我使用 qemu),每个节点总是只在一个内核上运行,所以我无法在为多核使用而设计的代码上测试性能问题。如果我有时可以在整个 PC 上运行任何一个虚拟机,看看它有什么不同,尤其是在性能方面,以及检查一些多线程问题,那就太好了。
购买更多的机器并使用硬盘分区而不是虚拟磁盘映像是选项,但有更优雅的方法吗?我在这里创办了一家公司,但实际上还买不起大量的硬件,而且不得不为每台机器处理真实的物理媒体,而不仅仅是移动图像文件,这肯定是更多的工作。
ETA:应用程序是一个中间件系统,并没有真正的用户界面。测试是通过虚拟客户端完成的,并将数据输入到另一端再次提取的系统中。它不是网站,通常不在 Internet 上使用,而是在本地网络中使用。UI 和 Internet 界面将在稍后阶段由连接到系统的一些组件提供。