代码改变世界

Mysql 查看连接数,状态 最大并发数

2019-08-02 09:31  清风软件测试开发  阅读(1270)  评论(0编辑  收藏  举报

show status like '%max_connections%';     ##mysql最大连接数
set global max_connections=1000           ##重新设置
show variables like '%max_connections%';      ##查询数据库当前设置的最大连接数

show global status like 'Max_used_connections';          ##服务器响应的最大连接数

 

show status like 'Threads%';  命令查看数据库的连接情况,下面是参数和返回值

Variable_name   Value
Threads_cached    0        ##mysql管理的线程池中还有多少可以被复用的资源
Threads_connected    152         ##打开的连接数

Threads_running    1       ##激活的连接数,这个数值一般远低于connected数值,准确的来说,Threads_running是代表当前并发数
Threads_created    550          ##表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,如下:

show variables like 'thread_cache_size';     查询数据库最大线程数
set global thread_cache_size=60;               设置数据库最大线程数

最小连接数和最大连接数相差太大的话,会过滤/忽略掉一些数据库连接

 

1,最小连接数是连接池一直保持的数据连接。如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费掉

2,最大连接数是连接池能申请的最大连接数。如果数据连接请求超过此数,后面的数据连接请求将被加入到等待队列中,这会影响之后的数据库操作。

3,如果最小连接数与最大连接数相差太大,那么,最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。

数据库池连接数量一直保持一个不少于最小连接数的数量当数量不够时,数据库会创建一些连接(所以说最先的连接请求将会获利直到一个最大连接数,之后连接数据库就会等待

 

 

 

Mysql中如何查看慢查询以及查看线程https://www.cnblogs.com/yuanwanli/p/9017532.html