活跃连接数,和 CPU 的核数是相关的,建议将最大活跃连接数不超过 CPU 核数3 ~ 4mysql最大连接数,这个时候它的性能是比较高的。经常有用户会混淆“最大连接数”和“活跃会话数”这两个概念,最大连接数是指你的应用应用连接池 * 实例上有多少个 DB,不超过最大的连接数的数量(这句话不太好整理),活跃会话数是指正在干活的数量,这个数量不是越多越好,我们要保证活跃会话要尽可能少,这样的话,mysql 才能提供最高的一个性能。

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

mysql最大连接数_炼数成金 mysql_mysql 文件句柄数

总连接数

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

mysql 文件句柄数_炼数成金 mysql_mysql最大连接数

下面是线程的状态信息:

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

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

Thread_connected当前打开的连接数。

mysql最大连接数_mysql 文件句柄数_炼数成金 mysql

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

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

关于“最大连接数”和“活跃会话数”可以参考官方说明加以深入理解

往期推荐

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688