云數(shù)據(jù)庫(kù)GaussDB計(jì)算性能
數(shù)據(jù)庫(kù)實(shí)例規(guī)格
GaussDB的實(shí)例規(guī)格CPU架構(gòu)分為X86架構(gòu)和ARM架構(gòu),不同架構(gòu)支持的區(qū)域請(qǐng)參見表1,支持的規(guī)格列表請(qǐng)參見表2
X86架構(gòu):通用增強(qiáng)II型
ARM架構(gòu):鯤鵬通用增強(qiáng)型、鯤鵬通用計(jì)算增強(qiáng)Ⅱ型(共享型),
云數(shù)據(jù)庫(kù)GaussDB性能調(diào)優(yōu)
確定性能調(diào)優(yōu)范圍
數(shù)據(jù)庫(kù)性能調(diào)優(yōu)通常發(fā)生在用戶對(duì)業(yè)務(wù)的執(zhí)行效率不滿意,期望通過(guò)調(diào)優(yōu)加快業(yè)務(wù)執(zhí)行的情況下。正如“確定性能調(diào)優(yōu)范圍”小節(jié)所述,數(shù)據(jù)庫(kù)性能受影響因素多,從而性能調(diào)優(yōu)是一項(xiàng)復(fù)雜的工程,有些時(shí)候無(wú)法系統(tǒng)性地說(shuō)明和解釋,而是依賴于DBA的經(jīng)驗(yàn)判斷。盡管如此,此處還是期望能盡量系統(tǒng)性的對(duì)性能調(diào)優(yōu)方法加以說(shuō)明,方便應(yīng)用開發(fā)人員和剛接觸GaussDB的DBA參考。
性能因素
多個(gè)性能因素會(huì)影響數(shù)據(jù)庫(kù)性能,了解這些因素可以幫助定位和分析性能問(wèn)題。
1.系統(tǒng)資源
數(shù)據(jù)庫(kù)性能在很大程度上依賴于磁盤的I/O和內(nèi)存使用情況。為了準(zhǔn)確設(shè)置性能指標(biāo),用戶需要了解集群部署硬件的基本性能。CPU,硬盤,磁盤控制器,內(nèi)存和網(wǎng)絡(luò)接口等這些硬件性能將顯著影響數(shù)據(jù)庫(kù)的運(yùn)行速度。
2.負(fù)載
負(fù)載等于數(shù)據(jù)庫(kù)系統(tǒng)的需求總量,它會(huì)隨著時(shí)間變化??傮w負(fù)載包含用戶查詢,應(yīng)用程序,并行作業(yè),事務(wù)以及數(shù)據(jù)庫(kù)隨時(shí)傳遞的系統(tǒng)命令。比如:多用戶在執(zhí)行多個(gè)查詢時(shí)會(huì)提高負(fù)載。負(fù)載會(huì)顯著地影響數(shù)據(jù)庫(kù)的性能。了解工作負(fù)載高峰期可以幫助用戶更合理地利用系統(tǒng)資源,更有效地完成系統(tǒng)任務(wù)。
3.吞吐量
使用系統(tǒng)的吞吐量來(lái)定義處理數(shù)據(jù)的整體能力。數(shù)據(jù)庫(kù)的吞吐量以每秒的查詢次數(shù)、每秒的處理事務(wù)數(shù)量或平均響應(yīng)時(shí)間來(lái)測(cè)量。數(shù)據(jù)庫(kù)的處理能力與底層系統(tǒng)(磁盤I/O,CPU速度,存儲(chǔ)器帶寬等)有密切的關(guān)系,所以當(dāng)設(shè)置數(shù)據(jù)庫(kù)吞吐量目標(biāo)時(shí),需要提前了解硬件的性能。
4.競(jìng)爭(zhēng)
競(jìng)爭(zhēng)是指兩組或多組負(fù)載組件嘗試使用沖突的方式使用系統(tǒng)的情況。比如,多條查詢視圖同一時(shí)間更新相同的數(shù)據(jù),或者多個(gè)大量的負(fù)載爭(zhēng)奪系統(tǒng)資源。隨著競(jìng)爭(zhēng)的增加,吞吐量下降。
5.優(yōu)化
數(shù)據(jù)庫(kù)優(yōu)化可以影響到整個(gè)系統(tǒng)的性能。在執(zhí)行SQL制定、數(shù)據(jù)庫(kù)配置參數(shù)、表設(shè)計(jì)、數(shù)據(jù)分布等操作時(shí),啟用數(shù)據(jù)庫(kù)查詢優(yōu)化器打造最有效的執(zhí)行計(jì)劃。
調(diào)優(yōu)范圍確定
性能調(diào)優(yōu)主要通過(guò)查看集群各節(jié)點(diǎn)的CPU、內(nèi)存、I/O和網(wǎng)絡(luò)這些硬件資源的使用情況,確認(rèn)這些資源是否已被充分利用,是否存在瓶頸點(diǎn),然后針對(duì)性調(diào)優(yōu)。
如果某個(gè)資源已達(dá)瓶頸,則:
1..通過(guò)查詢最耗時(shí)的SQL語(yǔ)句、跑不出來(lái)的SQL語(yǔ)句,找出耗資源的SQL,進(jìn)行SQL調(diào)優(yōu)指南。
如果所有資源均未達(dá)瓶頸,則表明性能仍有提升潛力??梢圆樵冏詈臅r(shí)的SQL語(yǔ)句,或者跑不出來(lái)的SQL語(yǔ)句,進(jìn)行針對(duì)性的SQL調(diào)優(yōu)指南。
云數(shù)據(jù)庫(kù)GaussDB選擇數(shù)據(jù)類型
選擇數(shù)據(jù)類型
高效數(shù)據(jù)類型,主要包括以下三方面:
1.盡量使用執(zhí)行效率比較高的數(shù)據(jù)類型
2.一般來(lái)說(shuō)整型數(shù)據(jù)運(yùn)算(包括=、>、<、≧、≦、≠等常規(guī)的比較運(yùn)算,以及group by)的效率比字符串、浮點(diǎn)數(shù)要高。比如某客戶場(chǎng)景中對(duì)列存表進(jìn)行點(diǎn)查詢,filter條件在一個(gè)numeric列上,執(zhí)行時(shí)間為10+s;修改numeric為int類型之后,執(zhí)行時(shí)間縮短為1.8s左右。
3.盡量使用短字段的數(shù)據(jù)類型
4.長(zhǎng)度較短的數(shù)據(jù)類型不僅可以減小數(shù)據(jù)文件的大小,提升IO性能;同時(shí)也可以減小相關(guān)計(jì)算時(shí)的內(nèi)存消耗,提升計(jì)算性能。比如對(duì)于整型數(shù)據(jù),如果可以用smallint就盡量不用int,如果可以用int就盡量不用bigint。
5.使用一致的數(shù)據(jù)類型
6.表關(guān)聯(lián)列盡量使用相同的數(shù)據(jù)類型。如果表關(guān)聯(lián)列數(shù)據(jù)類型不同,數(shù)據(jù)庫(kù)必須動(dòng)態(tài)地轉(zhuǎn)化為相同的數(shù)據(jù)類型進(jìn)行比較,這種轉(zhuǎn)換會(huì)帶來(lái)一定的性能開銷。
開放能力
活動(dòng)對(duì)象:華為云電銷客戶及渠道伙伴客戶可參與消費(fèi)滿送活動(dòng),其他客戶參與前請(qǐng)咨詢客戶經(jīng)理
活動(dòng)時(shí)間: 2020年8月12日-2020年9月11日
活動(dòng)期間,華為云用戶通過(guò)活動(dòng)頁(yè)面購(gòu)買云服務(wù),或使用上云禮包優(yōu)惠券在華為云官網(wǎng)新購(gòu)云服務(wù),累計(jì)新購(gòu)實(shí)付付費(fèi)金額達(dá)到一定額度,可兌換相應(yīng)的實(shí)物禮品?;顒?dòng)優(yōu)惠券可在本活動(dòng)頁(yè)面中“上云禮包”等方式獲取,在華為云官網(wǎng)直接購(gòu)買(未使用年中云鉅惠活動(dòng)優(yōu)惠券)或參與其他活動(dòng)的訂單付費(fèi)金額不計(jì)入統(tǒng)計(jì)范圍內(nèi);
-
開發(fā)指南
服務(wù)介紹、開發(fā)準(zhǔn)備、使用場(chǎng)景等
-
API參考
實(shí)例管理、備份管理、任務(wù)管理、標(biāo)簽管理、磁盤管理等
-
SDK
基于華為云SDK,通過(guò)編碼調(diào)用華為云API,訪問(wèn)華為云資源和數(shù)據(jù)
-
示例代碼
數(shù)據(jù)庫(kù)實(shí)例創(chuàng)建、查詢、刪除、用戶授權(quán)、備份、SQL調(diào)優(yōu)等