运维mysql面试题及答案_数据库运维面试常问问题

运维mysql面试题及答案_数据库运维面试常问问题性能类指标 名称 说明 QPS 数据库每秒处理的请求数量 TPS 数据库每秒处理的事务数量 并发数 数据库实例当前并行处理的会话数量 连接数 连接到数据库会话的数量 缓存命中率 Innodb 缓存命…

性能类指标

名称 说明
QPS 数据库每秒处理的请求数量
TPS 数据库每秒处理的事务数量
并发数 数据库实例当前并行处理的会话数量
连接数 连接到数据库会话的数量
缓存命中率 Innodb 缓存命中率

功能类指标

名称 说明
可用性 数据库是否可正常对外提供服务
阻塞 当前是否有阻塞的会话
死锁 当前事务是否产生了死锁
慢查询 实时慢查询监控
主从延迟 数据库主从延迟时间
主从状态 数据库主从复制链路是否正常

QPS

  • show global status like “Com%”
  • Sum(Com_XXX)
  • show global status like “Queries”
  • QOS=(Queries2-Queries1)/ 时间间隔

TPS

  • show global status where Variable_name in (“com_insert”,”com_delete”,”com_update”)
  • TC≈com_insert+com_delete+com_update
  • TPS≈(TC2-TC1)/(time2-time1)

数据库并发数

  • show global status like “threads_running”

数据库连接数

  • show global status like “threads_connected”
  • 报警阈值 threads_connected/max_connection>0.8

Innodb 缓存命中率

  • (Innodb_buffer_pool_read_requests-Innodb_buffer_pool_reads)/Innodb_buffer_pool_read_requests*100%
  • Innodb_buffer_pool_read_requests: 从缓冲池读取的次数
  • Innodb_buffer_pool_reads: 从物理磁盘读取的次数

数据库可用性

  • 周期性连接数据库服务器并执行 select @@version;
  • Nysqladmin -uxxx -pxxx -hxxx ping

阻塞

  • < MySQL5.7 SELECT b.trx_mysql_thread_id AS “被阻塞线程”,b.trx_query AS “被阻塞 SQL”,c.trx_mysql_thread_id AS “阻塞线程”,c.trx_query AS “阻塞 SQL”,(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started)) AS “阻塞时间” FROM information_schema.innodb_lock_waits a JOIN information_schema.innodb_trx b ON a.requesting_trx_id=b.trx_id JOIN information_schema.innodb_trx c ON a.blocking_trx_id=c.trx_id WHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started))>30

  • = MySQL5.7 SELECT waiting_pid AS “被阻塞线程”,waiting_query AS “被阻塞 SQL”,blocking_pid AS “阻塞线程”,blocking_query AS “阻塞 SQL”,wait_age AS “阻塞时间”,sql_kill_blocking_query AS “建议操作” FROM sys.innodb_lock_waits WHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(wait_started))>30

死锁

  • show engine innodb status

  • pt-deadlock-logger u=xx,p=xxxx,h=127.0.0.1 –create-dest-table –dest u=xx,p=xxx,h=127.0.0.1,D=crn,t=deadlock

  • set global innodb_print_all_deadlocks=on

监控慢查询

  • 通过慢查询日志监控
  • 通过 information_schema.PROCESSLIST表实时监控

监控主从延时

  • show slave status (Seconds_Behind_Master)
  • pt-heartbeat –user=xx –password=xxx -h master –create-table –database xxx –update –daemonize –interval=1
  • pt-heartbeat –user=xx –password=xxx -h slave –create-table –database crn –monitor –daemonize –log /tmp/slave_lag.log

监控主从状态

  • show slave status (Slave_IO_Running,Slave_SQL_Running,Last_Errno,Last_Error)

欢迎扫描下方二维码,持续关注:

运维mysql面试题及答案_数据库运维面试常问问题

互联网工程师(id:phpstcn),我们一起学习,一起进步

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/11036.html

(0)
上一篇 2022-12-17
下一篇 2022-12-17

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注