您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何理解MySQL集群優(yōu)化”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何理解MySQL集群優(yōu)化”吧!
最近做了一個集群服務(wù)的在線切換,將原來的主從環(huán)境做了切換,當(dāng)然后端的處理工作是比較復(fù)雜的,涉及到主從服務(wù)器的在線遷移和硬件變更。
總體來說,切換后的讀延遲比原本降低了0.4毫秒左右,對于一個延遲季度敏感的業(yè)務(wù)來說,0.4毫秒是一個很高的比例,按照既定的比例規(guī)則,差不多是優(yōu)化了25-30%的比例。
那么這省下來的0.4毫秒到底優(yōu)化在哪個環(huán)節(jié)了呢?我們做了一些討論和分析,不僅暗暗感嘆,幸虧是優(yōu)化了,如果延遲變大30%,要快速分析還是壓力很大的。
這個問題分析的難點(diǎn)在于存在一系列的動態(tài)變量,導(dǎo)致服務(wù)切換前后的對比缺少了一些基準(zhǔn)和衡量標(biāo)準(zhǔn)。
我們簡單提煉了下,在服務(wù)切換前的優(yōu)化工作有:
1)新從庫采用了全新的硬件配置,CPU型號更高,性能提升可達(dá)30%
2)主從庫采用的SATA-SSD的存儲使用了不同品牌
3)主從切換前,在從庫中對數(shù)據(jù)表進(jìn)行了全面的碎片清理
4)原本服務(wù)器的系統(tǒng)盤是使用SAS的,在新從庫中統(tǒng)一按照SATA-SSD類配置
5)中間件服務(wù)器有近2年沒有重啟過,這次維護(hù)做了重啟維護(hù)
此外,還有一些不確定的因素,比如業(yè)務(wù)量的差異等,按照100%對等的標(biāo)準(zhǔn)是不大可能完全對等去分析的,所以我們試著通過如下的邏輯進(jìn)行分析。
初步來看,我們覺得對于數(shù)據(jù)表做了碎片清理,這個改進(jìn)的效果會比較高,因為碎片率在切換前統(tǒng)計是近20%,清理后空間釋放了近20%,本來認(rèn)為這樣的一套指標(biāo)體系是比較演進(jìn)的,但是在對比了近幾天的業(yè)務(wù)延遲情況之后,有一個業(yè)務(wù)的數(shù)據(jù)是說不通的。
我們假設(shè)是業(yè)務(wù)2,業(yè)務(wù)2的數(shù)據(jù)表示日表,也就意味著這張表沒有所謂的碎片,因為每天都會有一張新的數(shù)據(jù)表寫入數(shù)據(jù)。所以業(yè)務(wù)2的延遲應(yīng)該沒有變化或者有細(xì)小的差異才說得通,但是在這里可以很清楚的看到,延遲是有近30%的提升,這就說不通了,所以單純的碎片清理帶來的收益確實沒有期望那么高。
我們分析下系統(tǒng)負(fù)載的情況,隨機(jī)選擇了一個分片節(jié)點(diǎn),查看了切換前和切換后的負(fù)載數(shù)據(jù)。
切換前
切換后
總體來說,負(fù)載的平均值是提高了0.03,這個比例是很低的一個比例,姑且認(rèn)為是可以忽略的。
再來看看CPU的使用率,因為新的服務(wù)器CPU性能提升近30%,所以對負(fù)載情況進(jìn)行了整體的比對,可以發(fā)現(xiàn)這個業(yè)務(wù)不是強(qiáng)計算相關(guān)的,所以CPU配置再好,在這里帶來的收益確實沒有期望那么明顯。
切換后
切換前
接著來看磁盤,磁盤層面有很多的指標(biāo),我們來看下util指標(biāo):
切換后:
切換前:
總體切換后的util從16%提高到了18%,很難可以給出一個客觀的結(jié)論。
對于磁盤讀寫層面的分析,可以看到等待的延遲部分不是一個數(shù)量級。
切換后
切換前
在這里可能會有一個誤區(qū),那就是切換前的指標(biāo)是精確度不夠,是0,我們可把指標(biāo)放大,即選擇其中一個指標(biāo),就可以看到右側(cè)的指標(biāo)的相對精確的數(shù)據(jù)了。
切換后:
切換前:
到了這里,我們可以看到延遲的指標(biāo)對于邏輯卷和不同分區(qū)的差別還是很明顯的,雖然單個指標(biāo)的提升在10%左右,但是所有的指標(biāo)都是略高一籌。
當(dāng)然碎片整理確實是有提高,但是和磁盤層面的提升來說,占比確實沒有那么高。
而接下來的問題就是進(jìn)一步驗證,需要分析不同SSD產(chǎn)品間的一些差異和穩(wěn)定性測試數(shù)據(jù)。
總體來說,整個分析的過程可以提供一種分析的思路,而不僅僅是得到的初步結(jié)論。
感謝各位的閱讀,以上就是“如何理解MySQL集群優(yōu)化”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何理解MySQL集群優(yōu)化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。