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

主頁 > 知識庫 > MySQL數據延遲跳動的問題解決

MySQL數據延遲跳動的問題解決

熱門標簽:地圖標注客戶付款 咸陽防封電銷卡 廣東400企業電話申請流程 臨沂做地圖標注 石家莊400電話辦理公司 宜賓全自動外呼系統廠家 申請400電話電話價格 許昌外呼增值業務線路 新鄉智能外呼系統好處

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

首先在高可用檢測中,有一套環境的檢測時斷時續,經過排查發現是數據庫產生了延遲,在登錄到從庫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數據延遲跳動的問題解決的詳細內容,更多關于MySQL數據延遲跳動的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 如何解決mysql insert亂碼的問題
  • 如何解決mysql無法關閉的問題
  • 解決MySQL數據庫意外崩潰導致表數據文件損壞無法啟動的問題
  • 一文解決django 2.2與mysql兼容性問題
  • 淺談mysql導出表數據到excel關于datetime的格式問題
  • 快速解決mysql導數據時,格式不對、導入慢、丟數據的問題
  • 快速解決mysql導出scv文件亂碼、躥行的問題
  • Docker的MySQL容器時區問題修改
  • pyMySQL SQL語句傳參問題,單個參數或多個參數說明
  • MySQL 5.7.30 安裝與升級問題詳細教程

標簽:北京 貴州 鎮江 臺灣 合肥 日照 鷹潭 阜新

巨人網絡通訊聲明:本文標題《MySQL數據延遲跳動的問題解決》,本文關鍵詞  MySQL,數據,延遲,跳動,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL數據延遲跳動的問題解決》相關的同類信息!
  • 本頁收集關于MySQL數據延遲跳動的問題解決的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 昭苏县| 灵宝市| 昌图县| 民丰县| 吉林省| 卓资县| 红原县| 昭苏县| 怀集县| 漯河市| 乐安县| 章丘市| 宁夏| 怀来县| 应城市| 凌源市| 嘉禾县| 惠水县| 县级市| 石景山区| 樟树市| 康马县| 家居| 介休市| 大冶市| 兰考县| 射洪县| 明星| 平泉县| 如东县| 湄潭县| 杭锦后旗| 蓬安县| 怀宁县| 卢湾区| 兰州市| 襄城县| 龙山县| 青海省| 军事| 张北县|