负载测试错误率失败
Posted
技术标签:
【中文标题】负载测试错误率失败【英文标题】:Load test error rate failure 【发布时间】:2014-02-19 09:51:27 【问题描述】:我目前正在进行负载测试以模拟内部网络上 apache 的并发性。以下是我基于 10/50/100/200/500/1000 人得到的响应时间。我的第一个问题是,我如何推断这个负载是太多还是太少。后者:
下面附上错误率
a) 在我看来,当错误率达到 100% 时,即使对于其他测试,响应时间也会在 30 - 40 毫秒之间波动。
b) 当 apache 的错误率较高时,响应时间似乎会更快。
有人可以解释一下为什么会这样:a)当错误率达到 100% 时,为什么响应时间会在 30/40ms 波动,b)为什么当错误率增加时响应时间会减少。
感谢您抽出宝贵时间处理此事。
【问题讨论】:
【参考方案1】:我对 (a) 无能为力。但是,(b) 在负载测试中相当常见——特别是对于在请求服务周期早期发生错误并且生成错误消息比生成对请求的正确响应所需的工作少得多的应用程序。但是,我在你的结果中没有看到这方面的证据。随着用户负载的增加,响应时间也在增加,错误率也在增加。
您是否增加了 Apache 中的连接限制?众所周知,默认情况下,Apache 未配置为处理大量同时连接。 IIRC,nginx 是。在您的结果表明的负载水平上,这可能会影响您的结果。另外,您的测试工具是否使用持久连接?
【讨论】:
【参考方案2】:判断负载是否过多的经验法则是检查是否有错误或响应时间过长。在您的情况下,您在 50 人(VUser)中有不小的错误,这意味着有问题。在增加人员/VUser 之前,您可能需要进行调查。
@CMerrill 对 b) 的回答听起来不错。当出现错误时,服务器上的处理负载可能会减少(在大多数情况下)。对于 a),响应时间在 30ms 到 40ms 左右的波动听起来很正常。关键问题是调查错误。
【讨论】:
以上是关于负载测试错误率失败的主要内容,如果未能解决你的问题,请参考以下文章
WCF 在负载下失败 - MessageSecurityException
在Jmeter中获取CSRF令牌以进行salesforce负载测试