1

而我们的客户需要我们在网站上模拟50人同时工作,响应时间应该在5秒以内。但我们担心的是,如果我们在他们的网站上进行测试,我们无法控制网络速度、硬件等。因为这可能会影响我们的测试结果。还有就是我们网站有一些antiforgerytoken,性能测试工具无法模拟这种机制,我们记录请求后,系统再次发送,就会失败,因为token已经失效。我想知道您通常如何执行此性能测试?有什么建议么 ?提前致谢 !

4

2 回答 2

1

在运行负载测试时,最好尽可能模拟您的环境。如果测试系统的资源与生产系统的资源不同,你必然会得到不同的结果。

尽管如此,您仍然可以使用给定的硬件运行测试并报告您获得的数字。例如,无论生产系统有多少可用带宽,您都可以知道系统需要多少带宽,因为这是可以测量的。

但是,如果您想根据客户将看到的内容进行衡量,则必须在相同的环境中进行。

于 2009-11-25T13:08:20.300 回答
1

我通常的方法是分阶段的。

首先,使用 WCAT 等简单工具在开发环境中进行测试。它不会运行 JavaScript 或回发,但会强调同时请求和线程,这通常是主要的性能瓶颈。

一旦按预期工作,然后升级到 Visual Studio Team Test,它支持更复杂的场景。从实验室开始,然后转移到测试版/预生产环境。除了或有时代替客户端测量之外,我还喜欢使用服务器端性能计数器和监控。

对于防伪逻辑,仅出于负载测试目的,您可能会构建一个没有该检查的系统版本。

接下来,在 beta 环境中与真实用户一起进行测试。细节取决于项目。如果我无法获得真正的用户,我还创建了数十台 PC 使用真正的浏览器运行测试脚本的设置。这里也有一些很好的第三方工具可以提供帮助,比如 Load Runner(虽然很贵)。

最后,在软件投入生产后继续监控和测试。由于某些不可预见的差异或不一致(例如 IIS 配置),在测试版中运行良好的软件在生产中崩溃的情况并不少见。

于 2009-11-25T13:29:33.143 回答