成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL數據延遲跳動的問題分析

數據庫 MySQL
今天分析了另外一個關于數據庫延遲跳動的問題,也算是比較典型,這個過程中也有一些分析問題的方法和技巧工參考。

 今天分析了另外一個關于數據庫延遲跳動的問題,也算是比較典型,這個過程中也有一些分析問題的方法和技巧工參考。

[[338618]]

首先在高可用檢測中,有一套環境的檢測時斷時續,經過排查發現是數據庫產生了延遲,在登錄到從庫show slave status查看,會發現Seconds_behind_master的值是不斷跳動的,即從0~39~0~39這樣的頻率不斷跳動,讓人很搓火。

查看數據庫的相關日志發現竟然沒有任何可以參考的日志記錄,怎么分析這個問題呢,我們先來復現,于是我按照節奏抓取了3次問題出現的日志,即通過show slave status連續監測,抓取show slave status輸出的結果保存下來,這樣我們就得到了一個問題發生過程中的偏移量變化,而這個變化則是在SQLThread在回放過程中產生的問題。

比如下面的一段輸出,我截取的是Slave端的relay log進行分析,相應的字段為Relay_Log_Pos

 

  1. Slave_IO_State: Waiting for master to send event 
  2.                   Master_Host: xxxx 
  3.                   Master_User: dba_repl 
  4.                   Master_Port: 4306 
  5.                 Connect_Retry: 60 
  6.               Master_Log_File: mysqlbin.000044 
  7.           Read_Master_Log_Pos: 386125369 
  8.                Relay_Log_File: slave-relay-bin.000066 
  9.                 Relay_Log_Pos: 386125580 
  10.         Relay_Master_Log_File: mysqlbin.000044 

所以很快得到了偏移量的變化情況:385983806 ,386062813 ,386125580

接著我使用mysqlbinlog開始分析這些日志過程中的明細,根據如下的命令可以很快得到轉儲的日志中相關的表有3張。

 

  1. # grep INSERT  relaylog_xxxx.dump |awk '{print $3 " " $4}'|sed 's/INTO//g'|sort|uniq 
  2.  act_action_exec_info 
  3.  act_join_desc 
  4.  dic_subsidy_marketing_querylog_202008 

我逐步分析了每張表的數據操作情況,得到的信息還是比較有限,繼續做更進一步的分析,比如我們分析一下整個日志中的事務量大小:

 

  1. # mysqlbinlog slave-relay-bin.000066 | grep "GTID$(printf '\t')last_committed" -B 1 \ 
  2. >                                     | grep -E '^# at' | awk '{print $3}' \ 
  3. >                                     | awk 'NR==1 {tmp=$1} NR>1 {print ($1-tmp);tmp=$1}' \ 
  4. >                                     | sort -n -r | head -n 100 
  5. mysqlbinlog: [Warning] unknown variable 'loose-default-character-set=utf8' 
  6. 5278 
  7. 5268 
  8. 5268 
  9. 5268 
  10. 5253 
  11. 5253 
  12. 5253 
  13. 5253 
  14. 5253 

可以看到是5K左右,算是比較大了,而這些額外的信息從哪里獲得呢,我在主庫開啟了general_log,這樣就能夠得到更細粒度的操作日志了。

進一步分析發現,整個業務使用了顯示事務的方式:SET autocommit=0,整個事務中包含了幾個大SQL,里面存儲了很多操作日志明細,而且在事務操作過程中還基于Mybatis框架調用了多次select count(1) from xxx的操作。

經過和業務溝通也基本明確了以上問題。

 

責任編輯:華軒 來源: 楊建榮的學習筆記
相關推薦

2023-12-28 11:18:01

MySQL數據庫級聯從庫

2024-03-08 17:54:44

MySQL函數數據

2017-12-27 13:07:52

數據庫MySQL主從復制

2023-06-12 08:18:19

MySQLDDL數據

2023-06-07 17:21:43

大數據低延遲分析

2020-09-21 14:15:58

Redis數據庫命令

2019-07-16 06:30:19

MySQL同步延遲數據庫

2018-02-01 13:22:50

數據庫MySQL同步延遲

2022-07-18 16:02:10

數據庫實踐

2024-06-25 11:06:15

2018-07-16 11:16:59

MYSQL磁盤IO數據庫

2017-07-19 09:53:42

Oracle分區問題

2018-04-25 09:56:35

MYSQLCPU數據庫

2021-11-08 15:38:15

消息延遲堆積

2022-06-08 13:25:51

數據

2017-12-04 10:56:47

MySQL問題分析解決對策

2022-03-07 10:41:09

云計算容器Kubernetes

2013-05-17 09:51:35

大數據分析系統大數據

2022-07-08 17:13:32

MySQL數據死鎖

2016-12-30 16:24:51

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本在线网站 | 亚洲欧美少妇 | 国产欧美一区二区三区久久人妖 | 麻豆av电影网| 中文在线a在线 | 男女羞羞在线观看 | 男女免费视频网站 | 人人九九精 | 色婷婷一区 | 国产乱人伦精品一区二区 | 久久久精彩视频 | 中文字幕一区二区三区乱码在线 | 国产一区二区三区四区 | 亚洲综合大片69999 | 日本羞羞影院 | 国产二区在线播放 | a视频在线| 国产精品久久久久久 | 亚洲视频在线播放 | 在线男人天堂 | 一级大片 | 国产欧美一区二区三区日本久久久 | 久久久久久国产精品免费免费狐狸 | 婷婷综合在线 | 一级a性色生活片久久毛片波多野 | 国产97人人超碰caoprom | 天天拍天天草 | 午夜电影网 | 国产精品高潮呻吟久久av野狼 | 99久久久久国产精品免费 | 一区欧美| 亚洲欧美日本国产 | 一本色道久久综合亚洲精品高清 | 99精品久久久 | 91久久国产综合久久 | 国产成人午夜电影网 | 成人av在线播放 | 农夫在线精品视频免费观看 | 国产精品久久久久久 | 超碰国产在线 | h在线播放 |