最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)于寫的SQL.
可以說(shuō)是典的單進(jìn)程復(fù)制把一個(gè)cpu占滿造成的.知道原因了,就好分析了.
分析一下binlog中寫的什么,看看有什么地方可以優(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),寫入10幾萬(wàn).是不是這個(gè)表寫入比較慢了呢.
在從庫(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)文章

  • mysql 選擇插入數(shù)據(jù)(包含不存在列)具體實(shí)現(xiàn)

    mysql 選擇插入數(shù)據(jù)(包含不存在列)具體實(shí)現(xiàn)

    mysql 選擇插入數(shù)據(jù)的文章會(huì)搜到很多本例特色是包含不存在列,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
    2013-08-08
  • 一文詳解MySQL?Join使用原理

    一文詳解MySQL?Join使用原理

    JOIN是一種非常常見的操作,用于將兩個(gè)或多個(gè)表中的數(shù)據(jù)合并到一個(gè)結(jié)果集中。MySQL支持多種JOIN類型,本文通過(guò)代碼示例詳細(xì)介紹了Join的使用優(yōu)化,有需要的小伙伴可以參考閱讀
    2023-04-04
  • lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間

    lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間

    這篇文章主要介紹了lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間的相關(guān)資料,需要的朋友可以參考下
    2015-09-09
  • 詳解MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create)

    詳解MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)、表與完整性約束的定義(Create),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-04-04
  • mysql常用監(jiān)控腳本命令整理

    mysql常用監(jiān)控腳本命令整理

    mysql監(jiān)控腳本常用命令整理,感興趣的朋友可以了解下哈
    2013-06-06
  • SQL注入漏洞過(guò)程實(shí)例及解決方案

    SQL注入漏洞過(guò)程實(shí)例及解決方案

    這篇文章主要介紹了SQL注入漏洞過(guò)程實(shí)例及解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • MySQL中的count(*)?和?count(1)?區(qū)別性能對(duì)比分析

    MySQL中的count(*)?和?count(1)?區(qū)別性能對(duì)比分析

    這篇文章主要介紹了MySQL中的count(*)和count(1)區(qū)別性能對(duì)比,本節(jié)還介紹了我們常說(shuō)的索引下推,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Ubuntu下啟動(dòng)、停止、重啟MySQL,查看錯(cuò)誤日志命令大全

    Ubuntu下啟動(dòng)、停止、重啟MySQL,查看錯(cuò)誤日志命令大全

    這篇文章主要介紹了Ubuntu下啟動(dòng)、停止、重啟MySQL,查看錯(cuò)誤日志命令大全,需要的朋友可以參考下
    2014-06-06
  • MySQL 用戶權(quán)限與安全管理最佳實(shí)踐

    MySQL 用戶權(quán)限與安全管理最佳實(shí)踐

    MySQL用戶權(quán)限與安全管理是保障數(shù)據(jù)庫(kù)系統(tǒng)穩(wěn)定與安全的重要環(huán)節(jié),通過(guò)合理設(shè)計(jì)權(quán)限模型、使用 GRANT/REVOKE命令管理權(quán)限、實(shí)施最小權(quán)限原則以及加強(qiáng)密碼,可以大幅降低數(shù)據(jù)庫(kù)被非法訪問(wèn)和數(shù)據(jù)泄露的風(fēng)險(xiǎn),這篇文章主要介紹了MySQL 用戶權(quán)限與安全管理,需要的朋友可以參考下
    2025-03-03
  • ORM模型框架操作mysql數(shù)據(jù)庫(kù)的方法

    ORM模型框架操作mysql數(shù)據(jù)庫(kù)的方法

    ORM 全稱是(Object Relational Mapping)表示對(duì)象關(guān)系映射; 通俗理解可以理解為編程語(yǔ)言的虛擬數(shù)據(jù)庫(kù);這篇文章主要介紹了ORM模型框架操作mysql數(shù)據(jù)庫(kù)的方法,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

平定县| 庄河市| 南充市| 夏津县| 岚皋县| 乌拉特前旗| 临沭县| 米易县| 延长县| 邳州市| 昌乐县| 浏阳市| 罗定市| 弋阳县| 南投县| 威远县| 晋城| 五家渠市| 镇沅| 绵竹市| 宜丰县| 乐都县| 洞口县| 清水河县| 邢台市| 焦作市| 西充县| 黑龙江省| 分宜县| 临夏县| 德州市| 沙湾县| 天峨县| 鹤庆县| 虹口区| 莆田市| 全椒县| 安福县| 宜城市| 德州市| 霞浦县|