你真的了解 MySQL 数据库的运行状况吗?

2015年第三方市场调查机构 Evans 数据公司最近公布的一系列客户调查数据显示,在过去两年里,MySQL 在所有开发者使用的数据库中获得了25%的市场份额,Evans 公司的本次调查显示,数据库的使用者中有40%是开发人员,而两年前这一数据是32%。此外 MySQL 越来越被企业级所接受,如今数据日益膨胀,应用越来越广泛,随之而来的 MySQL 性能分析,监控告警,集成可视化的讨论也越来越多了,
摘要由CSDN通过智能技术生成

2015年第三方市场调查机构 Evans 数据公司最近公布的一系列客户调查数据显示,在过去两年里,MySQL 在所有开发者使用的数据库中获得了25%的市场份额,Evans 公司的本次调查显示,数据库的使用者中有40%是开发人员,而两年前这一数据是32%。

此外 MySQL 越来越被企业级所接受,如今数据日益膨胀,应用越来越广泛,随之而来的 MySQL 性能分析监控告警,集成可视化的讨论也越来越多了,还有利用各种工具对 MySQL 各指标数据进行分析的文章也曾出不穷,今天本文就几个需要注意的重点指标总结一下。

InnoDB 缓冲池

InnoDB 引擎在内存中有一个缓冲池用于缓存数据和索引,这有助于你更快地执行 MySQL 查询语句。选择合适的内存大小需要一些重要的决策并对系统的内存消耗有较多的认识,你需要考虑:

  • 其它的进程需要消耗多少内存。这包括你的系统进程,页表,套接字缓冲。
  • 你的服务器是否专门用于 MySQL 还是你运行着其它非常消耗内存的服务。

在一个专用的机器上,你可能会把 60-70% 的内存分配给 innodb_buffer_pool_size,如果你打算在一个机器上运行更多的服务,你应该重新考虑专门用于 innodb_buffer_pool_size 的内存大小,此时需要关注一下几个指标,InnoDB 缓冲池可用页面的数量,使用了多少,总计多少,以及缓冲池的使用率。通过这些指标数据判断数据库的健康状况以及调节内存。

  • mysql.innodb.buffer_pool_free
  • mysql.innodb.buffer_pool_total
  • mysql.innodb.buffer_pool_used
  • mysql.innodb.buffer_pool_utilization
MySQL 进程数,最大连接数

threads_connected 当前客户端已连接的数量。这个值会少于预设的值,但你也会监控到这个值较大,它可保证客户端是处在活跃状态。如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做过多的错误处理,就会出现报错信息。

threads_running 处于激活状态的线程的个数,如果数据库超负荷了,你将会得到一个正在(查询的语句持续)增长的数值。这个值也可以少于预先设定的值。这个值在很短的时间内超过限定值是没问题的。当 threads_running 值超过预设值时并且该值在5秒内没有回落时

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值