深圳网站建设设计定做,网站建设需要固定ip地址吗,wordpress外贸主题免费下载,360建筑网招聘电话0、背景
首先定位到mysql 的cpu使用率较高
原因是任务域的作业实例补偿定时任务相关sql查询问题#xff0c;该sql 2min执行一次#xff0c;一次查询两次#xff0c;导致cpu飙升#xff0c;可考虑优化sql#xff0c;添加以下索引
ALTER TABLE
scheduler.tbl_simba_os_sc…0、背景
首先定位到mysql 的cpu使用率较高
原因是任务域的作业实例补偿定时任务相关sql查询问题该sql 2min执行一次一次查询两次导致cpu飙升可考虑优化sql添加以下索引
ALTER TABLE
scheduler.tbl_simba_os_scheduler_job_instance
ADD
INDEX idx_modify_time (modify_time) USING BTREE,
ALGORITHM INPLACE,
LOCK NONE;ALTER TABLE
scheduler.tbl_simba_os_scheduler_job_instance
ADD
INDEX idx_timing_time (timing_time) USING BTREE,
ALGORITHM INPLACE,
LOCK NONE;
1、top
这里数据是波动的可持续观察一段时间检查cpu飙升情况 查询某个进程cpu使用情况top -Hp pid 2、pidstat -u 查看一下CPU使用率
每秒cpu的使用率 pidstat -t -p 2977 查看mysql 线程使用的cpu4个cpu总共占用了28%的cpu 3、 用root账号登录mysql查看这个线程使用的语句
SELECT * FROM performance_schema.threads WHERE THREAD_OS_ID 24352 OR THREAD_OS_ID 24353\G
查询mysql运行的当前的进程
select * from information_schema.PROCESSLIST where info is not null \G;
4、若无法定位sql可结合服务内部cpu情况定位占用cpu较高的sql
这里使用arthas定位服务占用cpu百分数
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
选择进程后执行dashboard即可查看整个服务的资源占用和gc等信息。
观察到有两个线程占用cpu较高且持续增加进入代码查询执行的sql结合第3步定位异常sql