1. 程式人生 > >處理一個關於binlog增量恢復很慢的問題

處理一個關於binlog增量恢復很慢的問題

   今天幫網友處理了一個關於binlog增量恢復很慢的問題。
問題描述:
  網友是先通過xtrabackup將mysql全量恢復到測試環境中,然後再增量恢復binlog,具體操作為:用mysqlbinlog -v -v --base64-output=DECODE-ROWS解析binlog到一個sql檔案中,然後再將sql檔案應用到mysql中。在binlog增量恢復時非常慢,基於2分鐘才生成1M的binlog。

問題分析:
  1.我先要網友檢查並提供伺服器硬體資源使用情況,特別是IO,網友反應硬體資源很閒,沒有任何負載,IO情況如下:
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
vda               0.00     0.00    1.00    0.00     0.01     0.00    16.00     0.01    8.00   8.00   0.80
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
vda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

上面說明IO很閒。
 2.請網友用show processlist提供mysql程序情況
網碼提供如下:
([email protected]) [(none)]>show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host      | db   | Command | Time | State | Info             |
+----+------+-----------+------+---------+------+-------+------------------+
|  1 | root | localhost | test | Sleep   | 3348 |       | NULL             |
|  2 | root | localhost | NULL | Query   |    0 | init  | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
上面也沒有發現明顯異常.
3.請網友檢視解析出來的binlog中是些什麼操作
網友提供如下:
BINLOG '
q4ZxVxMBAAAAigAAABFSFQAAACiYBQAAAAEACndqZGJjZW50ZXIAE3dqX3RibF9tZW1iZXJfY2Fj
aGUAHggPAwMDDw8PCg8PDxIPDw/29vb29gMSEgESEvYBEiZIADwAlgDAADwAPADAAACWADwAPAAU
AhQCFAIUAhQCAAAAABQCAGARwDgoHXRQ
q4ZxVx8BAAAA6gEAAPtTFQAAACiYBQAAAAEAAgAe//////////8AAADAFzA0AAAAAAAA1gAAANcP
AAAFAAAABDgxMDgIMTAwMDAyMDIG6Z2e5rSyCosPA+eUtwnouqvku73or4ESNDUwMjIxMTk4OTA4
MTAyOTMymZP9XGggZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UG5ZCv55SoCzEzNzY4
NTc1NzY2gAAAAAAAAAAAgAAAAAAAAAAAgAAAAAAAAAAAgAAAAAAAAAAAgAAAAAAABrAADgAAAJmU
oh4ImbR8AAAAmZjUpAeZmbhA7oAAAAAAAAAAAACZmbhA7gAAAMAXMDQAAAAAAADWAAAA1w8AAAUA
AAAEODEwOAgxMDAwMDIwMgbpnZ7mtLIKiw8D55S3Cei6q+S7veivgRI0NTAyMjExOTg5MDgxMDI5
MzKZk/1caCBkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZQblkK/nlKgLMTM3Njg1NzU3
NjaAAAAAAAAAAACAAAAAAAAAAACAAAAAAAAAAACAAAAAAAAAAACAAAAAAAAGsAAOAAAAmZSiHgiZ
tHwAAACZmNSkB5mZuED4gAAAAAAAAAAAAJmZuED4yYjykg==
5 QUERY COMMIT

上面應該沒有使用--base64-output=DECODE-ROWS轉換顯示內容,表面上看是沒有任何有用的資訊,但從5 QUERY COMMIT中的commit字眼提醒了我。

4.請網友提供檢視一下sync_binlog和innodb_flush_log_at_trx_commit兩個引數的設定是否都為1
  網友很快回復引數有設定為1,同時有跟他確認了機器為虛擬機器,現在問題的原因應該就是這兩個引數的設定,因為我曾經同樣在測試環境的虛擬機器上測試過這兩個引數在不同值下的效能比較。詳見blog:http://blog.csdn.net/zengxuewen2045/article/details/51476186。
 期間我同時也懷疑恢復操作可能有大量的insert,而且是每插入一行,就commit一次,也跟網友說過:用show global status like 'Handler_commit';檢視一下commit次數,間隔一段時間檢視一次,確認值是否在不斷增加,不過這些資料沒有提供,不影響這個問題的處理。

問題解決:
  當發現上面引數設定為1後,將引數全都改為預設值(都改為0效能更好,反正測試嘛,安全不是重要的),就重新來一次全量恢復,再進行一次binlog增量恢復,這次速度很快。

下面是網友在QQ上的回覆:
午後單車(175686647)  16:52:06
果然快了非常多
午後單車(175686647)  17:00:03
@代言人    多謝哈,  看來還是缺乏經驗
要多測試
這個坑困擾我2天了
代言人(171057655)  17:02:48
不會吧
呵呵

相關推薦

處理一個關於binlog增量恢復的問題

   今天幫網友處理了一個關於binlog增量恢復很慢的問題。問題描述:  網友是先通過xtrabackup將mysql全量恢復到測試環境中,然後再增量恢復binlog,具體操作為:用mysqlbinlog -v -v --base64-output=DECODE-ROWS

利用xtrabackup和binlog增量恢復時提示表記錄不存在案例

一.基本資訊版本:10.0.20-MariaDB-log 資料檔案和redo log位置:/apps/dbdat/mariadb10_data3306/ bing log位置:/apps/dbdat/mariadb10_data3306/log 主機資訊:mvxl0784

公司網絡卡的原因分析與處理

網絡問題分析與解決方案一、電腦網速突然變的很慢、很卡,怎麽辦1. 如果你是用的無線路由器,不管你有沒有設置無線密碼,都有可能被別人盜用你的網絡,可以關掉無線功能,自已用有線連接上網 2. 如果還不行,那麽啟路由器,有貓的話也要重啟,再試試 3. 如果你的路由器用的時間超過一年,質量不好的話可能內部的部件已經老

mktime就自己去實現一個

tdi ati 十分 ace += timestamp src clas [] mktime很慢就自己去實現一個吧

Mysql1.5(binlog增量備份與恢復,innobackupex)

ont sql命令 emc 完全恢復 以及 數據 emctl ack 說明 目錄:一,增量備份與恢復 二,mysql主從同步 一增量備份與增量恢復: 1啟用Mysql服務的binlog日誌文件,實現對數據的實時增量備份 (1)binlog日誌介紹

記錄一個python裏面神奇的操作,對一個包含列表的元組進行增量賦值,成功賦值但還報錯

png code error peer 列表 mage pictures 但是 stack 記錄一個python裏面很神奇的操作 今天記錄一個很神奇的操作。關於序列的增量賦值。如果你很熟悉增量賦值,你也不妨看下去,我想說的是有關於增量賦值和元組之間一種神奇的操作。來自 《流

使用xtrbackup/mysqldump全量備份+binlog備份恢復到最近一個時間點

先用xtrabackup做全備: innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=123 /home/backup/xtrabackup/ 全備完成之後新建sanguoyanyi表,並插入

dubbo註冊到zookeeper5秒一個

  前段時間新買的Mac環境都重新整了個遍(mac 10.12+idea+jetty9),最後發覺一樣的程式碼,一樣的配置,但是服務啟動時間,從原來的幾十秒,飆升到了3分半鐘。檢視控制檯日誌,發現每個

word或excel開啟處理辦法

word開啟很慢怎麼辦 | 瀏覽:82408 | 更新:2012-07-15 10:06 | 標籤: word . 1 2 3 4 5 6 7 分步閱讀 .word是大家常用的一個文件工具,正常word開啟差不多隻需要10秒左右,如果你的word開啟非常慢,那就看看小豬給大

SVN提交響應一個解決思路

現象:使用TortoiseSVN提交檔案時,彈出提交視窗,要等待30秒的樣子,才開始工作,開始提交檔案後速度還是很快的。 解決後提交檔案幾乎是秒殺。  解決辦法 (我的電腦可以了,但還是有些同事的電腦沒解決) 1.在本地連結屬性中把IPv6勾選取消掉。 2.在window命令中執行 (cmd) netsh

資料庫伺服器處理大量請求響應時的可能解決方法

由於資料庫操作是阻塞同步的,因此當一條sql語句處理較長時間時會導致整體處理很慢 一般的解決方法是增加資料庫連線數。實際上是增加執行緒,每個執行緒一個連線 一般在mysql佔用cpu不高的情況下可以不斷增加連線跟執行緒,以提高處理速度 mysql的最大連線數也是有限制的,當

使用xdebug調試程序後程序的原因

資源 .dll ren 調用 out wamp var 完整 file 有一個原因就是開啟調試的會話沒有正確的關閉,即PhpStorm這邊關閉了而沒有通知服務端xdebug關閉,導致服務器資源被耗盡,這時只有重啟服務端的服務才可以。 所以必須保證每一個調試會話被正確關閉。可

實戰:MySQL Sending data導致查詢的問題詳細分析(轉)

sql 格式 一段 ace 研究 軟件測試 tar 遊戲 很好 這兩天幫忙定位一個MySQL查詢很慢的問題,定位過程綜合各種方法、理論、工具,很有代表性,分享給大家作為新年禮物:) 【問題現象】 使用sphinx支持倒排索引,但sphinx從mysql查詢源數據的

input 文件上傳標簽響應問題解決

input 上傳文件 延遲 webkit <input type="file" accept="image/*">當input的accept屬性值為image/*時,谷歌下點擊上傳文件需要等幾秒鐘才會出現,ie下卻沒有這個問題。經查找參考http://www.tuicool.com

mysql數據庫增量恢復多實例實戰演示

mysqlmysql主從復制原理要點 1、異步方式同步 2、邏輯同步模式,多種模式,默認是通過sql語句執行 3、主庫通過記錄binlog實現對從庫的同步,binlog記錄數據庫的更新語句 4、主庫1個IO線程,從庫由1個IO線程和一個sql線程來完

這樣搞,U盤數據恢復簡單!

原因 相關 養成 lan target 容量 cfs images blank U盤的使用率也越來越普及,因為它容量大、攜帶型強、體積小的優勢受到了普羅大眾的喜愛。然而,在U盤的使用中也出現了各種各樣的問題,其中最常見的就是數據丟失。那麽,是什麽原因導致U盤數據丟失呢?數據

datagridView 加載數據中的數據,數據顯示,一行一行顯示出來 解決方案

info items pro data () style system cnblogs ems 在form_load方法中添加一下代碼 雙緩沖: 1 Type type = dataGridView_items.GetType(); 2 Sys

解決遠程連接mysql的方法(mysql_connect 打開連接)

本地連接 () 遠程 use art linu names net network 在進行 ping和route後發現網絡通信都是正常的,而且在mysql機器上進行本地連接發現是很快的,所以網絡問題基本上被排除了。以前也遇到過一次這樣的問題,可後來就不知怎麽突然好了,這次又

CMGS發送短信為什麽有時候快有時候卻

金笛問題及解決辦法一般情況下,當所處的網絡條件比較好時,CMGS在3~4秒內,就可以把短信發送出去;但有些情況下,比如基站正在切換,或者網絡條件較差時,網絡側長時間不能響應模塊的短信發送請求,此時CMGS發送短信用時就會比較長,可能會在50秒左右。CMGS發送短信為什麽有時候快有時候卻很慢?

HTML5_input_file_打開的問題

rom .cn logs chrome瀏覽器 ima http png 發現 src 最近項目中有上傳附件的功能,只是在chrome瀏覽器上面測試,發現上傳附件,打開選擇框比較慢 原文鏈接:http://www.foreverpx.cnHTML5_input_file_打