mysql wait_timeout和interactive_timeout總結

(1)interactive_timeout:
參數含義:服務器關閉交互式鏈接前等待活動的秒數。交互式客戶端定義爲在mysql_real_connect()中使用CLIENT_INTERACTIVE選項的客戶端。
參數默認值:28800秒(8小時)

(2)wait_timeout:
參數含義:服務器關閉非交互鏈接以前等待活動的秒數。
在線程啓動時,根據全局wait_timeout值或全局interactive_timeout值初始化會話wait_timeout值,取決於客戶端類型(由mysql_real_connect()的鏈接選項CLIENT_INTERACTIVE定義)。

參數默認值:28800秒(8小時) mysql

問題1:這裏爲何要同時設置interactive_timeout,wait_timeout的設置纔會生效?
答:    不設置interactive_timeout,wait_timeout也會生效。
問題2:interactive的值若是設置的和wait_timeout不一樣,爲何Interactive_timeout會覆蓋wait_timeout?
答:在交互模式下(CLIENT_INTERACTIVE),interactive_timeout才生效,非交互模式下,不生效。

問題3:在進行MySQL優化時,由於interactive_timeout決定的是交互鏈接的時間長短,而wait_timeout決定的是非交互鏈接的時間長短。若是在進行鏈接配置時mysql_real_connect()最後一個參數client_flag不設置爲CLIENT_INTERACTIVE,是否是interactive_timeout的值不會覆蓋wait_timeout?
答:能夠作實驗試試。

問題4:爲了減小長鏈接的數量,在設置優化時是否是能夠將interactive_timeout的值設置的大些,而wait_timeout的值設置的小些?可是問題2的描述好像又不容許這樣。。。

答:如2所述,在交互模式下,interactive_timeout取代wait_timeout。這樣,若是有的客戶端是交互模式方式鏈接mysql server。那麼客戶端的timeout受制於interactive_timeout。若是有的客戶端是非交互模式,長鏈接mysql server。那麼客戶端的timeout受制於wait_timeout。(是不是交互模式的鏈接,由客戶端決定) sql

相關文章
相關標籤/搜索