Chaos Monkey延迟测试导致tomcat-jdbc连接池获取连接延迟巨大

问题描述 投票:0回答:1

我们正在我们的服务上使用 Chaos Monkey 运行延迟测试。我们使用它引入了 2 秒延迟。

在此期间,我们服务的响应时间也降至 35-40 秒。

当我们分析我们的应用程序时,我们发现最大数量花费在从连接池获取连接上。我们使用

tomcat-jdbc
进行连接池。

理想情况下,2 秒的延迟应该有原因 <5 second deterioration in our response time.

我们检查了

tomcat-jdbc
的日志,发现
waitCount
不断增加。

我们增加了连接池中的

InitialSize
MaxActive
连接。它有一点帮助,但没有任何显着改变。

这里可能出了什么问题?

delay connection-pooling chaos tomcat-jdbc spring-boot-chaos-monkey
1个回答
0
投票

由于您没有真正提供有关应用程序行为的指标,因此很难提供准确的答案,但通常当 Tomcat Java 应用程序中的数据库出现一些网络问题时会发生这种情况:

  • JDBC 连接池很快就会耗尽,所有连接都被一个线程使用。
  • 尝试响应请求的线程等待池中的连接很长时间
  • 越来越多的线程等待连接,因此等待时间增加。

您需要做的可能是减少一些超时设置,例如“maxWait”参数。

© www.soinside.com 2019 - 2024. All rights reserved.