mysql最大連線數是151。 mysql資料庫最大連接數是指在同一時間內可以與mysql資料庫建立的最大連接數,這個數字對於高流量的Web應用程式和大型企業應用程式至關重要,如果超過了最大連接數,那麼新的連接將無法建立,從而導致應用程式崩潰或出現效能問題。
本教學作業系統:Windows10系統、mysql 8.0版本、Dell G3電腦。
MySQL 資料庫最大連線數是指在同一時間內可以與 MySQL 資料庫建立的最大連線數。這個數字對於高流量的 Web 應用程式和大型企業應用程式至關重要。如果超過了最大連接數,那麼新的連接將無法建立,從而導致應用程式崩潰或出現效能問題。
通常MySQL的最大連線數預設是151 最大可以達到16384。
查看mysql最大連線數:
show variables like '%max_connections%’;
查看目前實際最大使用連線數:
show global status like 'Max_used_connections';
實際連線數是最大連線數的85%較為合適,所以最大連接數我們可以依照實際連線數去設定(如果你想設定最大連線數超過1024,還需要修改檔案描述符的上限)。
思考:連結數設定成最大(16384)是最好的嗎?
我們把連接數設定成MySQL支援的最大連接數,這樣我們的MySQL伺服器可以同時支援很多的連接,我們也可以很少機率的遇到:
MySQL: ERROR 1040: Too many connections
的錯誤訊息。
但受限於伺服器的資源限制,在設定了過大的 max_connections 情況下,資料庫會因為保持了大量的連線而使伺服器資源耗盡而變得無法回應。因為每多一個connection,MySQL就會創建一個線程來維護這個連接,而且CPU在線程間切換需要重新加載對應線程的上下文信息,當 connections 數量不斷增加時,CPU 不斷在各個 connections 的查詢中切換。
所以,設定較大的 max_connections 值時,可能會導致資料庫因接受了太多的連線而效能下降,甚至因為資源耗盡而無法回應的風險。
資料庫連線池
資料庫連線池是維護資料庫連線的緩存,以便在將來需要對資料庫發出請求時可以重複使用連線。連接池用於提高在資料庫上執行命令的效能。因為每連接一次資料庫就需要經過一次TCP連接,如果每次訪問資料庫,都需要連接,然後再關閉,下次訪問的時候再連接,是很浪費資源的,所以我們將創建好的連接放到連接池裡,需要的時候去拿,不需要的時候就放回連接池(用空間換時間)。
當應用程式向連線池請求的連線數超過最大連線數量時,這些請求將會加入等待佇列。
思考:資料庫連線池越大越好嗎?
假如我們把資料庫連線池設定的和MySQL最大連線數一樣,這樣不是最好嗎?可以保證我們的服務有最大的可用連線數使用,每來一個資料庫請求,我們都有空閒的連線可以使用。
這樣的話,又回到了,我們上面遇到的問題(可能會導致伺服器因維護了太多的資料庫連線而效能下降,甚至因為資源耗盡而無法回應的風險)
以上是mysql最大連線數是多少的詳細內容。更多資訊請關注PHP中文網其他相關文章!