Executando verificação de segurança...
1

O que fariam diferente pra aguentar o tranco de centenas de requisições simultâneas sem afundar tudo?

Sinceramente essa quantidade de dados não é "tranco". Alguma implementação está muito errada.

Alguns passos que podem ajudar:

Querys N + 1

Esse aqui é certamente o MAIOR pesadelo de todo desenvolvedor.

function calcOrderPrice(order: Order) {
    let price = 0
    for(item in order.items) {
        price += **item.product.price**
    }
}

Nesse código cada product vai ser carregado dentro do for. Se o carrinho tiver 50 itens, serão mais de 50 querys no DB.

Profiler

Todo código em produção deveria ter uma ferramenta de instrumentação para dizer exatamente onde está o gargalo. Quais são os métodos que consomem mais recursos ou demoram mais para executar? o que eles tem em comum? Quantas chamadas E/S cada método tem? Qual é o recurso que está gargalando? é DB? é a instância da aplicação?

Disclaimer

Se você já é macaco velho, pleno/sênior da vida, me conta

Você é iniciante e está sozinho no projeto? Se sim, você trabalha para uma empresa? não há alguém mais experiente na sua empresa que você possa pedir ajuda?

Carregando publicação patrocinada...
1

Fala Pilati, então mano ontem passei o dia isolando a aplicação, já tinha +/- ideia de onde era o problema, a tabela CEP alocava todos os dados de endereços, 450K registros que a cada consulta fazia um 'contains' + 'insensitive' e retornava um 'take 10', coloquei index na tabela para ajudar na consulta e fiz SQL Puro no queryRaw do prisma, ajudou de forma considerável.

Sobre o projeto eu estou migrando ele de uma LANG para outra, e o schema foi me passado sem revisão vou ter que alterar muita coisa nela.

Aliás eu acredito que o strees test foi um grande colaborador para essa dor de cabeça, ele fazia todas consultas simultaneamente sem delay ou espera, era 20 Usuários ou mais enviando req diferentes para o mesmo endpoint.