查看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