Pular para o conteúdo

Serviço

Performance e escalabilidade de aplicações

Antes de comprar mais servidor, vale descobrir onde os milissegundos estão indo.

Isto é para você se

Algum destes cenários soa familiar

  • O sistema ficou lento conforme a base de dados cresceu e ninguém sabe apontar a causa

  • A conta de infraestrutura subiu, mas o número de usuários não subiu na mesma proporção

  • Em horário de pico o sistema trava, e a solução tem sido reiniciar o serviço

  • Relatórios demoram minutos e travam o resto da aplicação enquanto rodam

  • O site tem SEO ruim porque as Core Web Vitals estão no vermelho

O que está incluso

Entregáveis, não promessas

Cada item abaixo faz parte do escopo padrão. O que estiver fora fica declarado por escrito na proposta.

  • Diagnóstico com profiling real

    Medimos onde o tempo é gasto de verdade, em ambiente com dados de produção. Otimizar por palpite costuma acelerar o que já era rápido.

  • Otimização de banco de dados

    Análise de plano de execução, índices ausentes ou inúteis, consultas N+1, normalização inadequada e uso de leitura em réplica.

  • Estratégia de cache em camadas

    Cache de aplicação com Redis, cache de consulta, cache de resposta HTTP e invalidação que não deixa dado velho circulando.

  • Processamento assíncrono

    Migração para filas do que não precisa acontecer durante a requisição — e-mail, relatório, integração, geração de arquivo.

  • Core Web Vitals e frontend

    LCP, INP e CLS dentro da faixa boa. Imagens em formato moderno, CSS crítico, JavaScript reduzido e fontes que não bloqueiam o render.

  • Monitoramento e alerta

    APM configurado, métricas de p95 e p99 visíveis e alerta antes do usuário perceber. Performance sem medição volta a degradar em seis meses.

Tecnologias aplicadas

  • Xdebug / Blackfire
  • EXPLAIN e query plan
  • Redis
  • Filas e workers
  • OPcache
  • CDN
  • Core Web Vitals
  • Lighthouse
  • MySQL / PostgreSQL tuning

Como funciona

O caminho do primeiro contato até a produção

  1. Medir

    Profiling da aplicação sob carga real e coleta de métricas de banco, servidor e navegador. Sem medição, otimização é chute com custo.

  2. Priorizar por impacto

    Ordenamos as correções por ganho sobre esforço. Costuma haver duas ou três mudanças que respondem pela maior parte do resultado.

  3. Corrigir e comprovar

    Cada otimização é medida antes e depois, com número. Você recebe o comparativo, não a afirmação de que ficou mais rápido.

  4. Instrumentar para não regredir

    Monitoramento contínuo e orçamento de performance no CI, para que a próxima feature não desfaça o ganho.

Lentidão quase nunca está onde parece

A intuição do time costuma apontar para o lugar errado. Depois de investigar dezenas de aplicações lentas, o padrão é consistente: duas ou três causas respondem por quase todo o problema, e raramente são as que estavam sendo discutidas.

As mais comuns:

1. N+1 no ORM

A tela lista 50 pedidos. Para cada pedido, o template acessa $pedido->cliente->nome. São 51 consultas em vez de 2. Em desenvolvimento, com 10 registros de teste, ninguém percebe. Em produção, com 50 itens por página e 200 usuários simultâneos, o banco vira o gargalo.

2. Índice ausente na coluna de filtro

A consulta filtra por status e ordena por created_at, e nenhuma das duas tem índice. Com 5 mil linhas o banco varre a tabela inteira em milissegundos. Com 5 milhões, a mesma consulta leva 8 segundos — e segura uma conexão do pool enquanto isso.

3. Trabalho síncrono que não precisa ser síncrono

Ao finalizar um pedido, a requisição envia e-mail, gera PDF, chama a API do ERP e grava log de auditoria. O usuário espera por tudo. Se o ERP estiver lento, ele espera pelo ERP. Nada disso precisa acontecer antes da resposta.

4. Ausência de cache onde o dado quase não muda

Toda requisição recalcula a mesma lista de categorias, o mesmo menu de permissões, a mesma tabela de configuração. Dados que mudam uma vez por semana sendo lidos do banco milhares de vezes por hora.

Por que medir antes é inegociável

Otimizar sem medir tem duas consequências previsíveis: você gasta esforço no lugar errado, e não consegue provar o resultado.

Nosso diagnóstico usa profiling em ambiente com dados de produção e responde com número:

  • Quais rotas concentram o tempo total de processamento
  • Quais consultas SQL somam mais tempo por requisição — e quantas vezes rodam
  • Qual o p95 e o p99 de resposta, e não só a média (a média esconde exatamente o cliente insatisfeito)
  • Onde está o tempo do lado do navegador: rede, render, script ou fonte

Performance também é redução de custo

Uma aplicação que responde em 200 ms em vez de 2 s não fica só mais agradável. Ela atende dez vezes mais requisições com a mesma máquina.

É comum um projeto de otimização se pagar sozinho na conta de infraestrutura do mesmo ano — antes de contabilizar o efeito na conversão e na retenção do cliente.

Dúvidas frequentes

Sobre performance

Se ficou alguma dúvida, mande a pergunta — respondemos mesmo quando a resposta não nos favorece.

  • Vocês conseguem dizer quanto vai melhorar antes de começar?

    Só depois do diagnóstico, e é assim que deve ser. Prometer percentual antes de medir é venda, não engenharia. O diagnóstico é curto — de 3 a 10 dias — e já entrega a lista priorizada com ganho estimado por item.

  • Meu problema é o servidor. Não basta contratar uma máquina maior?

    Às vezes basta, e falamos isso quando for o caso. Mas na maioria dos sistemas que analisamos, o gargalo é consulta sem índice ou N+1 no ORM — e nesses casos dobrar o servidor compra alguns meses por um custo recorrente, sem resolver a causa.

  • Performance de site afeta SEO mesmo?

    Sim. As Core Web Vitals são sinal de ranqueamento do Google, e o efeito na conversão costuma ser ainda maior que o efeito no ranking. Cada segundo a mais de carregamento derruba conversão de forma consistente em praticamente todo estudo público sobre o tema.

  • Precisa parar o sistema para otimizar?

    Raramente. A maior parte das otimizações — índice, cache, fila, consulta — entra sem downtime. Quando uma migração pesada de banco for necessária, ela é planejada para janela de baixo uso.

  • Quanto tempo leva?

    O diagnóstico leva de 3 a 10 dias. A implementação das correções de maior impacto costuma levar de 2 a 6 semanas, dependendo de quanto está acoplado.

Precisa de performance?

Conte o problema em duas linhas. Respondemos em até 1 dia útil com uma leitura técnica honesta — inclusive se a resposta for que você não precisa deste serviço.

  • Resposta em até 1 dia útil
  • Sem compromisso
  • NDA se você precisar