繁体   English   中英

数据库关闭时Tomcat 8的响应缓慢

[英]Tomcat 8's slow response when the Database is down

tomcat的最新版本8.5.11(8.xx)在JDBC / DB配置方面的行为有所不同。 早些时候(至少在7.xx版本之前),如果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

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

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM