亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解MySQL數據延遲跳動的問題

發布時間:2021-10-22 17:11:45 來源:億速云 閱讀:124 作者:iii 欄目:數據庫

本篇內容主要講解“如何理解MySQL數據延遲跳動的問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何理解MySQL數據延遲跳動的問題”吧!

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

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

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

Slave_IO_State: Waiting for master to send event                   Master_Host: xxxx                   Master_User: dba_repl                   Master_Port: 4306                 Connect_Retry: 60               Master_Log_File: mysqlbin.000044           Read_Master_Log_Pos: 386125369                Relay_Log_File: slave-relay-bin.000066                 Relay_Log_Pos: 386125580         Relay_Master_Log_File: mysqlbin.000044

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

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

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

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

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

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

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

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

到此,相信大家對“如何理解MySQL數據延遲跳動的問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万载县| 宜章县| 开封市| 花垣县| 安溪县| 东丽区| 绥江县| 丰城市| 大同市| 阳东县| 迁安市| 潢川县| 宝鸡市| 于都县| 西宁市| 虹口区| 新干县| 应城市| 巴南区| 会宁县| 辽宁省| 宝清县| 徐水县| 临安市| 定州市| 精河县| 福泉市| 茂名市| 灌南县| 麻阳| 仁布县| 石首市| 阜宁县| 行唐县| 会理县| 驻马店市| 靖宇县| 民勤县| 淮北市| 定日县| 中超|