一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>數(shù)據(jù)通信>

- 幫助優(yōu)化MySQL數(shù)據(jù)庫性能的7個(gè)技巧

2017年11月30日 15:03 網(wǎng)絡(luò)整理 作者:Peter Zaitsev 用戶評(píng)論(0

近年來,我們看到了向固態(tài)磁盤(SSD)的過渡。盡管SSD比旋轉(zhuǎn)硬盤快得多,但它們?nèi)匀粺o法與RAM中的數(shù)據(jù)相比。這種差異不僅來自存儲(chǔ)性能本身,還來自數(shù)據(jù)庫在從磁盤或SSD存儲(chǔ)中檢索數(shù)據(jù)時(shí)必須做的額外工作。

隨著最新硬件的改進(jìn),無論是在云端運(yùn)行還是管理自己的硬件,都越來越有可能將數(shù)據(jù)庫存儲(chǔ)在內(nèi)存中。

更好的消息是,您不需要將所有數(shù)據(jù)庫都放入內(nèi)存中,就可以獲得內(nèi)存中的大部分性能優(yōu)勢(shì)。您只需將工作數(shù)據(jù)(最頻繁訪問的數(shù)據(jù))集存入內(nèi)存中。

你可能已經(jīng)看到一些文章提供了一些具體的數(shù)字,說明應(yīng)該將數(shù)據(jù)庫的哪個(gè)部分保存在內(nèi)存中,從10%到33%不等。事實(shí)上,沒有“一刀切”的數(shù)字。適合內(nèi)存的最佳性能優(yōu)勢(shì)的數(shù)據(jù)量與工作負(fù)載相關(guān)。與其尋找一個(gè)特定的“萬能”數(shù)字,不如檢查一下數(shù)據(jù)庫在其穩(wěn)定狀態(tài)下運(yùn)行的I/O(通常在啟動(dòng)后幾個(gè)小時(shí))??纯碦EAD,因?yàn)槿绻麛?shù)據(jù)庫在內(nèi)存中,則可以完全消除READ。寫總是需要發(fā)生的,不管你有多少內(nèi)存可用。

下面,您可以在Percona監(jiān)控和管理的InnoDBMetrics儀表板中的 InnoDB I/O圖中看到 I/O。

?

提高M(jìn)ySQL性能的7個(gè)技巧

?

在上面的圖表中,您可以看到高達(dá)每秒2,000個(gè)I/O操作的峰值,這表明(至少對(duì)于工作負(fù)載的某些部分)數(shù)據(jù)庫工作集不適合內(nèi)存。

優(yōu)化技巧 #5:使用SSD存儲(chǔ)

如果您的數(shù)據(jù)庫不適合內(nèi)存(即使不適合),您仍然需要快速存儲(chǔ)來處理寫操作,并在數(shù)據(jù)庫升溫時(shí)(重新啟動(dòng)后)避免性能問題。如今,SSD即是快速存儲(chǔ)的代名詞。

出于成本或可靠性的原因,一些“專家”仍然主張使用旋轉(zhuǎn)磁盤(機(jī)械磁盤)。坦率地說,當(dāng)涉及到操作數(shù)據(jù)庫時(shí),這些論點(diǎn)往往已經(jīng)過時(shí)或完全錯(cuò)誤。今天,SSD以較高的價(jià)格提供著可觀的性能和可靠性。

然而,并非所有SSD都是適用的。對(duì)于數(shù)據(jù)庫服務(wù)器,您應(yīng)該使用為服務(wù)器工作負(fù)載設(shè)計(jì)的SSD,這種SSD會(huì)對(duì)數(shù)據(jù)起到保護(hù)作用(例如,在斷電期間)。避免使用為臺(tái)式計(jì)算機(jī)和筆記本電腦設(shè)計(jì)的商用SSD。

通過NVMe或Intel OpTan技術(shù)連接的SSD可提供最佳性能。即使作為SAN、NAS或cloud block設(shè)備遠(yuǎn)程連接,與旋轉(zhuǎn)磁盤相比,SSD仍然具有更優(yōu)越的性能。

優(yōu)化技巧 #6:橫向擴(kuò)展

即使是高性能的服務(wù)器也有其局限性。有兩種擴(kuò)展方式:up和out。縱向擴(kuò)展意味著購買更多的硬件。這可能很昂貴,而且硬件很快就會(huì)過時(shí)。
橫向擴(kuò)展以處理更多的負(fù)載有幾個(gè)好處:
1.可以利用較小且成本較低的系統(tǒng)。 ? ??
? 2.通過橫向擴(kuò)展,進(jìn)行線性擴(kuò)展更快更容易。 ? ??
3.因?yàn)閿?shù)據(jù)庫分布在多臺(tái)物理機(jī)器上,所以數(shù)據(jù)庫不會(huì)受到單個(gè)硬件故障點(diǎn)的影響。

雖然橫向擴(kuò)展是有好處的,但也有一定的局限性。擴(kuò)展需要復(fù)制,例如基本的MySQL復(fù)制或Percona XtraDB Cluster,以實(shí)現(xiàn)數(shù)據(jù)同步。但是作為回報(bào),可以獲得額外的性能和高可用性。如果您需要更大的擴(kuò)展,請(qǐng)使用MySQL分片。

您還需要確保連接到集群體系結(jié)構(gòu)的應(yīng)用程序能夠找到所需的數(shù)據(jù)–通常通過一些代理服務(wù)器和負(fù)載平衡器(如ProxySQL或HAProxy)。

在計(jì)劃橫向擴(kuò)展時(shí),避免過早地?cái)U(kuò)展。使用分布式數(shù)據(jù)庫往往更復(fù)雜?,F(xiàn)代硬件和MySQL服務(wù)器只使用一臺(tái)服務(wù)器就可以得到良好的體驗(yàn)。最近發(fā)布的MySQL 8候選版本表明,它能夠在單個(gè)系統(tǒng)上處理200多萬個(gè)簡(jiǎn)單查詢。

優(yōu)化技巧 #7:可觀測(cè)性

設(shè)計(jì)最好的系統(tǒng)時(shí)要考慮到可觀察性-MySQL也不例外.。

一旦您啟動(dòng)、運(yùn)行并正確調(diào)整了MySQL環(huán)境,就不能僅僅設(shè)置而不進(jìn)行管理。數(shù)據(jù)庫環(huán)境會(huì)受到系統(tǒng)或工作負(fù)載更改的影響。準(zhǔn)備好應(yīng)對(duì)諸如流量高峰、應(yīng)用程序錯(cuò)誤和MySQL故障等意外。這些事情能夠而且將會(huì)發(fā)生。

當(dāng)發(fā)生問題時(shí),你需要迅速而有效地解決它們。這樣做的唯一方法是設(shè)置某種監(jiān)視解決方案并對(duì)其進(jìn)行適當(dāng)?shù)某跏蓟?。這使您能夠在數(shù)據(jù)庫環(huán)境在生產(chǎn)中運(yùn)行時(shí)看到它正在發(fā)生的情況,并在出現(xiàn)問題時(shí)分析服務(wù)器數(shù)據(jù)。理想情況下,系統(tǒng)允許您在問題發(fā)生之前或在問題發(fā)展到用戶可以看到其影響之前進(jìn)行預(yù)防。

監(jiān)控工具有諸如MySQL Enterprise Monitor、Monyog和 Percona Monitoring and Management (PMM),后者具有免費(fèi)和開源的額外優(yōu)勢(shì)。這些工具為監(jiān)視和故障排除提供了很好的可操作性。

隨著越來越多的公司轉(zhuǎn)向開源數(shù)據(jù)庫(特別是MySQL),以便在大規(guī)模生產(chǎn)環(huán)境中管理和服務(wù)其業(yè)務(wù)數(shù)據(jù),他們將需要集中精力保持這些數(shù)據(jù)庫的優(yōu)化和最佳運(yùn)行效率。與所有對(duì)您的業(yè)務(wù)目標(biāo)至關(guān)重要的事情一樣,您的數(shù)據(jù)庫性能可能會(huì)導(dǎo)致或破壞你的業(yè)務(wù)目標(biāo)或成果。MySQL是一個(gè)可以為應(yīng)用程序和網(wǎng)站提供優(yōu)質(zhì)的數(shù)據(jù)庫解決方案,但需要進(jìn)行調(diào)整以滿足您的需要,并進(jìn)行監(jiān)視以發(fā)現(xiàn)和防止瓶頸和性能問題。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

( 發(fā)表人:郭婷 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?