解決Mysql串連過多錯誤的方法

來源:互聯網
上載者:User

   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作設定檔,設定類似,但設定的格式要稍作變通。

        :更多精彩文章請關注三聯編程教程欄目。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.