茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1730064 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00252.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2014/6/6 9:07:09
mysql連接過多的錯誤解決問題

mysql連接過多

問:怎樣解決mysql連接過多的錯誤?

答:系統不能連接數據庫,關鍵要看兩個數據:

1、數據庫系統允許的最大可連接數max_connections。這個參數是可以設置的。如果不設置,默認是100。最大是16384。

2、數據庫當前的連接線程數threads_connected。這是動態變化的。

查看max_connections、max_connections的辦法見後。

如果 threads_connected == max_connections 時,數據庫系統就不能提供更多的連接數了,這時,如果程序還想新建連接線程,數據庫系統就會拒絕,如果程序沒做太多的錯誤處理,就會出現類似強壇的報錯信息。

因為創建和銷毀數據庫的連接,都會消耗系統的資源。而且為了避免在同一時間同時打開過多的連接線程,現在編程一般都使用所謂數據庫連接池技術。

但數據庫連接池技術,並不能避免程序錯誤導致連接資源消耗殆盡。

這種情況通常發生在程序未能及時釋放數據庫連接資源或其他原因造成數據庫連接資源不能釋放,但強壇系統估計不會發生這種低級的編程錯誤。

該錯誤的簡便的檢查辦法是,在刷新強壇頁面時,不斷監視threads_connected的變化。如果max_connections足夠大,而 threads_connected值不斷增加以至達到max_connections,那麼,就應該檢查程序了。當然,如果採用數據庫連接池技術, threads_connected增長到數據庫連接池的最大連接線程數時,就不再增長了。

從強壇出錯的情況看,更大的可能性是數據庫系統沒能進行適當地配置。下面提出一點建議。供參考

讓你們的工程師把MySQL的最大允許連接數從默認的100調成32000。這就不會老出現連接過多的問題了。

查看max_connections

進入MySQL,用命令:
show variables

查看數據庫最大可連接數的變量值:
max_connections

查看threads_connected

進入MySQL,用命令:
show status

查看當前活動的連接線程變量值:
threads_connected

設置max_connections

設置辦法是在my.cnf文件中,添加下面的最後紅色的一行:
[mysqld]
port=3306
#socket=MySQL
skip-locking
set-variable = key_buffer=16K
set-variable = max_allowed_packet=1M
set-variable = thread_stack=64K
set-variable = table_cache=4
set-variable = sort_buffer=64K
set-variable = net_buffer_length=2K
set-variable = max_connections=32000

修改完畢後,重啟MySQL即可。當然,為了確保設置正確,應該查看一下max_connections。

注意:
1、雖然這裡寫的32000。但實際MySQL服務器允許的最大連接數16384;
2、除max_connections外,上述其他配置應該根據你們系統自身需要進行配置,不必拘泥;
3、添加了最大允許連接數,對系統消耗增加不大。
4、如果你的mysql用的是my.ini作配置文件,設置類似,但設置的格式要稍作變通。

原文出處:MySQL 優化大全:設定 my.cnf 優化指南 - Linux, Unix, FreeBSD專區 - 頂客論壇 - 台灣forum,Taiwan論壇bbs
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|