找出MySQL主從延遲的原因-創(chuàng)新互聯(lián)

下面講講關(guān)于MySQL主從延遲的原因,文字的奧妙在于貼近主題相關(guān)。所以,閑話就不談了,我們直接看下文吧,相信看完MySQL主從延遲的原因這篇文章你一定會(huì)有所受益。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)萊蕪,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

Step1 : iostat 查看IO情況

 iostat -x 1 查看IO情況,哪個(gè)磁盤的IO負(fù)載較高,接下來我們就來定位具體的負(fù)載來源

Step2: iotop定位負(fù)載來源進(jìn)程

 iotop的本質(zhì)是一個(gè)python腳本,從proc中獲取thread的IO信息,進(jìn)行匯總。

 從下圖可以看出大部分的IO來源都來自于mysqld進(jìn)程。因此可以確定dfa的負(fù)載來源是數(shù)據(jù)庫

Step3 pt-ioprofile定位負(fù)載來源文件

 pt-ioprofile的原理是對某個(gè)pid附加一個(gè)strace進(jìn)程進(jìn)行IO分析。

以下是摘自官網(wǎng)的一段警示:

 However, it works by attaching strace to the process using ptrace(), which will make it run very slowly until strace detaches. In addition to freezing the server, there is also some risk of the process crashing or performing badly after strace detaches from it, or indeed of strace not detaching cleanly and leaving the process in a sleeping state. As a result, this should be considered an intrusive tool, and should not be used on production servers unless you are comfortable with that.

通過ps aux|grep mysqld 找到 mysqld進(jìn)程對應(yīng)的進(jìn)程號(hào),通過pt-ioprofile查看哪個(gè)文件的IO占用時(shí)間最多。

默認(rèn)參數(shù)下該工具展示的是IO占用的時(shí)間。

pt-ioprofile --profile-pid 3082

對于定位問題更有用的是通過IO的吞吐量來進(jìn)行定位。使用參數(shù) --cell=sizes,該參數(shù)將結(jié)果已 B/s 的方式展示出來

pt-ioprofile --profile-pid 3082 --cell

第一種:表未建主鍵和二級索引(排查最容易忽略的情況)

如下圖,當(dāng)sql_thread在重放relay log時(shí)會(huì)根據(jù)表是否有主鍵(注:這就是為什么建表必須要有主鍵原因之一)和二級索引來判斷是否全表掃描

找出MySQL主從延遲的原因

在MySQL5.6中提供了一個(gè)新的參數(shù):slave_rows_search_algorithms, 可以部分解決無主鍵表導(dǎo)致的復(fù)制延遲問題,其基本思路是對于在一個(gè)ROWS EVENT中的所有前鏡像收集起來,然后在一次掃描全表時(shí),判斷HASH中的每一條記錄進(jìn)行更新;

slave_rows_search_algorithms由三個(gè)值的組合組成:TABLE_SCAN,INDEX_SCAN, HASH_SCANTABLE_SCAN,INDEX_SCAN  (默認(rèn)配置,表示如果有索引就用索引,否則使用全表掃描)

使用組合包括:

INDEX_SCAN,HASH_SCAN

TABLE_SCAN,HASH_SCAN

TABLE_SCAN,INDEX_SCAN,HASH_SCAN(等價(jià)于INDEX_SCAN, HASH_SCAN)

對于以上MySQL主從延遲的原因相關(guān)內(nèi)容,大家還有什么不明白的地方嗎?或者想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:找出MySQL主從延遲的原因-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article2/pddic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、搜索引擎優(yōu)化、域名注冊、ChatGPT、外貿(mào)建站網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)