Todos os produtos
Search
Central de documentação

Simple Log Service:Aceleração de consultas

Última atualização: Jul 03, 2026

O Simple Log Service acelera consultas PromQL por meio de cache global e computação concorrente.

Como funciona

O cache global e a computação concorrente funcionam da seguinte maneira:

Cache global

image Por padrão, o mecanismo de consulta do Prometheus não armazena resultados em cache. Cada consulta recalcula todos os dados, o que degrada o desempenho em grandes conjuntos de dados e longos intervalos de tempo. O cache global reutiliza resultados parciais de consultas idênticas anteriores (mesma instrução PromQL e mesmo valor de step). Os resultados armazenados cobrem o intervalo de tempo sobreposto; apenas os intervalos sem cache são recalculados.

Importante
  • O cache global alinha o intervalo de tempo da consulta (início/fim) a múltiplos inteiros do parâmetro step, o que aumenta a taxa de acerto do cache. Os resultados da consulta são atualizados no cache após a conclusão de cada consulta.

  • Resultados incompletos ou fora do intervalo de tempo armazenado não entram no cache, preservando a integridade dos dados.

Computação concorrente

Consultas padrão do Prometheus executam em uma única corrotina em um servidor, tornando-se lentas para grandes volumes de séries temporais, longos intervalos de tempo ou lógicas complexas. O Simple Log Service estende o mecanismo do Prometheus para dividir consultas PromQL por intervalo de tempo ou por série temporal, distribuindo-as entre vários servidores e melhorando o desempenho de 2x a 10x.

  • Divisão por intervalo de tempo

    Exemplo: uma consulta de 12 horas divide-se em 6 subconsultas com intervalos de 2 horas. Todas as 6 subconsultas executam simultaneamente e os resultados são mesclados.

    query:    sum(metric)
    interval: 12h
    step:     2m
  • Divisão por série temporal

    Exemplo: uma métrica com 500.000 séries temporais e 10 tarefas concorrentes executa 10 tarefas paralelas de 50.000 séries temporais cada e, em seguida, mescla os resultados.

Importante
  • O mecanismo de séries temporais do SLS identifica automaticamente as consultas PromQL elegíveis para computação concorrente e as distribui entre os nós.

  • A computação concorrente beneficia consultas com longos intervalos de tempo ou grande número de séries temporais. Para pequenos volumes de dados, ela pode degradar o desempenho. Utilize o modo HTTP FormValue para configurar a computação concorrente por consulta.

  • A agregação sem without() (equivalente a by em todos os rótulos) gera ganhos mínimos de desempenho, pois os resultados intermediários quase não são reduzidos. Com muitas séries temporais, o desempenho pode até piorar. A agregação com by em múltiplos rótulos também apresenta melhoria limitada.

Parâmetros

Configure os parâmetros de aceleração de consulta no modo MetricsConfig ou HTTP FormValue.

Categoria

Parâmetro

Descrição

MetricsConfig

FormValue

Descrição

parallel_config

(parâmetros de computação concorrente)

enable

Ativa a computação concorrente. Desativado por padrão.

Suportado

Suportado

Divide uma consulta em subconsultas distribuídas entre nós de computação secundários. Os resultados são agregados no nó principal.

mode

Modo de computação concorrente. Valores válidos:

  • auto: O sistema seleciona a concorrência com base nos resultados de consultas recentes.

  • static: Configure manualmente a divisão de tempo e a concorrência.

Suportado

Não suportado

Modo auto ou static. Para o modo static, consulte o suporte técnico do Simple Log Service.

timePieceInterval

Intervalo de divisão de tempo em segundos. Valores válidos: 3600 a 2592000. Padrão: 21600 (6 horas).

Suportado

Suportado

Intervalo de divisão de tempo em segundos. No console, especifique um valor em horas inteiras.

timePieceCount

Número de subconsultas após a divisão baseada em tempo. Valores válidos: 1 a 16. Padrão: 8.

Suportado

Suportado

Quantidade de subconsultas geradas pela divisão temporal.

totalParallelCount

Total de tarefas concorrentes para divisão de séries temporais. Valores válidos: 2 a 64. Padrão: 8.

Suportado

Suportado

Total de tarefas para divisão de séries temporais. Exemplo: uma métrica com 5 milhões de séries temporais e totalParallelCount=10 executa 10 tarefas de 500.000 séries temporais cada.

parallelCountPerHost

Tarefas concorrentes por servidor. Valores válidos: 1 a 8. Padrão: 2.

Suportado

Suportado

Número de tarefas de divisão de séries temporais atribuídas a cada servidor.

query_cache_config

(parâmetros de cache global)

enable

Ativa o cache global. Desativado por padrão.

Suportado

Suportado

Reutiliza resultados parciais de consultas idênticas anteriores.

Modo MetricsConfig

O MetricsConfig é um parâmetro por Metricstore configurável pelo console do Simple Log Service ou por SDKs. As alterações entram em vigor após 3 minutos.

Console

Na página Metricstore Attribute, execute as seguintes operações. Para mais informações sobre como acessar a página Metricstore Attribute, consulte Modificar um metricstore.

Modos de computação concorrente:

  • No modo auto, o Simple Log Service estima o nível de concorrência com base no volume de dados de consultas idênticas recentes.

  • No modo static, configure a concorrência manualmente. Consulte o suporte técnico do Simple Log Service antes de usar o modo static.

image

SDK

Utilize o SDK for Java do Simple Log Service para modificar o MetricsConfig no formato JSON. Exemplo:

{
  "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
  }
}

A tabela a seguir mapeia os parâmetros de aceleração de consulta para os campos JSON do MetricsConfig e chaves FormValue.

Categoria

Parâmetro

MetricsConfig

FormValue

parallel_config

enable

enable

x-sls-parallel-enable

mode

mode

Nenhum

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

Modo HTTP FormValue

No modo HTTP FormValue, as configurações de aceleração de consulta aplicam-se apenas à solicitação atual. Para mais informações sobre a API HTTP relacionada ao Metricstore, consulte APIs de consulta de métricas de séries temporais.

Exemplos:

Cache global

Adicione x-sls-global-cache-enable=true para ativar o cache global.

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

Computação concorrente

Adicione x-sls-parallel-enable=true&x-sls-parallel-count=16 para ativar a computação concorrente e definir o grau de concorrência como 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