gpt4 book ai didi

java - 数据库宕机时 Tomcat 8 响应缓慢

转载 作者:行者123 更新时间:2023-11-28 22:49:26 24 4
gpt4 key购买 nike

最新版本的 tomcat,8.5.11 (8.x.x) 在 JDBC/DB 配置方面表现不同。早些时候(至少在 7.x.x 版本之前),如果 MySQL 连接失败,它会快速退出,但现在,它会尝试 3 次,然后退出。在服务器放弃数据库连接并响应客户端之前,这平均增加了大约 20 秒的延迟。我检查了 JDBC 配置参数,但似乎没有什么可以减少这种延迟。对此有任何想法表示赞赏。

<Context>

<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxTotal="1000" maxIdle="30" maxWaitMillis="100"
name="jdbc/mydb" password="mypass" type="javax.sql.DataSource" username="myname"
url="jdbc:mysql://localhost:3306/mydb?autoReconnect=true&amp;characterEncoding=UTF-8"/>

最佳答案

根据您提供的详细信息,我不完全同意您的说法。不是 Tomcat 8 试图重新连接到您的 MySQL 数据库,而是您的 MySQL JDBC URL(连接字符串)上的一个参数建议这样做。autoReconnect=true

This MySQL 文档为您提供了有关使用时此类行为的更多信息。如果您向下滚动到讨论 autoReconnect 的部分 - 首先不建议,除非非常有必要这样做。如果启用了自动重新连接,则重新连接尝试之间等待的初始时间(以秒为单位,默认为“2”)。这是由参数 initialTimeout

定义的

希望这对您有所帮助!

关于java - 数据库宕机时 Tomcat 8 响应缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45197554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com