婷婷综合国产,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
    av毛片久久久久**hd| 国产婷婷色一区二区三区在线| 成人性色生活片免费看爆迷你毛片| 亚洲一区二区三区四区五区中文| 色欧美日韩亚洲| 成人国产精品免费网站| 欧美丝袜丝交足nylons图片| 国产成人免费9x9x人网站视频| 欧美日韩视频第一区| 综合在线观看色| 欧美精品一区二区三区视频 | 亚洲黄色片在线观看| 国产真实乱子伦精品视频| 亚洲欧美视频一区| 欧美日韩一区久久| 成人精品gif动图一区| 欧美性大战久久久久久久蜜臀| 国产亚洲综合在线| 日韩主播视频在线| 久久久久9999亚洲精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美又粗又大又爽| 国产亚洲精久久久久久| 国产精品国产三级国产普通话蜜臀| 国产一区二区三区精品欧美日韩一区二区三区| 麻豆精品国产传媒mv男同| 久久精品欧美日韩精品| 欧美成人乱码一区二区三区| 91精品国产免费| 偷拍日韩校园综合在线| 欧美嫩在线观看| 国产999精品久久久久久| 日韩欧美中文字幕公布| 精品国产乱码久久久久久久| 成人在线视频一区| 亚洲老司机在线| 国产成人99久久亚洲综合精品| 久久综合九色综合97婷婷女人| 亚洲成人午夜电影| 94色蜜桃网一区二区三区| 亚洲蜜桃精久久久久久久| 人人精品人人爱| 久久69国产一区二区蜜臀| 国产精品麻豆久久久| 精品国产a毛片| 波多野结衣在线一区| 亚洲高清免费一级二级三级| 日韩中文字幕不卡| 久久99精品国产麻豆婷婷| 久久久久久久久蜜桃| 日韩欧美成人一区| www.综合网.com| 亚洲国产中文字幕在线视频综合| 午夜在线成人av| 在线电影院国产精品| 亚洲最新视频在线播放| 91色porny| 久久久久久久久99精品| 欧美国产精品久久| 在线免费观看日韩欧美| av网站免费线看精品| 成人深夜福利app| 亚洲一区二区三区三| 欧美大片在线观看一区| 韩国av一区二区| 日韩免费福利电影在线观看| 亚洲免费观看视频| 国产精品网站在线观看| 亚洲美女精品一区| 中文字幕一区二区三区视频| 亚洲裸体xxx| 欧美色爱综合网| 久久婷婷成人综合色| 欧美日本一道本| 欧美日韩亚州综合| 欧美精品一区男女天堂| 美女一区二区视频| 丝袜a∨在线一区二区三区不卡| 91成人免费电影| 波多野结衣在线aⅴ中文字幕不卡| 色婷婷综合久久久久中文一区二区 | 亚洲不卡在线观看| 男人的天堂亚洲一区| 另类的小说在线视频另类成人小视频在线 | 亚洲一区二区三区四区不卡| 亚洲欧美在线aaa| 亚洲精品日产精品乱码不卡| 日本欧美一区二区在线观看| 精品久久久久香蕉网| 欧美国产丝袜视频| 青草av.久久免费一区| 成人性视频免费网站| 国产精品国产三级国产普通话99| 日本va欧美va欧美va精品| 综合网在线视频| 欧美日本韩国一区| 亚洲午夜av在线| 中文字幕乱码久久午夜不卡 | 久久国产剧场电影| 成人性生交大合| 欧美日韩不卡视频| 欧美精品在欧美一区二区少妇| 一本色道久久综合亚洲aⅴ蜜桃 | 国产精品第四页| 久久er精品视频| 欧美国产一区视频在线观看| 美腿丝袜在线亚洲一区| 免费看日韩a级影片| 亚洲一区二区三区小说| 亚洲婷婷在线视频| 美女精品一区二区| 日韩欧美一级二级三级| 国产蜜臀97一区二区三区| 亚洲精品日日夜夜| 成人爽a毛片一区二区免费| 日韩欧美在线一区二区三区| 不卡一区二区三区四区| 欧美色倩网站大全免费| 黄色日韩三级电影| 亚洲视频图片小说| 久久国产免费看| 人人爽香蕉精品| 亚洲综合图片区| 91久久久免费一区二区| 亚洲女同女同女同女同女同69| 成人综合婷婷国产精品久久免费| 久久国产精品99久久久久久老狼| 日韩亚洲欧美中文三级| 午夜精品在线看| 亚洲成人免费av| 久久五月婷婷丁香社区| 亚洲人成7777| 麻豆91精品视频| 色婷婷综合久久| 91尤物视频在线观看| 亚洲在线视频免费观看| 欧美日韩精品欧美日韩精品| 成人久久18免费网站麻豆| 欧美三级日韩在线| 亚洲福利一区二区| 欧美精品一区二区三区四区 | 国产精品资源网站| 中文在线免费一区三区高中清不卡| 国产精品99久久久久久有的能看| 一本色道a无线码一区v| 制服丝袜国产精品| 国产成人av电影| 日本精品一级二级| 国产乱码精品1区2区3区| 亚洲一区在线播放| 国产精品久久久久永久免费观看 | 亚洲情趣在线观看| 欧美成人女星排名| 欧美主播一区二区三区| 91久久线看在观草草青青 | 亚洲免费观看在线观看| 91免费观看视频| 中文字幕日韩精品一区| 亚洲免费在线观看| 成人免费精品视频| 日韩欧美亚洲另类制服综合在线| 中文字幕av一区二区三区免费看| 成人黄色片在线观看| 青青草97国产精品免费观看 | 久久久久久久久岛国免费| 欧美视频在线观看一区二区| 最好看的中文字幕久久| 国产日韩三级在线| 欧美在线播放高清精品| 亚洲主播在线播放| 欧美精品一区二区高清在线观看| 欧美怡红院视频| 99久久99久久久精品齐齐| 久久精品国内一区二区三区| 日韩一区二区精品| 91精品国模一区二区三区| 一区二区在线看| 一区二区三区色| 国产精品入口麻豆原神| 欧美精品一区二区三区一线天视频| 91精彩视频在线| 国产不卡免费视频| 亚洲精品免费电影| 亚洲精品国产视频| 日韩欧美一区二区视频| 欧美一级片在线| 91在线你懂得| 麻豆国产91在线播放| 91精品国产综合久久精品麻豆 | 国产98色在线|日韩| 日韩一级片网站| 国产精品无遮挡| 欧美一区二区三区视频| 久久久99精品免费观看不卡| 欧美激情一区在线| 国产精品伊人色| 国产亚洲一区字幕| 视频一区二区三区中文字幕| 国产成人精品三级| 中文字幕视频一区二区三区久|