Techyou labs
真正的爱应该超越生命的长度,心灵的宽度,灵魂的深度
常用标签
您正在查看:2022年8月
August 15, 2022

本次文章完全使用 mysql 自带的 show 命令实现获取,从 connects、buffercache、lock、SQL、statement、Database throughputs、serverconfig7 大方面全面获取监控数据。

1 连接数(Connects)

  • 最大使用连接数: show status like 'Max_used_connections'
  • 当前打开的连接数: show status like 'Threads_connected'

2 缓存(bufferCache)

  • 未从缓冲池读取的次数: show status like 'Innodb_buffer_pool_reads'
  • 从缓冲池读取的次数: show status like 'Innodb_buffer_pool_read_requests'
  • 缓冲池的总页数: show status like 'Innodb_buffer_pool_pages_total'
  • 缓冲池空闲的页数: show status like 'Innodb_buffer_pool_pages_free'
  • 缓存命中率计算: (1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)\*100%
  • 缓存池使用率为: ((Innodb_buffer_pool_pages_total-Innodb_buffer_pool_pages_free)/Innodb_buffer_pool_pages_total)\*100%

3 锁(lock)

  • 锁等待个数: show status like 'Innodb_row_lock_waits'
  • 平均每次锁等待时间: show status like 'Innodb_row_lock_time_avg'
  • 查看是否存在表锁: show open TABLES where in_use>0; 有数据代表存在锁表,空为无表锁

备注:锁等待统计得数量为累加数据,每次获取得时候可以跟之前得数据进行相减,得到当前统计得数据