欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中從庫延遲狀況排查的一則案例

 更新時間:2015年05月09日 15:08:24   作者:吳炳錫  
這篇文章主要介紹了MySQL中從庫延遲狀況排查的一則案例,針對其從庫無業(yè)務(wù)狀態(tài)下的CPU大量占用情況,需要的朋友可以參考下

今天給一個客戶巡檢的情況下發(fā)從庫沒有業(yè)務(wù)的情況mysqld的cpu的一個core占用100%.查主庫慢查詢也沒有關(guān)于寫的SQL.
可以說是典的單進程復(fù)制把一個cpu占滿造成的.知道原因了,就好分析了.
分析一下binlog中寫的什么,看看有什么地方可以優(yōu)化或是加速的.利用工具:pasrebinlog
利用show slave status\G; 查當前同步的到節(jié)點,然后對日值進行解析.

git clone https://github.com/wubx/mysql-binlog-statistic.git
cd mysql-binlog-statistic/bin/
parsebinlog /u1/mysql/logs/mysql-bin.000806

...
====================================
Table xx_db.xxtable:
Type DELETE opt: 101246
Type INSERT opt: 103265
================================
...

 

以最大的數(shù)排序看, 定位到: xx_db.xxtable,對于一個日值中能刪除10幾萬,寫入10幾萬.是不是這個表寫入比較慢了呢.
在從庫上查看innodb的相關(guān)情況:

MySQL> show engine innodb status\G;
...
---TRANSACTION 1C0C2DFDF, ACTIVE 3 sec fetching rows
mysql tables in use 1, locked 1
3361 lock struct(s), heap size 407992, 477888 row lock(s), undo log entries 42
MySQL thread id 43, OS thread handle 0x7fc1800c4700, query id 1908504 Reading event from the relay log
TABLE LOCK table xx_db.xxtable trx id 1C0C2DFDF lock mode IX
RECORD LOCKS space id 1002 page no 1975 n bits 1120 index `AK_movieid` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 6965 n bits 264 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 6967 n bits 256 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 6973 n bits 264 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 6982 n bits 256 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 6983 n bits 256 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 6987 n bits 256 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 6999 n bits 256 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
RECORD LOCKS space id 1002 page no 7000 n bits 256 index `GEN_CLUST_INDEX` of table xx_db.xxtable trx id 1C0C2DFDF lock_mode X locks rec but not gap
TOO MANY LOCKS PRINTED FOR THIS TRX: SUPPRESSING FURTHER PRINTS
----------------------------
END OF INNODB MONITOR OUTPUT

...


從Innodb 的monitor output 中也可看到 xx_db.xxtable 這表已經(jīng)是表級表了,造成并發(fā)比較低,而且有大量的: GEN_CLUST_INDEX 而且屬于一個事務(wù).  GEN_CLUST_INDEX表示沒有主建,內(nèi)部產(chǎn)生一個主建,對于內(nèi)部產(chǎn)生的主建很很容易造成page拆分的操作.

問題到這里基本上可以得到解決問題的方法了:
給xx_db.xxtable 添加一個主建即可.這里后是給xx_db.xxtable 添加了一個無業(yè)務(wù)意義的id int 自增主建.這樣立馬可以看到mysqld占用的cpu單核降到了3%左右, 同時后續(xù)同步一切正常,觀查一天沒出現(xiàn)同步延遲的問題.

相關(guān)文章

  • 一條SQL語句在MySQL中是如何執(zhí)行的

    一條SQL語句在MySQL中是如何執(zhí)行的

    本篇文章會分析下一個sql語句在mysql中的執(zhí)行流程,包括sql的查詢在mysql內(nèi)部會怎么流轉(zhuǎn),sql語句的更新是怎么完成的,需要的朋友可以參考一下
    2021-10-10
  • 實例詳解mysql子查詢

    實例詳解mysql子查詢

    這篇文章主要介紹了mysql子查詢的相關(guān)資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • MYSQL中binlog優(yōu)化的一些思考匯總

    MYSQL中binlog優(yōu)化的一些思考匯總

    這篇文章主要給大家介紹了關(guān)于MYSQL中binlog優(yōu)化的一些思考,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • mysql8.0主從復(fù)制搭建與配置方案

    mysql8.0主從復(fù)制搭建與配置方案

    MySQL主從復(fù)制是一個異步的復(fù)制過程,就是有兩個數(shù)據(jù)庫服務(wù)器,一個是主(master)數(shù)據(jù)庫服務(wù)器,另一個是從(slave)數(shù)據(jù)庫服務(wù)器。
    2022-09-09
  • MySQL的?DDL和DML和DQL的基本語法詳解

    MySQL的?DDL和DML和DQL的基本語法詳解

    SQL語句,即結(jié)構(gòu)化查詢語言(Structured?Query?Language),是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng),這篇文章主要介紹了MySQL的?DDL和DML和DQL的基本語法,需要的朋友可以參考下
    2022-07-07
  • MySQL批量插入和唯一索引問題的解決方法

    MySQL批量插入和唯一索引問題的解決方法

    這篇文章主要給大家介紹了關(guān)于MySQL批量插入和唯一索引問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Linux 安裝JDK Tomcat MySQL的教程(使用Mac遠程訪問)

    Linux 安裝JDK Tomcat MySQL的教程(使用Mac遠程訪問)

    這篇文章主要介紹了Linux 安裝JDK Tomcat MySQL(使用Mac遠程訪問),本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • MySQL如何從5.5升級到8.0(使用命令行升級)

    MySQL如何從5.5升級到8.0(使用命令行升級)

    最近為了解決mysql低版本的漏洞,這篇文章主要給大家介紹了關(guān)于MySQL如何從5.5升級到8.0的相關(guān)資料,主要使用的命令行升級,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • mysql創(chuàng)建索引的3種方法實例

    mysql創(chuàng)建索引的3種方法實例

    大家應(yīng)該都知道索引的建立對于MySQL數(shù)據(jù)庫的高效運行是很重要的,索引可以大大提升MySQL的檢索速度,下面這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建索引的3種方法,需要的朋友可以參考下
    2023-02-02
  • wampserver下mysql導(dǎo)入數(shù)據(jù)庫的步驟

    wampserver下mysql導(dǎo)入數(shù)據(jù)庫的步驟

    這篇文章主要介紹了wampserver下mysql導(dǎo)入數(shù)據(jù)庫的步驟,需要的朋友可以參考下
    2016-08-08

最新評論