Upnetix Labs · protocolo de experimento
Protocolo: Qual o impacto do número de usuários simultâneos na latência das consultas do Metabase?
Este protocolo avalia como a latência média das consultas no Metabase varia conforme o número de usuários simultâneos. A pessoa vai medir o tempo de resposta de dashboards sob diferentes cargas simuladas.

Como a latência média das consultas do Metabase se comporta ao variar o número de usuários simultâneos?
Hipótese
A latência média das consultas do Metabase aumenta conforme cresce o número de usuários simultâneos acessando dashboards.
Variáveis
| Independentes (o que varia) | número de usuários simultâneos simulados (ex: 5, 10, 20, 50, 100) |
|---|---|
| Dependentes (o que se mede) | latência média de resposta das consultas (ms) |
| Controladas (o que fica fixo) | hardware do servidor Metabase; versão do Metabase; conjunto de dados consultado; configuração do banco de dados (ex: PostgreSQL); rede (sem outras cargas); dashboard consultado |
Ambiente
Servidor Metabase em ambiente isolado, conectado a banco PostgreSQL com dados de teste. Ferramenta k6 (https://k6.io/) para simular carga HTTP nas APIs do Metabase. Medição feita em endpoints de dashboards públicos.
Procedimento
- Preparar ambiente
Instale Metabase (edição open source) e PostgreSQL em máquinas dedicadas. Carregue um dataset padrão no banco.
- Configurar dashboard
Crie um dashboard público simples no Metabase, com pelo menos 3 perguntas SQL.
- Instalar k6
Instale o k6 na máquina de teste.
consulte a documentação em https://k6.io/docs/getting-started/installation/ - Criar script de carga
Escreva um script k6 para simular acessos HTTP GET ao endpoint do dashboard público.
- Executar testes
Para cada valor de usuários simultâneos (ex: 5, 10, 20, 50, 100), execute o teste por 3 minutos, 5 vezes cada.
k6 run --vus <N> --duration 3m script.js - Registrar resultados
Anote a latência média de resposta (ms) de cada execução.
Planilha de coleta
| usuarios_simultaneos (usuarios) | latencia_media_ms (ms) | execucao (índice) |
|---|---|---|
| EXEMPLO: 20, 350, 3 | ||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média, mediana e percentil 95 das latências para cada nível de usuários simultâneos. Compare os resultados para identificar o ponto de degradação acentuada. Interprete se a latência permanece aceitável conforme a carga aumenta.
Critérios de decisão
- Latência média deve permanecer abaixo de 500 ms até o limite de usuários esperado
- Curva de latência não deve apresentar crescimento exponencial antes do limite de capacidade do hardware
Fontes de erro e mitigação
- Variação de rede: use rede local dedicada
- Carga de fundo no servidor: execute apenas o Metabase e o banco
- Cache do Metabase: limpe cache entre execuções ou descarte primeira execução
- Dados do dashboard: mantenha o mesmo dashboard e dataset em todos os testes
Referências
- PostgreSQL documentação oficial · PostgreSQL Global Development Group (postgresql.org)
