查看MySQL服務器最大連接數
show global variables like 'max_connections';
查看MySQL服務器最大并發連接數(MySQL服務啟動到現在,同一時刻并行連接數的最大值)
show global status like 'Max_used_connections';
查看當前打開的連接
show full processlist;
或
show global status like 'Threads_%';
其中字段含義:
Treads_cached:當前線程池中緩存有多少空閑線程
Threads_connected:當前的連接數 ( 也就是線程數,show processlist也可以查看 )
Threads_created:已經創建的線程總數
Threads_running:當前激活/運行的線程數
如果Threads_created值過大,說明MySQL服務器一直在創建銷毀線程,這樣比較消耗資源,可以通過適當的設置thread_cache_size
線程池緩存作用:客戶端發起連接時,首先會去線程緩沖池里找是不是有空閑的線程。如果沒有才會去新建線程。當一個連接斷開的時候,并不會馬上銷毀線程釋放資源。而是暫時把線程放在緩沖池中掛起。后面新的連接無需創建新的線程,直接從線程池緩存中拿(如果已用完,就會重新創建線程),效率提高。
查看線程池緩存數
show global variables like 'thread_cache_size';
設置thread_cache_size
方式一(立即生效,重啟服務后失效)
set global thread_cache_size = 20;
方式二(永久生效)
打開my.cnf配置文件,在mysqld作用域中添加
thread_cache_size = 20