在小型商店中,建议的负载测试策略(即模拟大量客户端)服务器应用程序是什么?

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

我想认真对待系统测试,并且我已经在强大的PC上建立了一个虚拟机网络,我可以使用它来模拟网络交互.但是,这种设置还不够.

例如,由于虚拟化(我使用qemu),每个节点总是只在一个核心上运行,因此我无法测试为多核使用而设计的代码的性能问题.如果我有时可以运行整个PC上的任何一个虚拟机,看看它有什么不同,特别是在性能方面,还要检查一些多线程问题,这将是很好的.

购买更多的盒子并使用硬盘分区而不是虚拟磁盘映像是可选的,但有更优雅的方法吗?我在这里引导一家公司并不能真正承受大量的硬件而且不得不为每台机器处理真实的物理媒体而不仅仅是移动图像文件当然是更多的工作.

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

最佳答案 到目前为止,该主题已经出现过几次:

> What have you used to test your network service with its custom protocol?.
> Load test/stress testing web services
> Best way to stress test a website
> How do you test the performance of a website?

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

另一件事是您可能需要建立一个小型网络来测试您的生产网络 – 网络负载测试工具也需要相当数量的CPU,因此您通常需要多台机器同时运行它们才能真正运行网络.在我们的例子中,我们有1:2的比例 – 也就是说,我们要测试的每2台服务器有1个测试客户端.你需要花点时间来确定你需要多少个测试盒,但是要注意你的测试机器的性能,这样你才能感受到你需要多少有效的基准测试你的网站.

点赞