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