Spring r2dbc的性能问题

时间:2020-07-24 15:20:55

标签: performance spring-webflux spring-data-r2dbc r2dbc r2dbc-postgresql

问题:仅在前1秒钟观察到缓慢,其余59个具有恒定的响应时间,比最大响应时间长90%。

服务器环境详细信息:带有在ECS Fargate中部署并连接到Postgres Aurora集群的r2dbc池的spring boot webflux。 池设置-maxSize,initialSize为200 使用spring数据r2dbc和启用的代理侦听器进行调试。

客户: 在同一VPC上的AWS EC2中配置了一个加特林脚本,该脚本具有200,250,300,500个用户的最小负载和50秒的斜坡时间。

场景

  1. ECS服务器已启动。
  2. 等待4分钟。
  3. 使用邮递员试运行了5个请求。
  4. 使用加特林触发负载
  5. 关闭ECS。
  6. 使用不同数量的用户重复这些步骤。

该行为与不同的用户一致。总是前1分钟的响应时间最慢,响应时间最长。 无需重新启动服务器即可进行的后续运行具有良好的性能,没有任何延迟。

总计|确定| KO |单位/秒|最小值| 50%| 75%| 95%| 99%|最大|平均值|标准偏差|
500 | 500 | 0 | 9.804 | 94 | 184 | 397 | 1785 | 2652 | 2912 | 417 | 556 |

在日志中还可以看到,对于具有最大响应时间的请求,记录的这两条即时行之间的时间差为168ms。 -执行查询:BEGIN -ConnectionFactory#create()上的io.r2dbc.spi.Connection.beginTransaction回调

任何建议如何解决/解决该问题?

谢谢。

0 个答案:

没有答案