MySQL8.0资源组有效解决慢SQL引发CPU告警
资源组的作用是资源隔离(你可以理解为开通云主机时勾选的硬件配置),将线上的慢SQL线程id分配给CPU一个核,让它慢慢跑,从而不影响CPU整体性能。
岚山网站建设公司创新互联,岚山网站设计制作,有大型网站制作公司丰富经验。已为岚山1000多家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的岚山做网站的公司定做!
创建一个资源组
MySQL> create resource group slowsql_rg type=user vcpu=3 thread_priority=19 enable;
slowsql_rg为资源组名字
type=user 来源是用户端的慢SQL
vcpu=3 给它分配到哪个CPU核上(你可以用cat /proc/cpuinfo | grep processor查看CPU有多少核)
thread_priority为优先级别,范围是0到19,19是最低优先级,0是最高优先级。
查看资源组信息
mysql> select * from information_schema.resource_groups;
查找慢SQL的线程ID
SELECT THREAD_ID,PROCESSLIST_INFO,RESOURCE_GROUP,PROCESSLIST_TIME FROM performance_schema.threads WHERE PROCESSLIST_INFO REGEXP 'SELECT|INSERT|UPDATE|DELETE|ALTER' AND PROCESSLIST_TIME > 10;
把THREAD_ID取出来的值,放入资源组里做限制
set resource group slowsql_rg for 379;
比如你想放宽的限制,也可以更改
ALTER RESOURCE GROUP slowsql_rg VCPU = 3 THREAD_PRIORITY = 0;
关闭资源组,解除限制
ALTER RESOURCE GROUP slowsql_rg DISABLE FORCE;
本文名称:MySQL8.0资源组有效解决慢SQL引发CPU告警
文章起源:http://ybzwz.com/article/gcjsdc.html