千家信息网

mysql中的监控与优化过程是怎样的

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,mysql中的监控与优化过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 监控与优化1.1 监控指标1.1
千家信息网最后更新 2026年11月02日mysql中的监控与优化过程是怎样的

mysql中的监控与优化过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1. 监控与优化

1.1 监控指标

1.1.1 QPS

mysql> show global status like 'Com%';mysql> show global status like 'Queries';+---------------+---------+| Variable_name | Value   |+---------------+---------+| Queries       | 1983766 |+---------------+---------+1 row in set (0.00 sec)

QPS = ( Queries 2- Queries 1 ) / 间隔时间

mysql> show global status where variable_name in ('Queries','uptime');+---------------+---------+| Variable_name | Value   |+---------------+---------+| Queries       | 1983768 || Uptime        | 1364443 |+---------------+---------+2 rows in set (0.00 sec)

1.1.2 TPS

mysql> show global status where variable_name in ('com_insert','com_update','com_delete','uptime');+---------------+---------+| Variable_name | Value   |+---------------+---------+| Com_delete    | 23676   || Com_insert    | 793072  || Com_update    | 259586  || Uptime        | 1364651 |+---------------+---------+4 rows in set (0.00 sec)

Transaction_sum= Com_delete+ Com_insert+ Com_update

TPS = (Transaction_sum 2 - Transaction_sum 1 ) / (time 2 - time 1)

1.1.3 并发数

mysql> show global status like 'Threads_running';+-----------------+-------+| Variable_name   | Value |+-----------------+-------+| Threads_running | 2     |+-----------------+-------+1 row in set (0.01 sec)

1.1.4 连接数

# 最大连接数mysql> show global status like 'max_used_connections%';+---------------------------+---------------------+| Variable_name             | Value               |+---------------------------+---------------------+| Max_used_connections      | 22                  || Max_used_connections_time | 2019-09-04 13:49:52 |+---------------------------+---------------------+2 rows in set (0.00 sec)# 当前连接数mysql> show global status like 'threads_connected';+-------------------+-------+| Variable_name     | Value |+-------------------+-------+| Threads_connected | 2     |+-------------------+-------+1 row in set (0.01 sec)

1.1.5 缓存命中率

##从缓存中读取的次数mysql> show global status like 'innodb_buffer_pool_read_requests';+----------------------------------+----------+| Variable_name                    | Value    |+----------------------------------+----------+| Innodb_buffer_pool_read_requests | 16217299 |+----------------------------------+----------+1 row in set (0.00 sec)##从物理磁盘读取的次数mysql> show global status like 'innodb_buffer_pool_reads';+--------------------------+-------+| Variable_name            | Value |+--------------------------+-------+| Innodb_buffer_pool_reads | 2067  |+--------------------------+-------+1 row in set (0.00 sec)

缓存命中率 = ( innodb_buffer_pool_read_requests - innodb_buffer_pool_reads ) /

innodb_buffer_pool_reads * 100%

1.1.6 服务可用性

  1. 周期连接,执行查询:select @ @version; 或 select user();

  2. mysqladmin -uroot -pxxx -hxxxx ping

1.1.7 阻塞

##< mysql 5.7SELECT 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_idJOIN information_schema.INNODB_TRX c ON a.blocking_trx_id=c.trx_idWHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started))>30##> mysql 5.7SELECT 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_waitsWHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(wait_started))>30

1.1.8 死锁

##pt工具pt-deadlock-logger u=admin, p=123456, h=127.0.0.1 \--create-dest-table \--dest u=admin,p=123456, h=127.0.0.1.D=dba,t=deadlock##全局参数,日志监控mysql> set persist innodb_print_all_deadlocks=on;

11.1.9 慢查询

  1. 监控慢查询日志

  2. 通过information_shcema.processlist表实时监控

1.1.10 主从延迟

  1. show slave status\G

  2. pt-heartbeat

##主库pt-heartbeat --user=xx --password=xxx -h master --create-table --database xxx --update --daemonize --interval=1##从库pt-hearbeat --user=xx --password=xx -h slave --database xxx--monitor --daemonize --log /tmp/slave_lag.log

1.1.11 主从状态

  1. show slave status\G

    IO/SQL 两个线程状态(yes or no)

1.2 负载问题

1.3 优化

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

监控 阻塞 线程 缓存 查询 主从 命中率 日志 时间 次数 状态 帮助 过程 最大 清楚 两个 全局 内容 参数 可用性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 互联网新科技 南京欣网互联网络科技有限公司 互联网的科技 互联网最新的科技 金诺互联网科技 互联网科技与金融科技 广州凡科互联网科技 济南和联互联网科技有限公司 岳阳华臻互联网科技有限公司 宜昌元轩互联网科技有限公司 群盈汇互联网科技有限公司 互联网第三次科技革命特征 上海钢联属于互联网科技股吗 互联网风格科技公司名称 扫呗互联网科技有限公司 互联网时代高科技布局 互联网科技对化妆品行业 株洲百竞科技的互联网营销顾问 小牛互联网科技有限公司地址 金融科技创新监管互联网金融 互联网金融与金融科技 互联网科技汛 中国的互联网科技企业的崛起 阿大互联网科技有限公司 恒生互联网科技业指数调整周期 宁波跨境商互联网科技有限公司 互联网科技机房 北京天晋互联网科技有限公司 河南商务圈互联网科技有限公司
0