MySQL的最大連接數,增加該值增加mysqld 要求的文件描述符的數量。如果服務器的並發連接請求量比較大,建議調高此值,以增加並行連接數量,當然這建立在機器能支撐的情況下,因為如果連接數越多,介於MySQL會為每個連接提供連接緩沖區,就會開銷越多的內存,所以要適當調整該值,不能盲目提高設值。
數值過小會經常出現ERROR 1040: Too many connections錯誤,可以過’conn%’通配符查看當前狀態的連接數量,以定奪該值的大小。
# 最大連接數
show variables like 'max_connections';
#響應的連接數
show status like 'max_used_connections';
1
2
3
4
查看最大連接數:
那么這個5000是怎么來的呢?當然是配置里面寫好了的。
vi /etc/my.cnf
1
查看響應的連接數:
max_used_connections / max_connections * 100% (理想值≈ 85%)
如果max_used_connections跟max_connections相同 那么就是max_connections設置過低或者超過服務器負載上限了,低於10%則設置過大。
max_used_connections數量就是當前連接數量。
MySQL的max_connections參數用來設置最大連接(用戶)數。每個連接MySQL的用戶均算作一個連接,max_connections的默認值為100。
與max_connections有關的特性
MySQL無論如何都會保留一個用於管理員(SUPER)登陸的連接,用於管理員連接數據庫進行維護操作,即使當前連接數已經達到了max_connections。因此MySQL的實際最大可連接數為max_connections+1;
這個參數實際起作用的最大值(實際最大可連接數)為16384,即該參數最大值不能超過16384,即使超過也以16384為准;
增加max_connections參數的值,不會占用太多系統資源。系統資源(CPU、內存)的占用主要取決於查詢的密度、效率等;
Threads_connected 跟show processlist結果相同,表示當前連接數。准確的來說,Threads_running是代表當前並發數
---------------------
