[英]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&characterEncoding=UTF-8"/>
根據您提供的詳細信息,我並不完全同意您所說的話。 不是Tomcat 8嘗試重新連接到MySQL數據庫,而是建議您執行此操作的MySQL JDBC URL(連接字符串)上的參數。 autoReconnect=true
該 MySQL文檔為您提供了有關使用時此類行為的更多信息。 如果向下滾動到有關autoReconnect
的部分-首先,除非非常有必要,否則不建議這樣做。 並且,如果啟用了autoReconnect,則兩次嘗試重新連接之間的初始時間(以秒為單位,默認為“ 2”)。 這由參數initialTimeout
定義
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.