溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql中sleep連接過(guò)多,Ufiner查詢無(wú)數(shù)據(jù)

發(fā)布時(shí)間:2020-07-15 23:08:48 來(lái)源:網(wǎng)絡(luò) 閱讀:728 作者:不良流浪者 欄目:數(shù)據(jù)庫(kù)

    一大早上就接到浩子的QQ襲擾,說(shuō)現(xiàn)場(chǎng)移動(dòng)的人一堆的投訴,說(shuō)dms連不上,查詢沒(méi)有數(shù)據(jù),都快把他的電話打爆了。

    趕緊讓浩子登到數(shù)據(jù)庫(kù)服務(wù)器,確認(rèn)數(shù)據(jù)庫(kù)沒(méi)有掛掉,進(jìn)入數(shù)據(jù)庫(kù)使用 show processlist發(fā)現(xiàn)有大量sleep進(jìn)程,感覺(jué)很奇怪,怎么會(huì)有這么多sleep進(jìn)程。

   mysql中sleep連接過(guò)多,Ufiner查詢無(wú)數(shù)據(jù)

   看到IP集中在內(nèi)網(wǎng)地址176上,登到176根據(jù)對(duì)應(yīng)的端口號(hào)查看也不是應(yīng)用程序出問(wèn)題了,檢查發(fā)現(xiàn)也很正常。

   看了一下最大連接數(shù),設(shè)置的有點(diǎn)小,修改配置增加到1000,重啟數(shù)據(jù)庫(kù)后,sleep暫時(shí)消失,很快又有了許多sleep進(jìn)程。

   網(wǎng)上找了一下原因,

   1. 使用了太多持久連接

   2. 程序中,沒(méi)有及時(shí)關(guān)閉mysql連接

   3. 數(shù)據(jù)庫(kù)查詢不夠優(yōu)化,過(guò)度耗時(shí)。

   找浩子詳細(xì)聊了下,移動(dòng)很多用戶查完數(shù)據(jù)都不會(huì)關(guān)掉Ufiner,甚至整天都不會(huì)關(guān),造成大量進(jìn)程占用。這就無(wú)語(yǔ)了,現(xiàn)實(shí)情況是咱也不能限制對(duì)方這么使用,好吧想到設(shè)置做個(gè)時(shí)間限制。


   網(wǎng)上搜到就是設(shè)置下面兩個(gè)參數(shù)的值,就是在過(guò)期時(shí)間后自動(dòng)清除sleep連接

   interactive_timeout:

   參數(shù)含義:服務(wù)器關(guān)閉交互式連接前等待活動(dòng)的秒數(shù)。交互式客戶端定義為在mysql_real_connect()    中使用CLIENT_INTERACTIVE選項(xiàng)的客戶端。

   參數(shù)默認(rèn)值:28800秒(8小時(shí))


   wait_timeout:

   參數(shù)含義:服務(wù)器關(guān)閉非交互連接之前等待活動(dòng)的秒數(shù)。

   參數(shù)默認(rèn)值:28800秒(8小時(shí))

   

   在配置文件/etc/my-ib.cnf的[mysqld]選項(xiàng)添加這兩個(gè)參數(shù),重啟服務(wù)器,觀察一段時(shí)間后問(wèn)題解決。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI