为什么需要监控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就足够了
本文详细介绍如何使用MySQL自带的监控工具进行性能监控,包括开启profiling,使用showprofiles查看SQL执行情况,以及通过showprocesslist监测线程状态,为MySQL调优提供实践指导。





1202

被折叠的 条评论
为什么被折叠?



