下面介紹給大家一個參數innodb_kill_idle_transaction(這個是Percona XtraDB引用的參數),意思爲當一個事務長時間未提交,那麼這個連接就不能關閉,內存就不釋放,併發一大,導致DB連接數增多,就會對性能產生影響。
默認是0秒,你可以根據自己的情況設定閾值。超過這個閾值,服務端自動殺死未提交的空閒事務。
MariaDB在10.2.6版本里將其移除,因不再捆綁Percona XtraDB,分道揚鑣。
MariaDB在10.3版本里,增加了3個參數,對標Percona的功能。
1)idle_transaction_timeout (所有的事務) 2)idle_write_transaction_timeout (寫事務) 3)idle_readonly_transaction_timeout (只讀事務)
下面通過例子演示一下:
注:單位爲秒。這裏設置了空事務未提交的時間爲2秒,當超過2秒後,系統自動將其連接殺死。
設置這個參數後只針對新的連接有效,正在執行的連接無效。
參考:https://mariadb.com/kb/en/library/transaction-timeouts/