Upnetix Labs · protocolo de experimento
Protocolo: Qual o tempo médio de resposta da API REST do EspoCRM sob carga simulada?
Este protocolo avalia o tempo de resposta da API REST do EspoCRM durante operações de leitura sob carga concorrente. O objetivo é medir a latência média e máxima para diferentes níveis de usuários simultâneos.

Qual o tempo de resposta da API REST do EspoCRM ao realizar consultas de entidades sob diferentes níveis de carga concorrente?
Hipótese
A latência média da API REST do EspoCRM permanece abaixo de 500 ms até 20 usuários concorrentes em hardware de referência.
Variáveis
| Independentes (o que varia) | número de usuários concorrentes (threads de teste) |
|---|---|
| Dependentes (o que se mede) | tempo médio de resposta (ms); tempo máximo de resposta (ms); taxa de erro (%) |
| Controladas (o que fica fixo) | versão do EspoCRM; versão do PHP; versão do MariaDB; hardware do servidor; conjunto de dados (número de entidades); endpoint consultado; rede local |
Ambiente
Servidor EspoCRM instalado em ambiente Linux, PHP e MariaDB em versões suportadas oficialmente, rede local dedicada (ex: fibra dedicada como a da Upnetix), ferramenta de teste k6 (https://github.com/grafana/k6) para simulação de carga, base de dados com pelo menos 10.000 registros de entidade 'Contact'.
Procedimento
- Preparar base de dados
Popular a entidade 'Contact' com pelo menos 10.000 registros usando script ou importação nativa do EspoCRM.
- Configurar cenário de teste
Criar script k6 para autenticar e executar requisições GET no endpoint /api/v1/Contact.
- Executar teste para cada nível de concorrência
Rodar o k6 variando o número de usuários virtuais (ex: 1, 5, 10, 20, 50).
k6 run --vus <N> --duration 1m script.js - Registrar resultados
Ao final de cada execução, coletar métricas de tempo médio, máximo e taxa de erro.
- Repetir cada teste
Executar 5 vezes cada nível de concorrência para obter média e dispersão.
Planilha de coleta
| usuarios_concorrentes (número) | tempo_medio_resposta_ms (milissegundos) | tempo_maximo_resposta_ms (milissegundos) | taxa_erro_percentual (%) |
|---|---|---|---|
| EXEMPLO: 10, 320, 1200, 0.5 | |||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média, mediana e desvio padrão dos tempos de resposta para cada nível de concorrência. Compare os resultados com o critério de latência aceitável. Analise a taxa de erro para identificar gargalos.
Critérios de decisão
- Tempo médio de resposta deve permanecer abaixo de 500 ms até 20 usuários concorrentes.
- Taxa de erro deve ser inferior a 1% em todos os testes.
Fontes de erro e mitigação
- Variações de rede local: use rede dedicada.
- Processos em background no servidor: minimize serviços não essenciais.
- Cache do PHP ou banco: limpe entre execuções ou execute testes de aquecimento.
- Variação de dados: mantenha o mesmo dataset para todos os testes.
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 0 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
