婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 關于MySQL報警的一次分析處理詳解

關于MySQL報警的一次分析處理詳解

熱門標簽:啥是企業400電話辦理 南昌三維地圖標注 地圖標注費用是多少 電話外呼系統改號 武漢網絡外呼系統服務商 百應電話機器人優勢 外呼系統打電話上限是多少 曲靖移動外呼系統公司 怎樣在地圖標注銷售區域

最近有一個服務出現了報警,已經讓我到了忍無可忍的地步,報警信息如下:

Metric:mysql.innodb_row_lock_waits Tags:port=4306,service=xxxx diff(#1): 996>900

大概的意思是有一個數據庫監控指標 innodb_row_lock_waits  目前超出了閾值900

但是尷尬的是,每次報警后去環境中查看,得到的信息都很有限,慢日志,錯誤日志里面都沒有充分的信息可以分析,一來二去之后,我開始靜下心來分析這個問題的原因。

首先這個報警信息的時間點貌似是有些規律的,我拿著最近幾天的報警時間做了比對,發現還是比較有規律的,那么在系統層面有哪些任務可能會觸發呢,我查找比對了相關的任務配置,發現有一個定時任務每1分鐘會執行一次,但是到了這里疑問就來了,如果每1分鐘執行1次,為什么在特定的時間會產生差異較大的處理結果?當然這個現象的解釋是個起始。

其實要證明這一點還是蠻容易的,今天我就采取了守株待兔的模式,我在臨近報警的時間前后打開了通用日志,從日志輸出來看,操作的頻率還是相對有限的。

很快得到了規律性的報警,于是我開始抓取相關的通用日志記錄,比如11:18分,我們可以采用如下的模式得到相關的日志,首先得到一個臨時的通用日志文件,把各種DML和執行操作都網羅進來。

cat general.log|grep -E "insert|delete|update|select|exec" > general_tmp.log

我們以11:18分為例,可以在前后1兩分鐘做比對,結果如下:

# less general_tmp.log |grep "11:18"|wc -l

400

# less general_tmp.log |grep "11:17"|wc -l

666

# less general_tmp.log |grep "11:16"|wc -l

15

發現在報警的那1分鐘前后,數量是能夠對得上的。

這個表的數據量有200多萬,表結構如下:

CREATE TABLE `task_queue` (
 `AccID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
 `TaskStepID` bigint(20) DEFAULT NULL COMMENT '任務步驟ID task_step_conf',
 `QOrder` int(11) DEFAULT NULL COMMENT '隊列排序 task_step_confi.Step_ID',
 `QState` tinyint(4) DEFAULT '1' COMMENT '隊列狀態 1:待執行 2:執行中 3:執行成功 4:執行失敗',
 `QExcCount` int(11) DEFAULT '1' COMMENT '執行次數',
 `CrtTime` datetime DEFAULT NULL COMMENT '創建時間',
 `ModTime` datetime DEFAULT NULL COMMENT '修改時間',
 PRIMARY KEY (`AccID`),
 KEY `idx_taskstepid` (`TaskStepID`),
 KEY `idx_qstate` (`QState`)
) ENGINE=InnoDB AUTO_INCREMENT=3398341 DEFAULT CHARSET=utf8

在日志中根據分析和比對,基本能夠鎖定SQL是在一類Update操作上面,SQL的執行計劃如下:

>>explain update task_queue set QState=1,QExcCount=QExcCount+1,modtime=now() where QState=0 and taskstepid =411\G
*************************** 1. row ***************************
   id: 1
 select_type: UPDATE
  table: task_queue
 partitions: NULL
   type: index_merge
possible_keys: idx_taskstepid,idx_qstate
   key: idx_qstate,idx_taskstepid
  key_len: 2,9
   ref: NULL
   rows: 11
  filtered: 100.00
  Extra: Using intersect(idx_qstate,idx_taskstepid); Using where; Using temporary

這個執行結果中key_len是2,9,是和以往的ken_len計算法則不一樣的。 其中Extra列已經給出了明確的提示,這是一個intersect處理,特別的是它是基于二級索引級別的處理,在優化器層面是有一個相關的參數index_merge_intersection。

我們知道在MySQL中主鍵是一等公民,而二級索引最后都會映射到主鍵層面處理,而索引級別的intersect其實有點我們的左右手,左手對應一些數據結果映射到一批主鍵id,右手對應一些數據結果映射到另外一批主鍵id,把兩者的主鍵id值進行intersect交集計算,所以在當前的場景中,索引級別的intersect到底好不好呢?

在此我設想了3個對比場景進行分析,首先這是一個update語句,我們為了保證后續測試的可重復性,可以轉換為一個select語句。

select * from task_queue where QState=0 and taskstepid =411;

所以我們的對比測試基于查詢語句進行比對分析。

場景1:優化器保持默認index_merge_intersection開啟,基于profile提取執行明細信息

>explain select * from task_queue where QState=0 and taskstepid =411\G
*************************** 1. row ***************************
   id: 1
 select_type: SIMPLE
  table: task_queue
 partitions: NULL
   type: index_merge
possible_keys: idx_qstate,idx_taskstepid
   key: idx_qstate,idx_taskstepid
  key_len: 2,9
   ref: NULL
   rows: 11
  filtered: 100.00
  Extra: Using intersect(idx_qstate,idx_taskstepid); Using where
1 row in set, 1 warning (0.00 sec)

profile信息為:

場景2:優化器關閉index_merge_intersection,基于profile進行對比

>set session optimizer_switch='index_merge_intersection=off';


>explain select * from task_queue where QState=0 and taskstepid =411\G
*************************** 1. row ***************************
   id: 1
 select_type: SIMPLE
  table: task_queue
 partitions: NULL
   type: ref
possible_keys: idx_qstate,idx_taskstepid
   key: idx_qstate
  key_len: 2
   ref: const
   rows: 1451
  filtered: 0.82
  Extra: Using where
1 row in set, 1 warning (0.00 sec)

profile信息為:

場景3:重構索引,進行比對分析

根據業務邏輯,如果創建一個復合索引,是能夠大大減少結果集的量級的,同時依然保留 idx_ qsta te 索引,使得一些業務依然能夠正常使用。

>alter table task_queue drop key idx_taskstepid;
>alter table task_queue add key `idx_taskstepid` (`TaskStepID`,QState);
explain select * from task_queue where QState=0 and taskstepid =411\G
*************************** 1. row ***************************
      id: 1
 select_type: SIMPLE
    table: task_queue
  partitions: NULL
     type: ref
possible_keys: idx_qstate,idx_taskstepid
     key: idx_taskstepid
   key_len: 11
     ref: const,const
     rows: 1
   filtered: 100.00
    Extra: NULL
1 row in set, 1 warning (0.00 sec)

profile信息為:

可以明顯看到通過索引重構,“Sending data”的部分少了兩個數量級

所以接下里的事情就是進一步進行分析和驗證,有理有據,等待的過程也不再彷徨,一天過去了,再沒有收到1條報警,再次說明在工作中不要小看這些報警。

總結

到此這篇關于關于MySQL報警分析處理的文章就介紹到這了,更多相關MySQL報警處理內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 去掉mysql連接時報警聲音的方法

標簽:隨州 甘南 荊州 錦州 吉林 資陽 滄州 黑河

巨人網絡通訊聲明:本文標題《關于MySQL報警的一次分析處理詳解》,本文關鍵詞  關于,MySQL,報警,的,一次,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于MySQL報警的一次分析處理詳解》相關的同類信息!
  • 本頁收集關于關于MySQL報警的一次分析處理詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产福利一区在线观看| 久久精品国产亚洲高清剧情介绍 | 中文字幕免费不卡在线| 色婷婷久久久综合中文字幕| 免费看日韩a级影片| 国产精品国模大尺度视频| 日韩欧美国产一区二区三区| 成人av在线看| 国产一区二区免费看| 美女尤物国产一区| 一级做a爱片久久| 国产精品美女久久福利网站 | 日韩国产一二三区| 亚洲裸体xxx| 国产精品久久久久7777按摩| 久久蜜桃香蕉精品一区二区三区| 91精品国产综合久久香蕉的特点| 在线日韩一区二区| 在线亚洲+欧美+日本专区| 成人午夜av电影| 国产精品一区二区三区四区| 奇米四色…亚洲| 日日摸夜夜添夜夜添国产精品| 洋洋成人永久网站入口| 亚洲综合自拍偷拍| 亚洲一区在线观看免费| 亚洲专区一二三| 性做久久久久久久久| 亚洲精品第1页| 亚洲一二三级电影| 亚洲综合小说图片| 日日夜夜一区二区| 国产精品久久影院| 亚洲v精品v日韩v欧美v专区| 一卡二卡欧美日韩| 日韩精品一二三| 久久99国产精品成人| 国产毛片精品国产一区二区三区| 国产精品一区在线| 99这里只有久久精品视频| 99精品欧美一区二区三区小说| 色婷婷狠狠综合| 欧美嫩在线观看| 久久亚洲捆绑美女| 日本一区二区电影| 亚洲自拍偷拍欧美| 精品中文字幕一区二区| 不卡av在线免费观看| 欧美性欧美巨大黑白大战| 69堂国产成人免费视频| wwwwww.欧美系列| 国产精品久久久久9999吃药| 亚洲电影视频在线| 韩国欧美国产1区| 91蝌蚪国产九色| 91精品国产91久久综合桃花| 精品国产第一区二区三区观看体验 | 一区二区三区四区亚洲| 日韩一区精品视频| 成人美女在线观看| 欧美日韩一区二区三区免费看| 日韩一区二区麻豆国产| 国产亚洲一本大道中文在线| 一区二区三区日韩精品| 视频一区二区三区入口| 成人一区二区三区| 日韩一区二区高清| 一区二区三区中文免费| 精品在线视频一区| 欧日韩精品视频| 久久影视一区二区| 视频一区视频二区在线观看| 国产.欧美.日韩| 欧美一区二区三区在线视频| 国产精品对白交换视频| 免费在线欧美视频| 欧美伊人久久久久久久久影院| 26uuu亚洲| 日韩电影免费在线看| 一本久久综合亚洲鲁鲁五月天 | 99re在线视频这里只有精品| 欧美成人一区二区三区片免费 | 欧美探花视频资源| 亚洲特黄一级片| 国产在线不卡视频| 91精品福利在线| 男男成人高潮片免费网站| 91丨九色丨黑人外教| 国产欧美日韩不卡| 久久99精品国产| 日韩免费在线观看| 丝袜美腿亚洲一区二区图片| 色哟哟一区二区| 国产精品免费视频观看| 国产精品一品视频| 欧美成人激情免费网| 免费美女久久99| 日韩一级大片在线| 亚洲大尺度视频在线观看| 国产精品护士白丝一区av| 国产精品正在播放| 欧美酷刑日本凌虐凌虐| 亚洲国产aⅴ天堂久久| 国产成人亚洲综合a∨婷婷图片 | 精品国产一区久久| 亚洲黄色av一区| 国产美女久久久久| 欧美一区二区性放荡片| 久久久久国产精品人| 男女激情视频一区| 在线播放国产精品二区一二区四区| 综合欧美亚洲日本| 粉嫩aⅴ一区二区三区四区五区| 91精选在线观看| 日韩欧美电影在线| 国产一区二区主播在线| 日韩欧美在线1卡| 日韩激情一区二区| 色综合久久六月婷婷中文字幕| 国产视频一区二区三区在线观看| 美腿丝袜亚洲三区| 久久精品综合网| 国产综合色在线视频区| 欧美一级欧美一级在线播放| 亚洲国产一区二区视频| 91激情五月电影| 亚洲精品日产精品乱码不卡| 捆绑调教一区二区三区| 日韩三级中文字幕| 另类人妖一区二区av| 欧美一卡二卡在线观看| 亚洲三级电影网站| 亚洲第一福利一区| 亚洲午夜电影在线观看| 国产精品久久毛片av大全日韩| 91成人网在线| 国产91富婆露脸刺激对白| 在线观看一区二区视频| 日本v片在线高清不卡在线观看| 一色屋精品亚洲香蕉网站| 99久久精品国产导航| 国产午夜亚洲精品羞羞网站| 国产一区二区精品久久91| 色综合久久中文综合久久牛| 日韩视频免费直播| 91蜜桃婷婷狠狠久久综合9色| 国产精品天美传媒沈樵| 亚洲激情综合网| 国产精品久久三| 免费在线一区观看| 欧美日韩在线三级| 国产无一区二区| 中文字幕综合网| 日韩情涩欧美日韩视频| 91精品国产综合久久久久| 91麻豆福利精品推荐| 69堂精品视频| 久久影视一区二区| 欧美一区二区三区四区久久| 亚洲一区二区在线免费观看视频| 亚洲成在人线免费| 日韩成人精品在线| 欧美哺乳videos| 国产精品色哟哟| 国产精品传媒入口麻豆| 中文字幕第一区| 欧美日韩aaaaa| 在线视频亚洲一区| 亚洲成人手机在线| 555www色欧美视频| 亚洲免费电影在线| 亚洲精品视频自拍| 波多野结衣一区二区三区| 一区二区欧美在线观看| 国产精品丝袜黑色高跟| 久久久久久夜精品精品免费| 午夜精品福利视频网站| 久久精品视频网| 国产不卡在线播放| 9191成人精品久久| 国产精品123| 国产盗摄视频一区二区三区| 91麻豆精品国产91久久久久久| 亚洲男人的天堂网| 日韩一区二区三区四区| av一区二区三区四区| 在线成人av网站| 中文字幕亚洲视频| 亚洲成人精品一区| 色激情天天射综合网| 国产免费成人在线视频| 99久久精品费精品国产一区二区| 亚洲伦在线观看| 欧美色综合久久| 日本少妇一区二区| 亚洲成在线观看| 欧美精品一区二区三区蜜桃视频| 成人性生交大合| 91免费小视频| 日韩精品一区二区三区视频在线观看|