阿里云mysql 连接数_MySQL的活跃连接数和连接数-阿里云开发者社区

前言

很多用户经常会问,我购买的连接是2000,怎么活跃了连接到了500就报警啊?就响应慢了啊?

通过命令我们来看下关于连接数有多少种:

mysql> show global variables like "max_connections";

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

| Variable_name | Value |

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

| max_connections | 1800 |

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

mysql> show global status like "%Threads%";

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

| Variable_name | Value |

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

| Threads_cached | 3 |

| Threads_connected | 0 |

| Threads_created | 7 |

| Threads_rejected | 0 |

| Threads_running | 2 |

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

11 rows in set (0.00 sec)

总连接数

客户购买的DB连接数是这个。max_connections,允许同时连接DB的客户端的最大线程数。如果客户端的连接数超过了max_connections,应用就会收到“too many connections”的错误。

下面是线程的状态信息:

已经创建的连接数

Threads_created是为处理连接而创建的线程数。再明确一点来说是连接到DB的,客户端的线程数。它包含Threads_running。 如果Threads_created很大,可能需要调整thread_cache_size。

线程cache命中率=Threads_created/Connections,cache命中率当然越大越好,如果命中率较低,可以考虑增加thread_cache_size。

已经连接的连接数

活跃连接数

Threads_running官方的说法是“没有sleep的线程数”。顾名思义是:在DB端正在执行的客户端线程总数。Server端保持这些连接同时客户端等待回复。有些线程可能消耗CPU或者IO,有些线程可能啥也没做单纯等表锁或行锁释放。当DB执行完这个线程,客户端收到回复,线程的状态就会从"running" 变成 "connected".

如果发现活跃链接数突然增高,通常是以下原因:

应用缓存失效

突发流量

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值