日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

查詢加速

更新時(shí)間:

本文介紹時(shí)序存儲(chǔ)查詢加速功能的全局緩存與并發(fā)計(jì)算原理,以及各項(xiàng)配置參數(shù)的含義。

原理介紹

全局緩存與并發(fā)計(jì)算原理說(shuō)明如下所示:

全局緩存

image

Prometheus Query計(jì)算引擎默認(rèn)不對(duì)執(zhí)行結(jié)果進(jìn)行緩存,每次查詢都需重新計(jì)算所有數(shù)據(jù),在數(shù)據(jù)量大、時(shí)間范圍長(zhǎng)時(shí)性能較差。全局緩存功能支持復(fù)用上一次相同查詢(PromQL語(yǔ)句和step參數(shù)值一致)的部分查詢結(jié)果,并對(duì)未命中緩存的時(shí)間區(qū)間單獨(dú)執(zhí)行新的查詢。

重要
  • 開啟全局緩存后,會(huì)將每次查詢區(qū)間的start和end參數(shù)對(duì)齊到step參數(shù)的整數(shù)倍,極大提升緩存命中概率,從而提升查詢執(zhí)行效率。相應(yīng)query執(zhí)行完成后,也同時(shí)會(huì)更新對(duì)應(yīng)的緩存結(jié)果。

  • 為減少數(shù)據(jù)完整性的影響,如果查詢不完整將不會(huì)保存到緩存結(jié)果中;同時(shí)超過(guò)當(dāng)前時(shí)間區(qū)間的查詢結(jié)果也不會(huì)更新到緩存中。

并發(fā)計(jì)算

Prometheus標(biāo)準(zhǔn)的Query默認(rèn)僅在一臺(tái)機(jī)器上進(jìn)行單協(xié)程計(jì)算,在時(shí)間線多、查詢時(shí)間段長(zhǎng)、計(jì)算邏輯復(fù)雜等場(chǎng)景下速度較慢。日志服務(wù)對(duì)Prometheus引擎進(jìn)行了改造,支持Prometheus Query的分布式并發(fā)執(zhí)行。并發(fā)計(jì)算提供按時(shí)間片和按時(shí)間線兩種切分模式,并將一個(gè)PromQL Query調(diào)度到多臺(tái)機(jī)器執(zhí)行,性能相比單機(jī)執(zhí)行可提升2~10倍。

  • 按時(shí)間片切分

    以下面Query為例,將每2h切分成一個(gè)query,即能夠啟動(dòng)6個(gè)任務(wù)并發(fā)執(zhí)行計(jì)算,最后將結(jié)果進(jìn)行合并。

    query:    sum(metric)
    interval: 12h
    step:     2m
  • 按時(shí)間線切分

    如果一個(gè)Metric的時(shí)間線有50萬(wàn)條,如果設(shè)置切分大小為10,即分成10個(gè)任務(wù)并發(fā)執(zhí)行計(jì)算。每個(gè)任務(wù)負(fù)責(zé)5萬(wàn)條左右的時(shí)間線數(shù)據(jù),各任務(wù)執(zhí)行完成后會(huì)對(duì)結(jié)果進(jìn)行合并。

重要
  • 您無(wú)需關(guān)心PromQL是否適合執(zhí)行并發(fā)計(jì)算,日志服務(wù)時(shí)序計(jì)算引擎會(huì)自行判斷并將適合并發(fā)計(jì)算的PromQL查詢調(diào)度到多個(gè)節(jié)點(diǎn)執(zhí)行計(jì)算。

  • 并發(fā)計(jì)算更適用于查詢范圍長(zhǎng)或者M(jìn)etric時(shí)間線較多的計(jì)算場(chǎng)景,而數(shù)據(jù)量較小的查詢請(qǐng)求則可能會(huì)受到分布式調(diào)度的影響而獲得負(fù)收益。在明確使用場(chǎng)景的情況下,推薦采用Http FormValue形式針對(duì)特定查詢場(chǎng)景配置并行計(jì)算的相關(guān)參數(shù)項(xiàng)。

  • 在聚合計(jì)算的場(chǎng)景中,Aggregation without()的用法在并發(fā)計(jì)算中的性能提升較小,例如,agg without() metric{}。此Query等同于對(duì)所有Label信息做by操作,該類計(jì)算對(duì)結(jié)果集中sample數(shù)量的影響較小,即仍有大量的中間結(jié)果需進(jìn)行匯總聚合,因此對(duì)性能的提升較小,甚至在海量時(shí)間線的場(chǎng)景中可能導(dǎo)致負(fù)優(yōu)化。同理,如果對(duì)多個(gè)Label做by運(yùn)算也同樣可能出現(xiàn)上述情況。

配置說(shuō)明

查詢加速支持以下參數(shù)配置項(xiàng),支持MetricsConfig與Http FormValue兩種方式進(jìn)行參數(shù)配置。

參數(shù)類別

參數(shù)項(xiàng)

說(shuō)明

MetricsConfig

FormValue

說(shuō)明

parallel_config

并發(fā)計(jì)算配置項(xiàng)

enable

是否開啟并發(fā)計(jì)算,默認(rèn)關(guān)閉。

支持

支持

并發(fā)計(jì)算會(huì)將Query拆分成多個(gè)小Query并調(diào)度到多個(gè)子計(jì)算節(jié)點(diǎn)執(zhí)行,最后在主計(jì)算節(jié)點(diǎn)上匯聚結(jié)果。

mode

并發(fā)選擇模式,說(shuō)明如下:

  • auto:根據(jù)最近幾次執(zhí)行的情況自動(dòng)選擇并發(fā)度。

  • static:手動(dòng)配置時(shí)間分片和并發(fā)度。

支持

不支持

并發(fā)計(jì)算的配置有兩種模式,推薦按照下方截圖中的參數(shù)來(lái)添加靜態(tài)配置

timePieceInterval

按照時(shí)間區(qū)間進(jìn)行分片的時(shí)間段單元,單位秒。支持的范圍為[3600, 86400*30],默認(rèn)21600(6小時(shí))。

支持

支持

按照時(shí)間區(qū)間進(jìn)行分片的最小分片單元,單位:秒。在控制臺(tái)中,需按小時(shí)粒度輸入。

timePieceCount

按照時(shí)間區(qū)間進(jìn)行分片的分片數(shù),支持1-16,默認(rèn)8。

支持

支持

按照時(shí)間區(qū)間進(jìn)行分片的最大分片數(shù)。

totalParallelCount

全局并發(fā)數(shù),支持2-64,默認(rèn)8。

支持

支持

全局并發(fā)數(shù)。支持按照時(shí)間線進(jìn)行分片,該參數(shù)表示總的分片數(shù)。例如,當(dāng)前Metric的時(shí)間線有500萬(wàn)條,設(shè)置總并發(fā)數(shù)為10,即每個(gè)并發(fā)處理50萬(wàn)條時(shí)間線的數(shù)據(jù)。

parallelCountPerHost

單機(jī)并發(fā)數(shù),支持1-8,默認(rèn)2。

支持

支持

單機(jī)并發(fā)數(shù)。支持按照時(shí)間線進(jìn)行分片,所有分片會(huì)被調(diào)度到不同的機(jī)器節(jié)點(diǎn)上執(zhí)行,此參數(shù)用于控制單臺(tái)機(jī)器上被分配到的分片數(shù)。

query_cache_config

全局緩存配置項(xiàng)

enable

是否開啟全局緩存,默認(rèn)關(guān)閉。

支持

支持

開啟后能夠復(fù)用之前相同Query的部分結(jié)果。

通過(guò)MetricsConfig配置查詢加速

MetricsConfig是日志服務(wù)為每個(gè)時(shí)序庫(kù)提供的獨(dú)立的參數(shù)配置項(xiàng),支持日志服務(wù)控制臺(tái)與SDK兩種配置方式。在新增或更新MetricsConfig后,需等待3分鐘生效。

通過(guò)SLS控制臺(tái)設(shè)置時(shí)序庫(kù)的加速配置

MetricStore屬性頁(yè)面,完成如下操作。如何進(jìn)入MetricStore屬性頁(yè)面,請(qǐng)參見修改MetricStore配置

其中,并發(fā)計(jì)算支持兩種配置模式。

  • 自動(dòng)模式:日志服務(wù)后端會(huì)根據(jù)相同Query近幾次執(zhí)行時(shí)拉取的數(shù)據(jù)量大小來(lái)估算當(dāng)次的并發(fā)度大。

  • 靜態(tài)配置:您自定義配置并發(fā)度大小,如有配置需求建議咨詢?nèi)罩痉?wù)的技術(shù)支持人員。

image

通過(guò)SDK設(shè)置時(shí)序庫(kù)的MetricsConfig

日志服務(wù)Java SDK中提供了修改MetricsConfig的接口,支持通過(guò)JSON形式配置MetricsConfig的各項(xiàng)具體參數(shù),如下面的示例。

{
  "parallel_config": {
    "enable": true,
    "mode": "static",
    "parallel_count_per_host": 2,
    "time_piece_count": 8,
    "time_piece_interval": 21600,
    "total_parallel_count": 8
  },
  "query_cache_config": {
    "enable": true
  }
}

下表給出了查詢加速配置中的各個(gè)參數(shù)配置項(xiàng)與MetricsConfig JSON字段、FormValue中Key字段的映射關(guān)系。

參數(shù)類別

參數(shù)項(xiàng)

MetricsConfig json字段

Form Value

parallel_config

enable

enable

x-sls-parallel-enable

mode

mode

無(wú)

timePieceInterval

time_piece_interval

x-sls-parallel-time-piece-interval

timePieceCount

time_piece_count

x-sls-parallel-time-piece-count

totalParallelCount

total_parallel_count

x-sls-parallel-count

parallelCountPerHost

parallel_count_per_host

x-sls-parallel-count-per-host

query_cache_config

enable

enable

x-sls-global-cache-enable

通過(guò)Http FormValue配置查詢加速

除MetricsConfig方式外,也支持在HTTP請(qǐng)求中加入?yún)?shù)值,此種配置方式僅對(duì)當(dāng)次請(qǐng)求有效。時(shí)序庫(kù)指標(biāo)查詢的API接口詳情,請(qǐng)參見時(shí)序指標(biāo)查詢API

此處提供全局緩存和并發(fā)計(jì)算兩個(gè)場(chǎng)景的配置示例。

全局緩存

通過(guò)FormValue的形式新增了x-sls-global-cache-enable=true參數(shù)以開啟全局緩存。

https://{project}.{sls-endpoint}/prometheus/{project}/{metricstore}/api/v1/query_range?query=sum(up)&start=1690876800&end=1690877800&step=10&x-sls-global-cache-enable=true

并行計(jì)算

新增x-sls-parallel-enable=true&x-sls-parallel-count=16參數(shù),表示當(dāng)次請(qǐng)求啟用并發(fā)計(jì)算且并發(fā)度大小為16。

https://{project}.{sls-endpoint}/prometheus/{project}/{metricstore}/api/v1/query_range?query=sum(up)&start=1690876800&end=1690877800&step=10&x-sls-parallel-enable=true&x-sls-parallel-count=16