我开发了一个基于网络的多组件软件系统,该系统可以在任意数量的机器上运行。我假设一个典型的1到4台机器设置。
我想认真测试系统,并且我已经在强大的PC上建立了一个虚拟机网络,我可以使用它来模拟网络交互。但是,这种设置还不够。
例如,由于虚拟化(我使用qemu),每个节点总是只在一个核心上运行,因此我无法测试为多核使用而设计的代码的性能问题。如果我有时可以在整个PC上运行任何一个虚拟机,看看它有什么不同,特别是在性能方面,还要检查一些多线程问题,那将是很好的。
购买更多的盒子并使用硬盘分区而不是虚拟磁盘映像是选项,但有更优雅的方法吗?我在这里引导一家公司,并不能真正负担大量的硬件而且不得不为每台机器处理真实的物理媒体,而不仅仅是移动图像文件当然是更多的工作。
ETA :该应用程序是一个中间件系统,并没有真正的用户界面。通过虚拟客户端进行测试,并将数据输入到另一端再次提取的系统中。它不是一个网站,它通常不是通过互联网使用,而是通过本地网络使用。 UI和Internet接口将在稍后阶段由连接到系统的一些组件提供。
答案 0 :(得分:3)
到目前为止,这个主题已经出现过几次了:
有许多工具可以进行网络压力测试,但您可能需要调整它们来修复网络配置。例如,我正在开发一个执行大量流媒体工作的项目,因此我们必须编写自己的流媒体客户端来测试网络。
另一件事是您可能需要建立一个小型网络来测试您的生产网络 - 网络负载测试工具也需要相当数量的CPU,因此您通常需要多台机器同时运行它们才能真正发挥作用网络。在我们的例子中,我们有1:2的比例 - 也就是说,我们要测试的每2台服务器有1个测试客户端。你需要花点时间来确定你需要多少个测试盒,但是要注意你的测试机器的性能,这样你才能感受到你需要多少有效的基准测试你的网站。
答案 1 :(得分:0)
我建议使用VMware Workstation,它可以为您的VM配置多个处理器。单个许可证非常便宜,您可以使用VMware Server(免费),但您会发现Workstation在短期内会更强大。
此外,我建议第二台能够从USB启动的PC,您可以存储物理VM分区。一个低端双核PC并不昂贵,特别是如果它只需要启动进入文本模式。
答案 2 :(得分:-1)
您可以雇用某人(可能是远程人员)来执行测试。如果您雇用远程工作人员,您将能够测试您的应用程序在Internet上的运行情况