0

我正在尝试在负载 Vs WebClient 上对 RSocket(使用 Spring)性能进行基准测试。

在单元测试中,RSocket 调用显示出更好的性能,但在负载测试中,与 http(使用 Webclient)相比,性能显着下降。

是暴露 RSocket 端点的控制器

是调用 RSocket 端点的客户端类。

注意:我正在使用 http 端点公开 RSocket 客户端,以便能够使用 Gatling 对它们进行负载测试。

试验结果:

1- 单次通话:

  • 网络客户端 => 700 毫秒
  • RSocket => 300ms

2- 200 个并发呼叫:

  • 网络客户端 => 880 毫秒
  • RSocket => 3_400ms

在 Webclient 调用中,我通过在请求服务器之前将 Flux 数据收集到列表中来减少对服务器的调用次数。在 RSocket 调用中,我正在流式传输所有数据,因此我正在处理并在收到它们后立即发送给客户端(=> 每个客户端请求对服务器的调用更多)。

4

0 回答 0