0

我正在使用 gatling 运行性能测试。Gatling 对于 API 调用的扩展性非常好,但我在 websockets 上发现了一致的异常。我不确定这是服务器端问题还是客户端问题。Ia ms 结束 websocket 心跳并使用check()等待来自服务器的回复 。代码如下:

...
val sendHeartBeat=repeat(repeatCount){
         .exec(
              ws("Send HeartBeat")
              .sendText("HeartBeatMessage")).exitHereIfFailed    
         .exec(
              ws("Check HeartBeat")
              .check(wsListen.within(3500).until(1))). exitHereIfFailed
         .pause(4000)
}
...

问题出现在检查阶段。我运行了一个小时左右的测试,但是在设置新的错误时,一些“用户”放弃了Check 并没有成功。

4

1 回答 1

0

已经在 Gatling 邮件列表上回答: Gatling 目前不排队消息,以防您稍后可能会设置检查并希望匹配它们。也许我们会有机会。

无论如何,您必须对 sendText 操作设置检查,这样您就不会丢失可能在 sendText 和下一个 exec 之间到达的消息。

.exec(
  ws("Send HeartBeat")
  .sendText("HeartBeatMessage")
  .check(wsListen.within(3500).until(1)))
于 2014-10-30T13:56:18.963 回答