4

我开发了一个基于网络的多组件软件系统,旨在在任意数量的机器上运行。我假设典型设置为 1 到 4 台机器。

我想认真地测试系统,我已经在一台强大的 PC 上建立了一个虚拟机网络,我可以用它来模拟网络交互。但是,该设置还不够。

例如,由于虚拟化(我使用 qemu),每个节点总是只在一个内核上运行,所以我无法在为多核使用而设计的代码上测试性能问题。如果我有时可以在整个 PC 上运行任何一个虚拟机,看看它有什么不同,尤其是在性能方面,以及检查一些多线程问题,那就太好了。

购买更多的机器并使用硬盘分区而不是虚拟磁盘映像是选项,但有更优雅的方法吗?我在这里创办了一家公司,但实际上还买不起大量的硬件,而且不得不为每台机器处理真实的物理媒体,而不仅仅是移动图像文件,这肯定是更多的工作。

ETA:应用程序是一个中间件系统,并没有真正的用户界面。测试是通过虚拟客户端完成的,并将数据输入到另一端再次提取的系统中。它不是网站,通常不在 Internet 上使用,而是在本地网络中使用。UI 和 Internet 界面将在稍后阶段由连接到系统的一些组件提供。

4

3 回答 3

3

到目前为止,这个话题已经在 SO 上出现过几次:

有许多工具可以进行网络压力测试,但您可能需要调整它们以修复您的网络配置。例如,我正在做一个做很多流媒体的项目,所以我们必须编写自己的流媒体客户端来测试网络。

另一件事是您可能需要建立一个小型网络来测试您的生产网络——网络负载测试工具也需要相当多的 CPU,因此您通常需要多台机器同时运行它们才能真正运行网络。在我们的例子中,我们有一个 1:2 的比率——也就是说,我们要测试的每 2 台服务器对应 1 个测试客户端。您将不得不尝试一些事情来确定您需要多少个测试盒,但只需关注您的测试机器的性能,这样您就可以了解您需要多少个才能有效地进行基准测试您的网站。

于 2009-02-04T10:30:24.160 回答
0

我建议使用VMware Workstation,它使您能够为 VM 配置多个处理器。单个许可证非常便宜,您可以使用VMware Server(免费),但我认为 Workstation 在短期内会更强大。

此外,我建议您使用第二台能够从 USB 启动的 PC,您可以在其上存储物理 VM 分区。一台低端双核 PC 并不昂贵,特别是如果它只需要启动到文本模式。

于 2009-02-04T23:04:26.133 回答
-1

您可以聘请某人(也许是远程)来执行测试。如果您聘请远程工作者,您将能够测试您的应用程序在 Internet 上的运行情况

于 2009-02-04T10:10:54.603 回答