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.

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
- 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 - Carregar dataset
Importe um dataset de exemplo no PostgreSQL e registre no Superset.
consulte a documentação em https://superset.apache.org/docs/databases/ - Criar dashboard
Monte um dashboard com pelo menos 3 charts baseados no dataset.
- 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 - 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 - 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 - 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
- fonte oficial · Apache Software Foundation (Superset) (superset.apache.org)
- fonte oficial · Redis (redis.io)
