监视mysql上使用的连接以调试"太多连接"

Nir*_*Nir 18 mysql

在LAMP生产服务器上我偶尔会从MYSQL收到"太多连接"错误,我想添加监控以查找原因是否超出了最大连接数限制.

我的问题:如何从mysql或mysqladmin查询当前使用的连接数?(我注意到show status提供了总连接而不是当前使用的连接.)

tit*_*boa 17

监控MySQL的一个非常强大的工具是innotop.你可以在这里找到它:

https://github.com/innotop/innotop

在Debian Lenny中,它是mysql-client-5.0软件包的一部分,我想它也适用于其他发行版.它在监控InnoDB内部功能方面特别强大,但也提供对服务器的一般监控.

在"变量和状态"模式下,它监视变量"Connections"和"Max_used_Connections"(以及其他).它显示绝对值和增量值 - 后者可能会让您了解当前连接.

由于innotop提供了非交互模式,因此您可以通过从一些自定义脚本,nagios检查或您拥有的任何系统调用innotop轻松构建完全自动化的监视.

  • 在Debian上,您可能必须手动安装`libterm-readkey-perl`才能使其正常工作. (2认同)

Mah*_*til 6

要获取MySQL允许的并发连接总数,您应该检查

show variables like 'max_connections'

以及当前正在使用多少个并发连接,可以通过

show status like 'max_used_connections'

您应该监视这些变量。如果您需要监视重要MySQL指标的商业工具,可以尝试MySQL Enterprise Monitor,MONyog等。