mysql性能监控

本文详细介绍如何使用MySQL自带的监控工具进行性能监控,包括开启profiling,使用showprofiles查看SQL执行情况,以及通过showprocesslist监测线程状态,为MySQL调优提供实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么需要监控mysql

使用mysql不仅仅需要能简单的crud,还需要进行性能调优,不管是工作中还是去面试这都比较重要,要想学会mysql调优首先得学会监控mysql的性能,不多说废话,直接开干

show profile

mysql是自带监控工具的,有的版本可能默认开启,有的可能关闭的,所以首先检查profiling是否打开

show variables like ‘profiling’;
在这里插入图片描述
如上profiling已经打开了,如果是off的话需要执行以下命令打开:
set profiling=1;

打开profiling后使用show profiles命令可以查看最近执行过的sql语句以及耗时信息
在这里插入图片描述
在上图中有Query_ID,这个代表sql语句的id,可以查询某个sql的详情信息,比如:

show profile for query 1;
在这里插入图片描述
上图可以查看执行sql的具体步骤的耗时

如果需要查看这个sql执行时使用的系统资源可以使用show profile all for query 1命令

在这里插入图片描述

也可以单独查询某一具体资源的情况,比如 show profile cpu for query 1

在这里插入图片描述

具体资源查询命令总结如下:

  • show profile all for query n 显示所有性能信息
  • show profile block io for query n 显示块io的操作次数
  • show profile context switches for query n 显示上下文切换次数,被动和主动
  • show profile cpu for query n 显示用户cpu时间、系统cpu时间
  • show profile ipc for query n 显示发送和接收的消息数量
  • show profile page faults for query n 显示错误数量
  • show profile source for query n 显示源码中的函数名称与位置
  • show profile swaps for query n 显示swap的次数

show processlist

执行show processlist查看连接的线程个数,来观察是否有大量线程处于不正常的状态或者其他不正常的特征

在这里插入图片描述

总结

根据以上的工具基本能满足对mysql监控的需求,profile也是工作中最好用最简单的工具,如果使用的是mysql5的版本完全可以使用以上的工具监控mysql就足够了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值