1樓:愛可生雲資料庫
用 pt-table-checksum 時,會不會影響業務效能?
實驗我們先建一對主從:
然後用 mysqlslap跑一個持續的壓力:
開另外一個會話,將 master 上的 general log 開啟:
然後通過 pt-table-checksum 進行一次比較:
檢視 master 的 general log,由於 mysqlslap 的影響,general log 中有很多內容,我們找到與 pt-table-checksum 相關的執行緒:
將該執行緒的操作單獨列出來:
操作比較多,我們一點一點來說明:
這裡工具調小了 innodb 鎖等待時間。使得之後的操作,只要在 innodb 上稍微有鎖等待,就會馬上放棄操作,對業務影響很小。
另外工具調小了 wait_timeout 時間,倒是沒有特別的作用。
工具將隔離級別調整為了 rr 級別,事務的維護代價會比 rc 要高,不過後面我們會看到工具使用的每個事務都很小,加上之前提到 innodb 鎖等待時間調到很小,對線上業務產生的成本比較小。
rr 級別是資料對比的基本要求。
工具通過一系列操作,瞭解表的概況。工具是一個資料塊一個資料塊進行校驗,這裡獲取了第一個資料塊的下邊界。
接下來工具獲取了下一個資料塊的下邊界,每個 sql前都會 explain 一下,看一下執行成本,非常小心翼翼。
之後工具獲取了一個資料塊的 checksum,這個資料塊不大,如果跟業務流量有衝突,會馬上出發 innodb 的鎖超時,立刻退讓。
以上是 pt-table-checksum 的一些設計,可以看到這幾處都是精心維護了業務流量不受影響。
工具還設計了其他的一些機制保障業務流量,比如引數 --max-load 和 --pause-file 等,還有精心設計的資料塊劃分方法,索引選擇方法等。大家根據自己的情況配合使用即可達到很好的效果。
總結本期我們介紹了簡單分析 pt-table-checksum 是否會影響業務流量,坊間會流傳工具的各種引數建議或者不建議使用,算命的情況比較多,大家都可以用簡單的實驗來分析其中機制。
還是那個觀點,效能測試不能相通道聽途說,得通過實驗去分析。
2樓:陽光小天使樂園
為提高mysql伺服器提供資料服務的可用性和可靠性,實際生產環境中,大量使用簡潔易行的非同步資料複製技術,且多采用雙向複製的架構,以便做到自動或人力快速切換的效果。關於mysql的資料非同步複製技術的資料一致性,在推出支援基於行、混合模式復
mysql雙主複製的主備資料一致性知多少
mysql雙主複製的主備資料一致性知多少
怎麼檢測mysql主從資料一致性
如何恢復mysql主從資料一致性
3樓:智者總要千慮
1. 備份主庫資料,並在從庫上恢復,在歷史資料一致性的基礎上開啟同步,但這種方法比較麻煩,必須在主庫上執行鎖表操作,阻止客戶端對於表資料的更新操作,而且在資料量大的情況下,備份也是個耗時的工程。其實,這種方法在實際生產環境中也很少用。
2. skip掉相關錯誤
其實,這個說活不是很嚴謹,準備的說,是跳過相關的事務。在我今天這種情況下,就是skip掉因違反主鍵約束而失敗的insert語句。
mysqldump備份怎麼保證資料的一致性
老外不解為什麼全世界就中國人需要雙卡雙待
呆啊凱 1 攜號轉網的巨大難度 雙卡手機與運營商也有關係。這些年,幾大運營商競爭之激烈,但是彼此之間的壁壘一直打不破,像攜號轉網,這本身就是競爭之下的怪胎。為何不各網相融合呢?噢,是怕一家獨大,最終受傷害的是消費者。我國有移動,聯通,電信3個運營商,每個運營商,訊號,就差別比較大,所以很多人都是想要...
為什麼魚需要水才可以生活,魚為什麼要在水裡生活???
俗話說 魚兒離不開水。魚兒生活在水中,這是最自然不過的常識。那麼,魚兒為什麼離不開水呢?這主要是由魚兒自身的呼吸器官和呼吸方式所決定的。魚的主要呼吸器官是腮,而不是鼻子。魚的鼻子不與口腔相通,只是單純的嗅覺器官。所以,魚兒的呼吸與陸地動物不同。魚兒是怎樣通過腮在水裡進行呼吸的呢?呼吸的意義在於吸收生...
為什麼有人說“全世界只有中國需要雙卡手機”
一夢半生 手機是我們生活中不可缺少的工具。特別是智慧手機問世後,手機的利用率更高,甚至成為我們不可或缺的合作伙伴。我們總是查詢資訊,與他人聯絡,或網上購物等等,這給我們的生活帶來了很多便利。在中國,雙卡手機有更多的賣點!無論是養老機還是智慧機,無論是高階還是低端,都是雙卡標準,也是客戶的首選。從蘋果...