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

MySQL中從庫(kù)延遲狀況排查的一則案例

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

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

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,對(duì)于一個(gè)日值中能刪除10幾萬(wàn),寫(xiě)入10幾萬(wàn).是不是這個(gè)表寫(xiě)入比較慢了呢.
在從庫(kù)上查看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)是表級(jí)表了,造成并發(fā)比較低,而且有大量的: GEN_CLUST_INDEX 而且屬于一個(gè)事務(wù).  GEN_CLUST_INDEX表示沒(méi)有主建,內(nèi)部產(chǎn)生一個(gè)主建,對(duì)于內(nèi)部產(chǎn)生的主建很很容易造成page拆分的操作.

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

相關(guān)文章

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

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

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

    實(shí)例詳解mysql子查詢

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

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

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

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

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

    MySQL的?DDL和DML和DQL的基本語(yǔ)法詳解

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

    MySQL批量插入和唯一索引問(wèn)題的解決方法

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

    Linux 安裝JDK Tomcat MySQL的教程(使用Mac遠(yuǎn)程訪問(wèn))

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

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

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

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

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

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

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

最新評(píng)論