Hologres管控臺(tái)的監(jiān)控指標(biāo)
本文為您介紹Hologres各監(jiān)控指標(biāo)的含義。通過(guò)了解這些監(jiān)控指標(biāo),您可以根據(jù)業(yè)務(wù)需求選擇適合的指標(biāo),實(shí)時(shí)查看當(dāng)前實(shí)例的資源使用情況和SQL語(yǔ)句的執(zhí)行情況,及時(shí)識(shí)別系統(tǒng)報(bào)錯(cuò)并處理實(shí)例異常。
注意事項(xiàng)
對(duì)QE和FixedQE的特別說(shuō)明:
QE指的是HQE、SQE等Hologres自研向量計(jì)算引擎XQE的總稱,在慢Query日志中,Engine Type={XQE}的Query在監(jiān)控指標(biāo)中都屬于QE。
FixedQE是指走Fixed Plan鏈路的執(zhí)行引擎,在慢Query日志中,Engine Type={FixedQE}(V2.2版本以下均為SDK)的Query在監(jiān)控指標(biāo)中屬于FixedQE。
對(duì)Command Type的特別說(shuō)明:
SQL是什么類型,就會(huì)歸屬為什么類型的Command Type,例如:SQL是
INSERT xxx
或者INSERT xxx ON CONFLICT DO UPDATE/NOTHING
,都會(huì)被識(shí)別為INSERT類型。UNKNOWN:為系統(tǒng)無(wú)法識(shí)別的SQL進(jìn)行分類,無(wú)法識(shí)別的原因可能是SQL書(shū)寫(xiě)錯(cuò)誤導(dǎo)致引擎無(wú)法識(shí)別。
UTILITY:表示非SELECT、INSERT、DELETE或UPDATE類型的SQL,例如CREATE、DROP等。
在云監(jiān)控中,每個(gè)指標(biāo)會(huì)有一個(gè)唯一的metricid(云監(jiān)控指標(biāo)ID),以方便更直觀地映射到具體的監(jiān)控指標(biāo)。不同的實(shí)例類型,指標(biāo)ID會(huì)有不同的前綴,通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例、湖倉(cāng)加速(共享集群)分別對(duì)應(yīng)
standard_
、follower_
、warehouse_
、shared_
。每種實(shí)例類型支持的指標(biāo)如下:通用型實(shí)例:通用型實(shí)例支持的指標(biāo)。
從實(shí)例:從實(shí)例支持的指標(biāo)。
計(jì)算組:計(jì)算組實(shí)例支持的指標(biāo)。
湖倉(cāng)加速(共享集群):湖倉(cāng)加速實(shí)例支持的指標(biāo)。
如果指標(biāo)中顯示暫無(wú)數(shù)據(jù),可能是當(dāng)前實(shí)例版本暫不支持該指標(biāo),或者是長(zhǎng)期沒(méi)有數(shù)據(jù)。
監(jiān)控?cái)?shù)據(jù)最多保留30天。
訪問(wèn)控制
當(dāng)前Hologres管理控制臺(tái)的監(jiān)控頁(yè)面來(lái)源于云監(jiān)控,如果您使用RAM用戶查看監(jiān)控信息,則需要根據(jù)業(yè)務(wù)情況為RAM用戶授予一定的操作權(quán)限,具體如下:
AliyunCloudMonitorFullAccess:管理云監(jiān)控的權(quán)限。
AliyunCloudMonitorReadOnlyAccess:只讀訪問(wèn)云監(jiān)控的權(quán)限。
RAM用戶授權(quán)詳情請(qǐng)參見(jiàn)為RAM用戶授權(quán)。
監(jiān)控指標(biāo)一覽表
當(dāng)前Hologres提供的監(jiān)控指標(biāo)如下:
分類 | 指標(biāo) | 指標(biāo)描述 | 支持的實(shí)例類型 | 備注 |
CPU | 實(shí)例CPU的使用率。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 無(wú) | |
實(shí)例內(nèi)每個(gè)Worker的CPU使用率。 | ||||
Memory | 實(shí)例內(nèi)總的內(nèi)存使用率。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 無(wú) | |
實(shí)例內(nèi)每個(gè)Worker的內(nèi)存使用率。 | ||||
實(shí)例中內(nèi)存按照system、meta、cache、query及background分類的內(nèi)存使用率。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.0及以上版本支持。 | ||
使用QE執(zhí)行引擎的Query的內(nèi)存使用量。 | 僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持。 | |||
使用QE執(zhí)行引擎的Query的內(nèi)存使用率。 | ||||
Query QPS and RPS | 實(shí)例內(nèi)Query的總QPS。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例、共享集群實(shí)例 | Query QPS >= QE QPS + FixedQE QPS。 說(shuō)明 總的QPS會(huì)采集所有的Query,包括UNKNOWN、UTILITY、Engine Type={PG}等的Query,因此總QPS會(huì)大于或等于QE+FixedQE QPS。 | |
實(shí)例內(nèi)使用QE引擎的Query的QPS。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.2及以上版本支持。 | ||
實(shí)例內(nèi)使用FixedQE(原名SDK)引擎的Query的QPS。 | ||||
實(shí)例內(nèi)DML Query的總RPS。 | 通用型實(shí)例、計(jì)算組實(shí)例 | DML RPS = QE RPS + FixedQE RPS | ||
實(shí)例內(nèi)使用QE引擎的DML的RPS。 | 僅Hologres V2.2及以上版本支持。 | |||
實(shí)例內(nèi)使用FixedQE引擎的DML的RPS。 | ||||
Query Latency | 實(shí)例內(nèi)Query的延遲。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例、共享集群實(shí)例 | 無(wú) | |
實(shí)例內(nèi)使用QE引擎的Query的延遲。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.2及以上版本支持。 | ||
實(shí)例內(nèi)使用FixedQE引擎的Query的延遲。 | ||||
Query在Optimization階段的耗時(shí)。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例、共享集群實(shí)例 | 僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持。 | ||
Query在Start Query階段的耗時(shí)。 | ||||
Query在Get next階段的耗時(shí)。 | ||||
Query的P99延遲。 | 無(wú) | |||
本實(shí)例正在運(yùn)行中Query最長(zhǎng)的時(shí)長(zhǎng)(milliseconds) | 本實(shí)例正在運(yùn)行的Query中,運(yùn)行時(shí)間最長(zhǎng)的Query的耗時(shí)。 | |||
Failed Query QPS | 實(shí)例內(nèi)失敗Query的總QPS。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例、共享集群實(shí)例 | 失敗Query QPS >= QE失敗Query QPS + FixedQE失敗Query QPS。 說(shuō)明 失敗Query QPS采集的是總的失敗Query,包括UNKNOWN、UTILITY、Engine Type={PG}等失敗的Query,因此總失敗QPS會(huì)大于或等于QE+FixedQE 失敗QPS。 | |
實(shí)例內(nèi)使用QE引擎的失敗Query的QPS。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.2及以上版本支持。 | ||
實(shí)例內(nèi)使用FixedQE引擎的失敗Query的QPS。 | 通用型實(shí)例、計(jì)算組實(shí)例 | |||
Locks | FE節(jié)點(diǎn)中的DDL鎖耗時(shí)。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持。 | |
FixedQE的鎖耗時(shí),通常為HQE鎖。 | ||||
實(shí)例內(nèi)HQE鎖的延遲,包括FixedQE的HQE鎖延遲。 | ||||
Connection | 實(shí)例內(nèi)使用的總連接數(shù)。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例、共享集群實(shí)例 | 無(wú) | |
實(shí)例內(nèi)每個(gè)DB使用的連接數(shù)。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | |||
實(shí)例內(nèi)每個(gè)FE使用的連接數(shù)。 | ||||
實(shí)例內(nèi)的連接數(shù)使用率,默認(rèn)用連接數(shù)使用率最高的FE。 | ||||
Query Queue | 實(shí)例內(nèi)正在等待執(zhí)行但尚未開(kāi)始處理的查詢請(qǐng)求的數(shù)量。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V3.0及以上版本支持。 | |
實(shí)例內(nèi)每秒提交至系統(tǒng)處理隊(duì)列中的查詢請(qǐng)求數(shù)量。 | ||||
每秒鐘從等待狀態(tài)轉(zhuǎn)為執(zhí)行狀態(tài)的查詢請(qǐng)求數(shù)量。 | ||||
開(kāi)始運(yùn)行但尚未完成的查詢中,根據(jù)不同的執(zhí)行狀態(tài),統(tǒng)計(jì)每秒能夠處理的請(qǐng)求數(shù)量。 | ||||
所有查詢請(qǐng)求從進(jìn)入隊(duì)列到開(kāi)始被處理期間的平均值(不包括實(shí)際執(zhí)行查詢所需的時(shí)間)。 | ||||
IO | 讀取標(biāo)準(zhǔn)存儲(chǔ)數(shù)據(jù)的I/O吞吐量。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 無(wú) | |
寫(xiě)入標(biāo)準(zhǔn)存儲(chǔ)數(shù)據(jù)的I/O吞吐量。 | 通用型實(shí)例、計(jì)算組實(shí)例 | |||
讀取低頻存儲(chǔ)數(shù)據(jù)的I/O吞吐量。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | |||
寫(xiě)入低頻存儲(chǔ)數(shù)據(jù)的I/O吞吐量。 | 通用型實(shí)例、計(jì)算組實(shí)例 | |||
Storage | 標(biāo)準(zhǔn)存儲(chǔ)已使用的存儲(chǔ)量。 | 通用型實(shí)例、計(jì)算組實(shí)例 | 無(wú) | |
標(biāo)準(zhǔn)存儲(chǔ)量的使用率。 | ||||
低頻存儲(chǔ)已使用的存儲(chǔ)量。 | ||||
低頻存儲(chǔ)量的使用率。 | ||||
Frameworks | 每個(gè)FE的Replay延遲。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.2及以上版本支持。 | |
開(kāi)啟Replication后的Shard多副本之間的延遲。 | 無(wú) | |||
從實(shí)例讀取主實(shí)例數(shù)據(jù)時(shí)的延遲。僅從實(shí)例支持顯示。 | ||||
異地容災(zāi)實(shí)例之間的文件同步延遲。 | 通用型實(shí)例 | |||
Auto Analyze | 每個(gè)DB內(nèi)統(tǒng)計(jì)信息缺失的表個(gè)數(shù)。 | 通用型實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.2及以上版本支持。 | |
Serverless Computing | 正在運(yùn)行的Serverless Computing的查詢中,最長(zhǎng)的時(shí)長(zhǎng)(milliseconds) | 開(kāi)啟Serverless Computing后,在Serverless Computing中運(yùn)行時(shí)間最長(zhǎng)的Query的時(shí)長(zhǎng)。 | 通用型實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.1及以上版本支持。 |
Query在Serverless Computing資源池中的排隊(duì)數(shù)量。 | 僅Hologres V2.2及以上版本支持。 | |||
實(shí)例實(shí)際使用的Serverless Computing資源量與可申請(qǐng)的最大資源量之間的比率。 | ||||
Binlog | 每秒消費(fèi)Binlog的條數(shù)。 | 通用型實(shí)例、從實(shí)例、計(jì)算組實(shí)例 | 僅Hologres V2.2及以上版本支持。 | |
每秒消費(fèi)Binlog的字節(jié)數(shù)。 | ||||
每個(gè)FE的Walsender 的使用數(shù)。 | ||||
Walsender使用率最高的FE的Walsender使用率。 | ||||
Computing Resource | 實(shí)例分時(shí)彈性彈出的Core數(shù)。 | 計(jì)算組實(shí)例 | 僅Hologres V2.2.21及以上版本支持。 | |
Gateway | 實(shí)例內(nèi)每個(gè)Gateway的CPU使用率。 | 計(jì)算組實(shí)例 | 僅Hologres V2.0及以上版本支持。 | |
實(shí)例內(nèi)每個(gè)Gateway的內(nèi)存使用率。 | 僅Hologres V2.0及以上版本支持。 | |||
系統(tǒng)在一秒鐘內(nèi)能夠接受并成功建立的新連接的最大數(shù)量。 | 僅Hologres V2.1.12及以上版本支持。 | |||
每秒鐘通過(guò)Gateway進(jìn)入系統(tǒng)的數(shù)據(jù)量。 | 僅Hologres V2.1及以上版本支持。 | |||
每秒鐘通過(guò)Gateway發(fā)送至外部系統(tǒng)的數(shù)據(jù)量。 | 僅Hologres V2.1及以上版本支持。 |
CPU
CPU相關(guān)的指標(biāo)如下。
實(shí)例CPU使用率(%)
實(shí)例CPU指實(shí)例整體的CPU使用率,代表實(shí)例的計(jì)算負(fù)載情況。
在沒(méi)有查詢的時(shí)候,后臺(tái)常駐進(jìn)程或者異步執(zhí)行的Compaction都可能占用CPU,因此實(shí)例無(wú)查詢負(fù)載時(shí),有少量CPU使用率是正常現(xiàn)象。
Hologres因其設(shè)計(jì)原理可以充分發(fā)揮多核并行計(jì)算的能力,通常來(lái)說(shuō)單個(gè)查詢可以迅速將CPU使用率提高到100%,這說(shuō)明計(jì)算資源得到了充分利用。
當(dāng)實(shí)例CPU使用率長(zhǎng)期接近100%時(shí)(例如CPU使用率連續(xù)3小時(shí)滿載100%,或者連續(xù)12小時(shí)達(dá)到90%以上等),說(shuō)明實(shí)例負(fù)載非常高,這通常意味著CPU資源成為了系統(tǒng)的瓶頸,需要分析具體的業(yè)務(wù)場(chǎng)景和查詢,以判斷原因。可以從以下幾方面判斷:
是否有比較大的離線數(shù)據(jù)導(dǎo)入(INSERT),且數(shù)據(jù)規(guī)模還在日漸增長(zhǎng)。
是否有高QPS的查詢或?qū)懭耄餐加昧薈PU的全部資源。
是否有上述或上述場(chǎng)景以外的混合負(fù)載。
如果確定是業(yè)務(wù)場(chǎng)景需要,將資源用滿,可以對(duì)實(shí)例進(jìn)行擴(kuò)容,以適應(yīng)更復(fù)雜的查詢或更大的數(shù)據(jù)量。
實(shí)例CPU使用率相關(guān)問(wèn)題說(shuō)明,請(qǐng)參見(jiàn)監(jiān)控指標(biāo)常見(jiàn)問(wèn)題。
Worker節(jié)點(diǎn)CPU使用率(%)
Worker節(jié)點(diǎn)CPU指實(shí)例內(nèi)每個(gè)Worker的CPU使用率,代表每個(gè)Worker的計(jì)算負(fù)載情況。Hologres根據(jù)實(shí)例規(guī)格,提供不同的Worker節(jié)點(diǎn)數(shù),詳情見(jiàn)實(shí)例管理。
當(dāng)前指標(biāo)只有Hologres V1.1及以上版本支持顯示。
當(dāng)實(shí)例內(nèi)所有Worker節(jié)點(diǎn)CPU使用率都長(zhǎng)期接近100%時(shí),說(shuō)明實(shí)例的負(fù)載非常高,需要根據(jù)業(yè)務(wù)情況合理地優(yōu)化資源使用或者擴(kuò)容。
當(dāng)實(shí)例只有部分Worker節(jié)點(diǎn)的CPU水位比較高,部分Worker節(jié)點(diǎn)的CPU水位較低時(shí),說(shuō)明Worker資源有傾斜,常見(jiàn)傾斜原因以及排查方法請(qǐng)參見(jiàn)監(jiān)控指標(biāo)常見(jiàn)問(wèn)題。
Memory
內(nèi)存相關(guān)的指標(biāo)如下。
實(shí)例內(nèi)存使用率(%)
實(shí)例內(nèi)存使用率代表實(shí)例整體的內(nèi)存綜合使用率。
Hologres的內(nèi)存資源采用預(yù)留模式,在沒(méi)有查詢的時(shí)候,也會(huì)有數(shù)據(jù)表的元數(shù)據(jù)、索引、數(shù)據(jù)緩存等加載到內(nèi)存中,以便加快檢索和計(jì)算,此時(shí)內(nèi)存使用率不為零是正常情況。理論上,在無(wú)查詢的情況,內(nèi)存使用率達(dá)到30%~40%左右都屬于正常情況。
當(dāng)內(nèi)存使用率穩(wěn)定增長(zhǎng),長(zhǎng)期接近80%時(shí),通常意味著內(nèi)存資源可能成為了系統(tǒng)的瓶頸,可能會(huì)影響實(shí)例的穩(wěn)定性或性能。
可以根據(jù)實(shí)例內(nèi)存分布使用率,并結(jié)合業(yè)務(wù)的QPS等指標(biāo)綜合判斷誰(shuí)占用了較高的內(nèi)存,從而做相應(yīng)的優(yōu)化。詳情可以參見(jiàn)OOM常見(jiàn)問(wèn)題排查指南。
Worker節(jié)點(diǎn)內(nèi)存使用率(%)
Worker節(jié)點(diǎn)內(nèi)存使用率指實(shí)例內(nèi)每個(gè)Worker的內(nèi)存使用率,代表每個(gè)內(nèi)存的計(jì)算負(fù)載情況。Hologres根據(jù)實(shí)例規(guī)格,提供不同的Worker節(jié)點(diǎn)數(shù),詳情見(jiàn)實(shí)例管理。
當(dāng)前指標(biāo)僅Hologres V1.1及以上版本支持顯示。
當(dāng)實(shí)例內(nèi)所有Worker節(jié)點(diǎn)的內(nèi)存水位都長(zhǎng)期接近80%時(shí),說(shuō)明實(shí)例的負(fù)載非常高,需要根據(jù)業(yè)務(wù)情況合理地優(yōu)化資源或者擴(kuò)容。
當(dāng)實(shí)例只有部分Worker節(jié)點(diǎn)內(nèi)存水位比較高,部分Worker節(jié)點(diǎn)內(nèi)存水位較低時(shí),說(shuō)明Worker資源有傾斜,常見(jiàn)傾斜原因以及排查方法請(qǐng)參見(jiàn)監(jiān)控指標(biāo)常見(jiàn)問(wèn)題。
計(jì)算組內(nèi)存的詳細(xì)使用率(%)
在Hologres中,內(nèi)存會(huì)分為系統(tǒng)(System)、元數(shù)據(jù)(Meta)、緩存(Cache)、計(jì)算(Query)、后端進(jìn)程(Background)等幾個(gè)部分。從V2.0.15版本開(kāi)始,支持實(shí)例內(nèi)存分布使用率的監(jiān)控指標(biāo),可以通過(guò)該指標(biāo)查看內(nèi)存的分布情況,從而進(jìn)行針對(duì)性優(yōu)化。主要包括以下指標(biāo):
System:系統(tǒng)內(nèi)存,指系統(tǒng)組件運(yùn)行時(shí)占用的內(nèi)存,組件包括Holohub、Gateway、FE(Frontend)等,其中FE會(huì)包括FE Master和FE Query,因此System內(nèi)存也會(huì)隨著Query的運(yùn)行而波動(dòng)。
Cache:緩存占用的內(nèi)存,緩存的內(nèi)存主要包括:
SQL相關(guān)的緩存:例如result cache、block cache等,與SQL有關(guān),根據(jù)Query運(yùn)行狀態(tài)動(dòng)態(tài)變化。如果SQL有命中緩存(例如通過(guò)explain analyze查看Physical read bytes字段,數(shù)據(jù)越小說(shuō)明緩存命中率越高),將會(huì)提升查詢性能。但SQL的緩存也有一定的上限。
Meta緩存:包括表的Schema Meta、文件Meta等,為了Query的高效執(zhí)行,Hologres的存儲(chǔ)引擎會(huì)預(yù)先將Meta相關(guān)的數(shù)據(jù)加載進(jìn)緩存中,從而減少M(fèi)eta的冷訪問(wèn),提升查詢性能。
緩存有固定大小,一般占用實(shí)例總內(nèi)存的30%左右。當(dāng)實(shí)例沒(méi)有查詢負(fù)載時(shí),也會(huì)存在一定的緩存占用,主要是Meta占用的緩存。
Meta:元數(shù)據(jù)、文件等占用的內(nèi)存,元數(shù)據(jù)的內(nèi)存使用采用Lazy Open模式,即頻繁被訪問(wèn)的元數(shù)據(jù)會(huì)常駐內(nèi)存中,未被訪問(wèn)的元數(shù)據(jù)則不會(huì)放在內(nèi)存中,以此來(lái)減少元數(shù)據(jù)對(duì)內(nèi)存的占用。一般建議Meta占用的內(nèi)存維持在總內(nèi)存的30%以內(nèi)。如果Meta占用的內(nèi)存較高,說(shuō)明實(shí)例中訪問(wèn)的文件數(shù)較多,或者分區(qū)表較多,可以通過(guò)表統(tǒng)計(jì)信息查看與分析對(duì)實(shí)例中的表做相關(guān)治理。
Query:代表執(zhí)行SQL時(shí)消耗的內(nèi)存,與Query的復(fù)雜度、并發(fā)度等正相關(guān)。主要包括Fixed Plan、HQE、SQE等執(zhí)行SQL消耗的內(nèi)存。
Query計(jì)算的內(nèi)存會(huì)采用彈性機(jī)制,即單個(gè)Worker最低使用20 GB,最高使用根據(jù)實(shí)例的總空閑內(nèi)存浮動(dòng),其他分類中內(nèi)存占用越多,會(huì)導(dǎo)致計(jì)算部分彈性的內(nèi)存越少。
如果Query占用的內(nèi)存較多,甚至出現(xiàn)了OOM的現(xiàn)象,說(shuō)明Query較復(fù)雜或者并發(fā)度較高,建議對(duì)Query調(diào)優(yōu)或者對(duì)實(shí)例擴(kuò)容,以避免實(shí)例高水位運(yùn)行,詳情請(qǐng)參見(jiàn)優(yōu)化查詢性能。
Background:后臺(tái)任務(wù)占用的內(nèi)存,包括Compaction、Flush等任務(wù),一般情況下,Background消耗的內(nèi)存較少,約在5%以內(nèi)。但如果對(duì)表修改了索引、執(zhí)行了大量的寫(xiě)入或更新等操作,Background的內(nèi)存占用將會(huì)上升,并隨任務(wù)的結(jié)束而下降。
Memtable:內(nèi)存表占用的內(nèi)存,在Hologres中Memtable(內(nèi)存表)主要用于存儲(chǔ)有實(shí)時(shí)寫(xiě)入、更新、刪除等操作完成之后的表數(shù)據(jù)。一般Memtable的內(nèi)存占用在5%以內(nèi)。
QE Query內(nèi)存使用量(byte)
指實(shí)例中使用了HQE、SQE等Hologres自研引擎XQE的Query,在運(yùn)行過(guò)程中的內(nèi)存使用量。
該指標(biāo)僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持顯示。
在內(nèi)存細(xì)分類中,Query的內(nèi)存使用量大于QE Query內(nèi)存使用量。
通過(guò)QE Query內(nèi)存使用量可知該實(shí)例中運(yùn)行的Query復(fù)雜度,如果內(nèi)存使用量較多,說(shuō)明Query比較復(fù)雜,使用的內(nèi)存較多。
QE Query內(nèi)存使用率(%)
QE Query內(nèi)存使用率可以判斷當(dāng)前實(shí)例的負(fù)載情況,如果QE內(nèi)存使用率較高,可能因內(nèi)存不足而導(dǎo)致OOM,需要治理Query或者擴(kuò)容。
該指標(biāo)僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持顯示。
Query QPS and RPS
Query QPS(countS)
Query QPS代表實(shí)例中平均每秒SQL語(yǔ)句的執(zhí)行次數(shù),為實(shí)例內(nèi)總的QPS。包括SELECT、INSERT、UPDATE和DELETE、UTILITY、UNKNOWN等SQL語(yǔ)句。Query QPS >= QE Query + FixedQE Query QPS
。
QE Query QPS(countS)
指實(shí)例內(nèi)使用QE引擎的Query每秒執(zhí)行的次數(shù)。包括SELECT、INSERT、UPDATE和DELETE四種類型的SQL語(yǔ)句。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
FixedQE Query QPS(countS)
指實(shí)例內(nèi)使用FixedQE引擎的Query每秒執(zhí)行的次數(shù)(走Fixed Plan鏈路,原名SDK)。包括SELECT、INSERT、UPDATE和DELETE四種類型的SQL語(yǔ)句。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
DML RPS(countS)
DML RPS代表實(shí)例內(nèi)Query每秒導(dǎo)入或者更新的數(shù)據(jù)記錄條數(shù),包括INSERT、UPDATE和DELETE三種類型的SQL語(yǔ)句,因此DML RPS = QE DML RPS + FixedQE DML RPS
。
QE DML RPS(countS)
指實(shí)例內(nèi)使用QE引擎的Query每秒導(dǎo)入或者更新的數(shù)據(jù)記錄條數(shù),包括INSERT、UPDATE和DELETE三種類型的SQL語(yǔ)句。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
使用QE引擎導(dǎo)入或更新數(shù)據(jù)的常見(jiàn)場(chǎng)景如下:
MaxCompute或OSS外部表的批量導(dǎo)入或更新。
Copy批量寫(xiě)入或更新。
Hologres表之間的批量導(dǎo)入。
FixedQE DML RPS(countS)
指實(shí)例內(nèi)使用FixedQE引擎的Query每秒導(dǎo)入或者更新的數(shù)據(jù)記錄條數(shù)(原指標(biāo)名為SDK),包括INSERT、UPDATE和DELETE三種類型的SQL語(yǔ)句。其中:
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
常見(jiàn)的FixedQE場(chǎng)景包括:
通過(guò)數(shù)據(jù)集成DataX離線寫(xiě)入。
SQL或JDBC通過(guò)
INSERT INTO VALUES()
語(yǔ)句寫(xiě)入。
Query Latency
Query延遲(milliseconds)
實(shí)例內(nèi)運(yùn)行的所有Query的平均延遲,包括SELECT、INSERT、UPDATE和DELETE、UTILITY、UNKNOWN等SQL語(yǔ)句。Query延遲 >= MAX(QE Query延遲,F(xiàn)ixedQE Query延遲)
。
QE Query延遲(milliseconds)
實(shí)例內(nèi)使用QE引擎的Query的平均延遲,包括SELECT、INSERT、UPDATE和DELETE四種類型的Query。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
對(duì)于QE Query的延遲增加排查,可以結(jié)合Optimization耗時(shí)、Start Query耗時(shí)、Get next耗時(shí)、QE QPS等指標(biāo)一起排查。
FixedQE Query延遲(milliseconds)
實(shí)例內(nèi)使用FixedQE引擎的Query的平均延遲,包括SELECT、INSERT、UPDATE和DELETE四種類型的Query。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
FixedQE Query延遲高可能是如下原因:
偶發(fā)變高:可能是因?yàn)榇嬖贖QE鎖,可以查看FixedQE的后端拿鎖耗時(shí)是否增加,若增加說(shuō)明有鎖,可以通過(guò)Query洞察排查具體的拿鎖Query。
一直延遲高:可能是因?yàn)榻ū聿缓侠恚蛑芷渌麖?fù)雜Query的影響等,可以參考Blink和Flink常見(jiàn)問(wèn)題及診斷進(jìn)行排查。
Optimization階段的耗時(shí)(milliseconds)
實(shí)例內(nèi)Query在Optimization階段的耗時(shí),該階段主要用于優(yōu)化器QO解析SQL,并生成對(duì)應(yīng)的物理Plan以便執(zhí)行引擎跟進(jìn)Plan去執(zhí)行。
該指標(biāo)僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持顯示。
如果Optimization階段耗時(shí)較長(zhǎng),說(shuō)明實(shí)例中Query較復(fù)雜,導(dǎo)致解析Query耗費(fèi)較多時(shí)間。如果實(shí)例中的Query只是傳入的參數(shù)不同,建議使用Prepared Statement模式降低QO耗時(shí),詳情請(qǐng)參見(jiàn)JDBC。
Start Query階段的耗時(shí)(milliseconds)
實(shí)例內(nèi)Query在Start Query階段的耗時(shí),該階段為真正開(kāi)始執(zhí)行Query前的初始化階段,包括了加鎖,對(duì)齊Schema版本等過(guò)程。
該指標(biāo)僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持顯示。
如果Start Query階段耗時(shí)較長(zhǎng),通常是由于等待鎖或者高CPU占用導(dǎo)致資源等待,可以結(jié)合執(zhí)行計(jì)劃等細(xì)致分析。
Get next階段的耗時(shí)(milliseconds)
Get next是指從Start Query階段結(jié)束開(kāi)始計(jì)算,到所有結(jié)果均返回所花費(fèi)的時(shí)間,包括計(jì)算、返回結(jié)果等步驟的耗時(shí)。
該指標(biāo)僅Hologres V2.0.44及以上版本、V2.1.22及以上版本支持顯示。
如果Get next階段耗時(shí)較長(zhǎng),通常是由于計(jì)算復(fù)雜導(dǎo)致,可以結(jié)合QE內(nèi)存使用、QE QPS等指標(biāo)一起排查。如無(wú)明顯異常,也可能是客戶端在等待返回?cái)?shù)據(jù)。
Query P99延遲(milliseconds)
實(shí)例內(nèi)運(yùn)行的所有Query的P99延遲,包括SELECT、INSERT、UPDATE和UTILITY、以及系統(tǒng)Query等。
本實(shí)例正在運(yùn)行中Query最長(zhǎng)的時(shí)長(zhǎng)(milliseconds)
指實(shí)例中正在運(yùn)行的Query持續(xù)時(shí)長(zhǎng),默認(rèn)匯報(bào)當(dāng)前時(shí)刻運(yùn)行時(shí)間最長(zhǎng)的Query時(shí)長(zhǎng),包括SELECT、INSERT、UPDATE和DELETE、UTILITY、UNKNOWN等SQL語(yǔ)句。
該指標(biāo)僅Hologres V1.1及以上版本支持顯示。
Hologres是分布式系統(tǒng),根據(jù)實(shí)例的規(guī)格會(huì)有不同的Worker節(jié)點(diǎn)。Query運(yùn)行時(shí)會(huì)在不同的Worker節(jié)點(diǎn)隨機(jī)分發(fā)。正在運(yùn)行的Query持續(xù)時(shí)長(zhǎng)會(huì)根據(jù)每個(gè)Worker節(jié)點(diǎn)上Query運(yùn)行時(shí)長(zhǎng),匯報(bào)當(dāng)前時(shí)刻運(yùn)行時(shí)間最長(zhǎng)的Query,例如當(dāng)前時(shí)刻不同的Worker節(jié)點(diǎn)分別在運(yùn)行持續(xù)時(shí)長(zhǎng)為10分鐘、5分鐘和30秒的Query,此時(shí)正在運(yùn)行的Query持續(xù)時(shí)長(zhǎng)將會(huì)顯示為10分鐘。
可以根據(jù)Query的運(yùn)行時(shí)長(zhǎng),并結(jié)合活躍Query或者慢Query日志判斷Query運(yùn)行時(shí)長(zhǎng)是否合理,排查并解決Query運(yùn)行時(shí)間較長(zhǎng)的問(wèn)題,及早處理死鎖、卡住等情況。
監(jiān)控指標(biāo)每隔1分鐘匯報(bào)一次,因此指標(biāo)中“正在運(yùn)行的持續(xù)時(shí)長(zhǎng)” x軸開(kāi)始時(shí)間與Query真正開(kāi)始的時(shí)間有誤差,該指標(biāo)僅作為異常情況問(wèn)題排查的輔助指標(biāo),即通過(guò)該指標(biāo)快速定位到實(shí)例中運(yùn)行時(shí)長(zhǎng)較長(zhǎng)的Query,作為自運(yùn)維的輔助指標(biāo),不提供精確Query運(yùn)行時(shí)間。
Failed Query QPS
失敗Query QPS(milliseconds)
失敗Query數(shù)代表實(shí)例內(nèi)平均每秒SQL語(yǔ)句失敗的次數(shù),包括SELECT、INSERT、UPDATE和DELETE、UTILITY、UNKNOWN等SQL語(yǔ)句。失敗Query QPS >= QE 失敗Query QPS + FixedQE 失敗Query RPS
。
可以根據(jù)失敗的Query類型和次數(shù),在慢Query日志中查找失敗的Query并分析原因,以提高系統(tǒng)的可用性。
QE失敗Query QPS(milliseconds)
指實(shí)例內(nèi)使用QE引擎的Query每秒失敗的次數(shù)。包括SELECT、INSERT、UPDATE和DELETE四種SQL語(yǔ)句。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
FixedQE失敗Query QPS(milliseconds)
指實(shí)例內(nèi)使用FixedQE引擎的Query每秒失敗的次數(shù)。包括SELECT、INSERT、UPDATE和DELETE四種SQL語(yǔ)句。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
Locks
FE等鎖的最大耗時(shí)(milliseconds)
Hologres是分布式系統(tǒng),會(huì)有多個(gè)FE節(jié)點(diǎn)負(fù)責(zé)SQL的解析、分發(fā)及路由。當(dāng)不同的連接請(qǐng)求被路由到同一個(gè)FE節(jié)點(diǎn),并對(duì)同一個(gè)表做DDL操作(如CREATE、DROP)時(shí),會(huì)產(chǎn)生FE鎖。FE等鎖耗時(shí)反映了每個(gè)FE等待DDL鎖的耗時(shí)。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
一般來(lái)說(shuō),只要執(zhí)行DDL操作就可能會(huì)產(chǎn)生鎖耗時(shí),F(xiàn)E鎖耗時(shí)超過(guò)5分鐘,同時(shí)“FE replay延遲”指標(biāo)也出現(xiàn)較高的延遲,可能是因?yàn)橛蠨DL執(zhí)行卡住了,通過(guò)Query管理排查運(yùn)行時(shí)間較長(zhǎng)的Query并及時(shí)終止該進(jìn)程。
FixedQE的后端拿鎖耗時(shí)(milliseconds)
對(duì)于INSERT、DELETE或UPDATE等類型,走HQE鏈路的Query會(huì)使用表鎖,走FixedPlan鏈路的Query會(huì)使用行鎖。FixedQE的后端拿鎖表示走FixedPlan鏈路的Query涉及到的表被加了行鎖,同時(shí)走HQE鏈路的Query對(duì)該表加了表鎖,導(dǎo)致FixedPlan的Query需要等鎖,進(jìn)而導(dǎo)致FixedQE拿鎖耗時(shí)增加。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
如果FixedQE的拿鎖耗時(shí)較長(zhǎng),可以通過(guò)慢Query日志定位到比較慢的FixedQE Query,然后通過(guò)Query洞察排查拿鎖的HQE Query。
實(shí)例總的后端拿鎖耗時(shí)(milliseconds)
表示INSERT、DELETE或UPDATE類型的Query在實(shí)例中總的拿鎖耗時(shí),包括FixedQE的拿鎖耗時(shí)和HQE Query之間的拿鎖耗時(shí)。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
如果拿鎖耗時(shí)較長(zhǎng),可以通過(guò)慢Query日志定位到比較慢的INSERT、DELETE或UPDATE類型的Query,再通過(guò)Query洞察排查拿鎖的HQE Query。
Connection
總連接數(shù)(個(gè))
Hologres根據(jù)實(shí)例的規(guī)格,設(shè)置不同的默認(rèn)總連接數(shù),詳情請(qǐng)參見(jiàn)實(shí)例管理。總連接數(shù)代表實(shí)例當(dāng)前已經(jīng)使用的連接總個(gè)數(shù),包括active(活躍)、idle(空閑)、idle in transaction(已失敗事務(wù)中的空閑狀態(tài))等連接狀態(tài)。可以通過(guò)Query管理查看當(dāng)前的連接使用情況,當(dāng)出現(xiàn)連接不足時(shí),及時(shí)kill空閑連接。
連接數(shù)(按DB展開(kāi))(個(gè))
按照DB匯總的連接數(shù)使用個(gè)數(shù),判斷每個(gè)DB的連接使用情況。其中:
每個(gè)DB的總連接數(shù)上限默認(rèn)是128,詳情請(qǐng)參見(jiàn)實(shí)例管理。
當(dāng)每個(gè)DB的連接數(shù)長(zhǎng)期接近最大值時(shí),說(shuō)明實(shí)例的連接數(shù)使用較多,可以根據(jù)業(yè)務(wù)情況查看是空閑連接還是業(yè)務(wù)連接,詳情請(qǐng)參見(jiàn)連接數(shù)管理,并根據(jù)業(yè)務(wù)情況及時(shí)清理空閑連接或者擴(kuò)容獲取更多的連接。
當(dāng)部分Worker節(jié)點(diǎn)連接數(shù)較高,部分Worker節(jié)點(diǎn)的連接數(shù)較低時(shí),說(shuō)明實(shí)例的連接負(fù)載不均,通過(guò)連接數(shù)管理查看空閑連接并及時(shí)清理,以緩解連接負(fù)載不均的情況。
連接數(shù)(按FE展開(kāi))(個(gè))
按照FE匯總的連接數(shù)使用個(gè)數(shù),判斷每個(gè)FE的連接使用情況。其中:
每個(gè)FE節(jié)點(diǎn)的總連接數(shù)上限默認(rèn)是128,詳情請(qǐng)參見(jiàn)實(shí)例管理。
當(dāng)每個(gè)FE節(jié)點(diǎn)的連接數(shù)長(zhǎng)期接近最大值時(shí),說(shuō)明實(shí)例的連接數(shù)使用較多,可以根據(jù)業(yè)務(wù)情況查看是空閑連接還是業(yè)務(wù)連接,詳情請(qǐng)參見(jiàn)連接數(shù)管理,并根據(jù)業(yè)務(wù)情況及時(shí)清理空閑連接或者擴(kuò)容獲取更多的連接。
當(dāng)部分Worker節(jié)點(diǎn)連接數(shù)較高,部分Worker節(jié)點(diǎn)的連接數(shù)較低時(shí),說(shuō)明實(shí)例的連接負(fù)載不均,通過(guò)連接數(shù)管理查看空閑連接并及時(shí)清理,以緩解連接負(fù)載不均的情況。
連接數(shù)使用率最高的FE的連接數(shù)使用率(%)
代表使用率最高的FE(Frontend)節(jié)點(diǎn)的使用率,匯報(bào)每個(gè)FE節(jié)點(diǎn)的最大值,即Max(frontend_connection_used_rate)
,可以更加方便地知道使用的連接數(shù)是否即將超過(guò)某個(gè)Frontend節(jié)點(diǎn)的最大連接數(shù),造成無(wú)法連接的情況。多個(gè)FE節(jié)點(diǎn)之間采用輪詢策略(Round Robin),新建連接依次與不同F(xiàn)rontend節(jié)點(diǎn)建立物理連接。可以通過(guò)Query管理查看當(dāng)前的連接使用情況,當(dāng)出現(xiàn)連接不足時(shí),及時(shí)kill空閑連接。
Query Queue
查詢隊(duì)列中排隊(duì)狀態(tài)的Query數(shù)量(count)
指實(shí)例中正在等待執(zhí)行但尚未開(kāi)始處理的查詢請(qǐng)求的數(shù)量。
該指標(biāo)僅Hologres V3.0及以上版本支持顯示。
進(jìn)入查詢隊(duì)列的QPS(countS)
指實(shí)例中每秒提交至系統(tǒng)處理隊(duì)列中的查詢請(qǐng)求數(shù)量,可以用來(lái)衡量系統(tǒng)的負(fù)載情況以及查詢請(qǐng)求的頻率。
該指標(biāo)僅Hologres V3.0及以上版本支持顯示。
查詢隊(duì)列中完成排隊(duì)開(kāi)始運(yùn)行的QPS(countS)
指每秒鐘從等待狀態(tài)轉(zhuǎn)為執(zhí)行狀態(tài)的查詢請(qǐng)求數(shù)量。
該指標(biāo)僅Hologres V3.0及以上版本支持顯示。
查詢隊(duì)列開(kāi)始運(yùn)行的查詢中,每個(gè)狀態(tài)的QPS(countS)
指查詢隊(duì)列中各個(gè)狀態(tài)的QPS。狀態(tài)包括以下幾種:
kReadyToRun(獲得查詢資格,開(kāi)始運(yùn)行)
kQueueTimeout(排隊(duì)超時(shí)無(wú)法運(yùn)行導(dǎo)致報(bào)錯(cuò))
kCanceled(被 Cancel 導(dǎo)致報(bào)錯(cuò))
kExceedConcurrencyLimit(超過(guò)限制無(wú)法運(yùn)行導(dǎo)致報(bào)錯(cuò))
該指標(biāo)僅Hologres V3.0及以上版本支持顯示。
查詢隊(duì)列的平均排隊(duì)時(shí)長(zhǎng)(milliseconds)
指所有查詢請(qǐng)求從進(jìn)入隊(duì)列到開(kāi)始被處理這段時(shí)間的平均值(不包括實(shí)際執(zhí)行查詢所需的時(shí)間),單位為毫秒。
該指標(biāo)僅Hologres V3.0及以上版本支持顯示。
IO
I/O吞吐代表實(shí)例的I/O吞吐量,描述實(shí)例的讀寫(xiě)數(shù)據(jù)量,反映實(shí)例訪問(wèn)磁盤(pán)時(shí)讀寫(xiě)的繁忙度。您可以從I/O層面了解實(shí)例的壓力情況和負(fù)載變化,及時(shí)診斷問(wèn)題。其中1 GiB=1024 MiB=1024 * 1024 KiB
。
標(biāo)準(zhǔn)IO讀吞吐(byte/s)
代表Query讀取標(biāo)準(zhǔn)存儲(chǔ)數(shù)據(jù)時(shí)的I/O吞吐。
標(biāo)準(zhǔn)IO寫(xiě)吞吐(byte/s)
代表Query寫(xiě)入標(biāo)準(zhǔn)存儲(chǔ)數(shù)據(jù)時(shí)的I/O吞吐。
低頻IO讀吞吐(byte/s)
代表Query讀取低頻存儲(chǔ)數(shù)據(jù)時(shí)的I/O吞吐。
低頻IO寫(xiě)吞吐(byte/s)
代表Query寫(xiě)入低頻存儲(chǔ)數(shù)據(jù)時(shí)的I/O吞吐
Storage
實(shí)例存儲(chǔ)的數(shù)據(jù)占用的邏輯磁盤(pán)大小,是所有DB存儲(chǔ)用量的總和。其中1 GiB=1024 MiB=1024*1024 KiB。Hologres存儲(chǔ)用量可以持續(xù)增加,沒(méi)有硬限制。
包年包月付費(fèi)模式下購(gòu)買的實(shí)例存儲(chǔ)用量用完后,超出部分會(huì)自動(dòng)轉(zhuǎn)為按量計(jì)費(fèi),不會(huì)影響系統(tǒng)穩(wěn)定性與使用
建議超出存儲(chǔ)資源之后及時(shí)對(duì)存儲(chǔ)進(jìn)行升級(jí)配置,或者及時(shí)清理無(wú)用的數(shù)據(jù),避免造成不必要的更昂貴的存儲(chǔ)費(fèi)用。節(jié)省的存儲(chǔ)資費(fèi),可以用來(lái)投入到計(jì)算資源當(dāng)中。
可以通過(guò)pg_relation_size函數(shù)查看表和DB的存儲(chǔ)大小,以及存儲(chǔ)明細(xì)。同時(shí)也可以使用Table Info對(duì)實(shí)例中的表進(jìn)行精細(xì)化管理。
標(biāo)準(zhǔn)存儲(chǔ)已用容量(byte)
標(biāo)準(zhǔn)存儲(chǔ)已經(jīng)使用的存儲(chǔ)容量,若超過(guò)購(gòu)買的存儲(chǔ)容量,可以適當(dāng)擴(kuò)容存儲(chǔ)。
標(biāo)準(zhǔn)存儲(chǔ)使用率(%)
標(biāo)準(zhǔn)存儲(chǔ)已經(jīng)使用的存儲(chǔ)使用率,若超過(guò)購(gòu)買的存儲(chǔ)容量,可以適當(dāng)擴(kuò)容存儲(chǔ)。
低頻存儲(chǔ)已用容量(byte)
低頻存儲(chǔ)已經(jīng)使用的存儲(chǔ)容量,若超過(guò)購(gòu)買的存儲(chǔ)容量,可以適當(dāng)擴(kuò)容存儲(chǔ)。
低頻存儲(chǔ)使用率(%)
低頻存儲(chǔ)已經(jīng)使用的存儲(chǔ)使用率,若超過(guò)購(gòu)買的存儲(chǔ)容量,可以適當(dāng)擴(kuò)容存儲(chǔ)。
Framework
FE replay延遲(milliseconds)
Hologres為分布式系統(tǒng),在接入層有多個(gè)Frontend(FE)負(fù)責(zé)SQL的解析、分發(fā)、路由。對(duì)于DDL,Hologres的原理是先在一個(gè)FE執(zhí)行,然后其余FE節(jié)點(diǎn)replay。其中:
FE replay需要一定的時(shí)間,一般來(lái)說(shuō),Relay延遲在毫秒級(jí)、秒級(jí)都為正常情況。
當(dāng)某個(gè)FE replay的延遲超過(guò)分鐘級(jí)時(shí),可能是由于DDL太多,replay不及時(shí);若是延遲一直增加,可能是Query卡住了,可以通過(guò)hg_stat_activity排查耗時(shí)較高的Query,并及時(shí)Kill。
該指標(biāo)僅Hologres V2.2及以上版本支持。
Shard多副本同步延遲(milliseconds)
Shard多副本延遲是指實(shí)例開(kāi)啟了Replication后,主從Shard之間的副本數(shù)據(jù)同步延遲。
通常Shard多副本延遲為毫秒級(jí)。
當(dāng)有大量數(shù)據(jù)寫(xiě)入、更新或頻繁執(zhí)行DDL操作時(shí),可能會(huì)導(dǎo)致同步延遲。
主從同步延遲(milliseconds)
主從實(shí)例同步延遲表示從實(shí)例讀取主實(shí)例數(shù)據(jù)時(shí)的延遲(毫秒),其中:
僅從實(shí)例顯示該指標(biāo),主實(shí)例默認(rèn)不顯示。
只有在從實(shí)例綁定了主實(shí)例之后,該指標(biāo)才會(huì)顯示數(shù)據(jù)(0ms),當(dāng)主實(shí)例有數(shù)據(jù)寫(xiě)入時(shí),從實(shí)例的同步延遲會(huì)出現(xiàn)數(shù)據(jù)波動(dòng)。
通常情況下,主從實(shí)例的同步延遲為毫秒級(jí),當(dāng)實(shí)例偶爾出現(xiàn)延遲抖動(dòng)時(shí),可能原因?yàn)橹鲗?shí)例在做DDL等元數(shù)據(jù)修改的操作,可忽略。若長(zhǎng)期延遲較大(大于秒),可能原因?yàn)閷?shí)例水位較高,資源不足,您可以結(jié)合CPU、內(nèi)存等水位情況綜合評(píng)估,并適當(dāng)擴(kuò)容以減少延遲。
實(shí)例重啟或者升級(jí)期間,同步延遲可能增加到分鐘級(jí)別,并會(huì)自動(dòng)恢復(fù)。
實(shí)例間文件同步延遲(milliseconds)
指異地容災(zāi)實(shí)例間的文件同步延遲,僅在Follower實(shí)例(只讀從實(shí)例)上展示該指標(biāo)。
Auto Analyze
每個(gè)DB統(tǒng)計(jì)信息缺失的表個(gè)數(shù)(countS)
代表每個(gè)DB中,統(tǒng)計(jì)信息缺失的表的個(gè)數(shù)。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
對(duì)于Hologres V2.0及以上版本的實(shí)例,會(huì)默認(rèn)開(kāi)啟新版本Auto Analyze機(jī)制,當(dāng)表剛創(chuàng)建或者有大量數(shù)據(jù)寫(xiě)入或更新時(shí),Auto Analyze可能未及時(shí)更新統(tǒng)計(jì)信息,可以先暫時(shí)觀測(cè)一段時(shí)間。
如果某個(gè)DB長(zhǎng)期(超過(guò)數(shù)小時(shí)或數(shù)天)有缺失統(tǒng)計(jì)信息的表,可能是因?yàn)槲吹竭_(dá)Auto Analyze的閾值,可以通過(guò)HG_STATS_MISSING視圖查看哪些表缺失統(tǒng)計(jì)信息,并對(duì)表手動(dòng)執(zhí)行Analyze以更新統(tǒng)計(jì)信息。
如果某個(gè)DB長(zhǎng)期(超過(guò)數(shù)小時(shí)或數(shù)天)有缺失統(tǒng)計(jì)信息的表,可能是因?yàn)槲催_(dá)到Auto Analyze的閾值,可以查看表的統(tǒng)計(jì)信息,并手動(dòng)對(duì)表執(zhí)行Analyze。詳情請(qǐng)參見(jiàn)ANALYZE和AUTO ANALYZE。
Serverless Computing
正在運(yùn)行的Serverless Computing的查詢中,最長(zhǎng)的時(shí)長(zhǎng)(milliseconds)
Hologres支持Serverless Computing,可以將指定的Query運(yùn)行在Serverless Computing資源池中,隔離本實(shí)例以及任務(wù),確保Query快速運(yùn)行。
該指標(biāo)僅Hologres V2.1及以上版本支持顯示。
該指標(biāo)反映了Query在Serverless Computing的運(yùn)行時(shí)長(zhǎng),默認(rèn)展示運(yùn)行時(shí)間最長(zhǎng)的Query的時(shí)長(zhǎng),同時(shí)結(jié)合hg_stat_activity定位Query在Serverless的運(yùn)行情況。
實(shí)例Serverless Computing Query排隊(duì)數(shù)量(count)
指實(shí)例中的Query在Serverless Computing資源池中的排隊(duì)數(shù)量。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
實(shí)例Serverless Computing資源Quota使用率(%)
指給定時(shí)間內(nèi),實(shí)例實(shí)際使用的Serverless Computing資源量與可申請(qǐng)的最大資源量之間的比率。
該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
Binlog
每秒消費(fèi)Binlog的條數(shù)或字節(jié)數(shù)
Hologres支持訂閱Hologres Binlog功能,通過(guò)Binlog可以實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)分層,加速數(shù)據(jù)流轉(zhuǎn)。
每秒消費(fèi)Binlog的條數(shù)(countS)
指每秒鐘消費(fèi)Binlog的條數(shù)。該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
每秒消費(fèi)Binlog的字節(jié)數(shù)(byte/s)
指每秒鐘消費(fèi)Binlog的字節(jié)數(shù)。字節(jié)數(shù)的增加可能是由于存在較大的字段或數(shù)據(jù)量增加所致。該指標(biāo)僅Hologres V2.2及以上版本支持顯示。
wal sender的使用數(shù)和使用率
同普通連接類似,在使用JDBC進(jìn)行Binlog的消費(fèi)時(shí),所消費(fèi)的每張表的每個(gè)Shard都會(huì)使用1個(gè)Walsender連接,Walsender連接與普通連接獨(dú)立,互不影響。Walsenders數(shù)有默認(rèn)上限。
每個(gè)FE的wal sender的使用數(shù)(個(gè))
指每個(gè)FE節(jié)點(diǎn)使用的Walsender數(shù)。
wal sender使用率最高的FE的wal sender使用率(%)
指使用Walsender數(shù)最大的FE的使用率。
結(jié)合上述兩個(gè)指標(biāo),可以判斷當(dāng)前實(shí)例中Walsender的使用情況,若Walsender到達(dá)上限,可以通過(guò)JDBC消費(fèi)Hologres Binlog排查并處理。
Computing Resource
Warehouse_timed_elastic_cores(Count)
Hologres計(jì)算組實(shí)例支持分時(shí)彈性功能,詳情請(qǐng)參見(jiàn)計(jì)算組分時(shí)彈性(Beta)。該指標(biāo)表示實(shí)例通過(guò)分時(shí)彈性彈出的Core數(shù)。
Gateway
Gateway的CPU使用率(%)
Gateway的CPU使用率指實(shí)例內(nèi)每個(gè)Gateway的CPU使用率。
該指標(biāo)僅Hologres V2.0及以上版本支持顯示。
Gateway采用輪詢方式轉(zhuǎn)發(fā)流量,因此即使沒(méi)有新連接請(qǐng)求,也會(huì)產(chǎn)生CPU消耗。
自Hologres V2.2.22版本起,Gateway默認(rèn)啟動(dòng)了更多工作線程,以增強(qiáng)新建連接的處理能力,同時(shí)CPU消耗率也相應(yīng)提高。
Gateway的內(nèi)存使用率(%)
Gateway的內(nèi)存使用率指實(shí)例內(nèi)每個(gè)Gateway的內(nèi)存使用率。
該指標(biāo)僅Hologres V2.0及以上版本支持顯示。
Gateway的每秒新連接請(qǐng)求數(shù)(countS)
指系統(tǒng)在一秒鐘內(nèi)能夠接受并成功建立的新連接的最大數(shù)量。
該指標(biāo)僅Hologres V2.1.12及以上版本支持顯示。
單個(gè)Gateway處理新建連接的峰值能力約為100次/秒。
如果新連接請(qǐng)求數(shù)長(zhǎng)期接近
100 * Gateway個(gè)數(shù)
,則說(shuō)明Gateway成為了系統(tǒng)處理新連接請(qǐng)求的瓶頸,需要為應(yīng)用設(shè)置合理的連接池機(jī)制,或擴(kuò)容增加Gateway的個(gè)數(shù)。
Gateway的入口流量速率(B/s)
指每秒鐘通過(guò)Gateway進(jìn)入系統(tǒng)的數(shù)據(jù)量。
該指標(biāo)僅Hologres V2.1及以上版本支持顯示。
如果Gateway入口流量速率長(zhǎng)期接近
200MiB/s * Gateway個(gè)數(shù)
,則說(shuō)明Gateway網(wǎng)絡(luò)處理能力成為了系統(tǒng)瓶頸,需要擴(kuò)容增加Gateway個(gè)數(shù)。
Gateway的出口流量速率(B/s)
指每秒鐘通過(guò)Gateway發(fā)送至外部系統(tǒng)的數(shù)據(jù)量。
該指標(biāo)僅Hologres V2.1及以上版本支持顯示。
如果Gateway出口流量速率長(zhǎng)期接近
200MiB/s * Gateway個(gè)數(shù)
,則說(shuō)明Gateway網(wǎng)絡(luò)處理能力成為了系統(tǒng)瓶頸,需要擴(kuò)容增加Gateway個(gè)數(shù)。
常見(jiàn)監(jiān)控指標(biāo)問(wèn)題
監(jiān)控指標(biāo)常見(jiàn)問(wèn)題匯總了使用監(jiān)控指標(biāo)中的常見(jiàn)問(wèn)題,可以幫助業(yè)務(wù)快速診斷、定位問(wèn)題,并提供對(duì)應(yīng)的解決辦法,提升自運(yùn)維能力。
監(jiān)控指標(biāo)告警
您可以通過(guò)云監(jiān)控對(duì)監(jiān)控指標(biāo)設(shè)置告警,以便及時(shí)發(fā)現(xiàn)異常,并排查處理,降低業(yè)務(wù)影響。詳情請(qǐng)參見(jiàn)云監(jiān)控。