我们的客户需要我们在网站上模拟50个人同时工作,响应时间应在5秒内。 但我们担心的是,如果我们在他们的网站上测试,我们无法控制网络速度,硬件等。因为这可能影响我们的测试结果。 另一件事是我们的网站上有一些反伪造的,性能测试工具无法模拟这种机制,在我们记录请求后,系统再次发送它,它会失败,因为令牌无效。 我想知道你通常如何进行这种性能测试? 有什么建议 ? 提前谢谢!
答案 0 :(得分:1)
运行负载测试时,最好尽可能地模拟您的环境。如果测试系统的资源与生产系统不同,您必然会得到不同的结果。
但是,您可以使用给定的硬件运行测试并报告您获得的数字。例如,您可以知道系统需要多少带宽,而不管生产系统有多少可用,因为可以测量。
但是如果你想衡量客户会看到的内容,你必须使用相同的环境来做。
答案 1 :(得分:1)
我的惯常方法是分阶段。
首先,使用像WCAT这样的简单工具在开发环境中进行测试。它不会运行JavaScript或回发,但会强调同时发出的请求和线程,这通常是主要的性能瓶颈。
一旦它按预期工作,然后转到Visual Studio Team Test,它支持更复杂的场景。从实验室开始,然后转到测试版/预生产环境。除了客户端测量之外,我还喜欢使用服务器端性能计数器和监控。
对于防伪逻辑,仅出于负载测试目的,您可能会构建一个没有该检查的系统版本。
接下来,在beta环境中与真实用户一起测试。细节取决于项目。如果我无法获得真正的用户,我还创建了几十台运行测试脚本和真实浏览器的PC。有一些很好的第三方工具也可以在这里提供帮助,例如Load Runner(虽然价格昂贵)。
最后,一旦软件投入生产,继续监控和测试。由于一些无法预料的差异或不一致(例如,IIS配置),在测试版中运行良好的软件在生产中崩溃的情况并不少见。(/ p>)