MySQL查看连接数

查看MySQL服务器最大连接数

show global variables like 'max_connections';

 

查看MySQL服务器最大并发连接数(MySQL服务启动到现在,同一时刻并行连接数的最大值)

show global status like 'Max_used_connections';

 

查看当前打开的连接(如果连接数超过max_connections会出现too manany 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

 

posted @ 2020-06-23 11:11  宋健安  阅读(764)  评论(0编辑  收藏  举报