Mysql 查看连接数,状态 最大并发数 && 怎么设置才合理

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_created 550 ##表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,查询服务器 Threads_running 1 ##激活的连接数,这个数值一般远低于connected数值,准确的来说,Threads_running是代表当前并发数 show variables like 'thread_cache_size'; set global thread_cache_size=60;


MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。  

我们经常会遇见“MySQL: ERROR 1040: Too many connections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,

另外一种情况是MySQL配 置文件中max_connections值过小:   

mysql> show variables like 'max_connections';

+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| max_connections | 256 | +

-----------------+-------+   

这台MySQL服务器最大连接数是256,然后查询一下服务器响应的最大连接数:   

mysql> show global status like 'Max_used_connections';   

扫描二维码关注公众号,回复: 4560858 查看本文章

MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:   Max_used_connections / max_connections * 100% ≈ 85%   

最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。

----------------------------------------------------------------------------------------------------

https://cloud.tencent.com/developer/article/1081708

如果遇见“MySQL:ERROR 1040:Too manyconnec-tions”的情况

一种情况是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力了

另外一种情况是MySQL配置文件中max_connections的值过小

来看一个例子:

(1)查看下MySQL配置的最大连接数

mysql> show variables like 'max_connections';

这台MySQL服务器的最大连接数是100

(2)查询一下该服务器曾经响应过的最大连接数:

mysql> show global status like 'Max_used_connections';

实际中出现过的最大连接数是68,没有达到上限100,应该不会出现1040错误

连接数理想的设置是:

Max_used_connections / max_connections * 100% ≈ 85%

即最大连接数占上限连接数的85%左右

猜你喜欢

转载自www.cnblogs.com/shengs/p/10140731.html
今日推荐