Entrar ou criar conta

Upnetix Labs · protocolo de experimento

Protocolo: Qual o impacto do uso de cache Redis no tempo de resposta de dashboards no Apache Superset?

Este protocolo responde se habilitar o cache Redis reduz o tempo de resposta de dashboards no Superset. Você vai medir o tempo de carregamento de dashboards com e sem cache.

Apache Superset do zero ao BI corporativo
Ligado ao treinamento Apache Superset do zero ao BI corporativo
Protocolo, não resultado. Esta página descreve como medir. Os números que valem são os que você obtém na sua bancada, seguindo o método abaixo. Nenhum valor aqui é resultado de medição da Upnetix.
Pergunta

O uso de cache Redis no Apache Superset diminui o tempo de resposta dos dashboards em comparação ao uso sem cache?

Hipótese

Habilitar o cache Redis no Superset reduz significativamente o tempo médio de resposta dos dashboards.

Variáveis

Independentes (o que varia)Estado do cache (habilitado/desabilitado)
Dependentes (o que se mede)Tempo de resposta do dashboard (ms)
Controladas (o que fica fixo)Hardware do servidor; Versão do Superset; Versão do Redis; Dataset utilizado; Dashboard selecionado; Rede (em uma rede de fibra dedicada como a da Upnetix); Carga de trabalho (número de requisições simultâneas)

Ambiente

Servidor Linux com Apache Superset instalado via Docker, Redis configurado como backend de cache, dataset de teste carregado no PostgreSQL, ferramenta k6 para simular requisições HTTP concorrentes.

Procedimento

  1. Preparar ambiente

    Instale Superset e Redis via Docker Compose, configure conexão entre eles conforme documentação oficial.

    consulte a documentação em https://superset.apache.org/docs/installation/installing-superset-using-docker-compose
  2. Carregar dataset

    Importe um dataset de exemplo no PostgreSQL e registre no Superset.

    consulte a documentação em https://superset.apache.org/docs/databases/
  3. Criar dashboard

    Monte um dashboard com pelo menos 3 charts baseados no dataset.

  4. Configurar cache

    Altere o arquivo superset_config.py para ativar/desativar o cache Redis.

    consulte a documentação em https://superset.apache.org/docs/installation/cache
  5. Executar testes sem cache

    Desative o cache, reinicie o Superset, execute o teste de carga com k6 simulando 10 usuários acessando o dashboard por 1 minuto.

    k6 run --vus 10 --duration 1m script.js
  6. Executar testes com cache

    Ative o cache, reinicie o Superset, repita o teste de carga com k6 nas mesmas condições.

    k6 run --vus 10 --duration 1m script.js
  7. Coletar resultados

    Registre o tempo de resposta de cada requisição em ambos os cenários.

Planilha de coleta

cenario (cache_on/cache_off)repeticao (1-5)tempo_resposta_ms (milissegundos)
cache_on, 2, 350 (EXEMPLO)

Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.

Análise

Calcule a média, mediana e percentil 95 dos tempos de resposta para cada cenário. Compare os valores entre cache ativado e desativado. Se a diferença for consistente, interprete como efeito do cache.

Critérios de decisão

  • Tempo médio de resposta com cache deve ser menor que sem cache para confirmar a hipótese.
  • Diferença deve ser maior que a variação natural do ambiente (desvio padrão).

Fontes de erro e mitigação

  • Variação de rede pode afetar resultados: execute testes em horários de baixa utilização.
  • Cache pode não ser utilizado se queries mudarem: use sempre as mesmas queries.
  • Resultados podem variar com o tamanho do dataset: mantenha dataset fixo.

Referências

  1. fonte oficial · Apache Software Foundation (Superset) (superset.apache.org)
  2. fonte oficial · Redis (redis.io)