omega监控系列之connection

    xiaoxiao2026-03-13  5

    背景

    什么是omega 简单说就是一个平台, 运维和运营为一体的智能DB管理平台 所有DB相关的事情都能通过此平台 完成->自助完成->智能完成 目前知道这个就够了,其他的以后慢慢介绍 为什么要介绍omega系统里面的connection 1. 因为我们这边业务使用PHP是主流,短连接非常多,经常会遇到connection和thread的问题,所以关注比较多 2. 另一方面,我们omega系统提供了一套完整的connection和thread监控,但是里面有一些专业术语 很多人并不知道【包括一些DBA自己】 3. 既然不明白里面的参数,那么肯定也就不知道这样的监控有何意义,又有何实战价值,所以稍微普及一下。

    omega:connection视图

    官方解释 namedescConnectionsThe number of connection attempts (successful or not) to the MySQL serverabort_clientsThe number of connections that were aborted because the client died without closing the connection properlyabort_connectsThe number of failed attempts to connect to the MySQL server

    官方的东东,比较拗口,我知道你看不懂,所以看下面的实战。

    实战意义

    以上三个参数都是累积值,omega里面的单位平均每秒多少多少

    [Connections]

    重点一:表示一分钟内平均尝试连接到mysql server的次数。重点二:这里面的连接数包括成功的连接,也包括失败的连接,大部分人这里不是很清楚。

    [abort_clients]

    1)客户端已经成功创建连接,但是后来断开了。

    2)如果这个值逐渐增大,那么说明什么问题呢?

    a)wait_timeout 超时,mysql自动kill掉连接 b) 客户端由于某些原因被干掉 总之:就是已经创建好了连接,由于某种原因断开掉了。

    [abort_connects]

    1) 客户端没有创建连接,在尝试建立连接的时候失败了。

    2) 如果这个值逐渐增大,有哪些可能的原因呢?

    a) too many connection 已经发生 b) 权限,端口,密码等等错误,导致不能创建连接的情况 c)客户端设置了connect_timeout等造成的连接不上,网络问题。 总之,就是有很多种原因导致没有成功的创建连接

    omega:thread视图

    官方解释 namedescthreads_connectedThe number of currently open connections.threads_runningThe number of threads that are not sleeping.threads_sleep我自己yy的,意思是The number of threads that are sleeping. 实战意义

    以上三个值是瞬间值

    [threads_connected]

    show processlist里面看到的数量就是这个值

    [threads_running]

    非sleep的连接,如果这个值非常高,说明SQL卡住了或者SQL非常慢,高并发的SQL非常多,通常伴随着cpu,io非常高等特点

    [threads_sleep]

    sleep的连接,就是该thread不干任何事,一旦这样的数值特别大,说明某些业务哪里占了连接不释放,或者其他服务缓慢有问题,导致链接不释放,一般我们的做法就是让MySQL自动关闭这样的连接,保护数据库。

    总结

    至此,上面的参数和status解释完毕,上面状态的各种组合常常能够反映出各种问题,可以帮助DBA快速定位问题,各位可以尝试下,谁用谁知道。

    好了,最后给大家出一个问题思考下:上面第一个截图代表啥意思呢?

    相关资源:python入门教程(PDF版)
    最新回复(0)