Closed felipemarkson closed 8 months ago
Mmm, eu acho que vc tá certo... talvez eu tenha errado o aninhamento dos andThen
... Vou dar uma conferida depois. Valeu!
Dei uma olhada aqui e tá certo mesmo. O próximo cenário (seguido de andThen
) não começa antes de todos os anteriores terminarem. Ufa, não vou ter que testar tudo de novo kkkk
Vishe, eu to com algum problema então. Porque tá dando problema exatamente nesse cenário. quando eu coloco o andThen
volta a funcionar.
Acho que um teste possível seria colocar um "sleep" asincrono (se tiver usando aync) nas requisições de transferência.
Isso só acontece se o serviço for async ou paralelizado e muitas conexões no DB. Tem que dar tempo para iniciar o teste de criterioClienteNaoEcontrado
@zanfranceschi
Oi, eu consegui criar um exemple minino que reproduz esse problema:
https://github.com/felipemarkson/rinhatest
É em JavaScript, mas acho que qualquer linguagem com async é possível reproduzir.
Pode abrir de novo essa issue?
@zanfranceschi
Nas seguintes linhas:
https://github.com/zanfranceschi/rinha-de-backend-2024-q1/blob/80933286f8b7ba7a2007775d94ff68a2ddbdd393/load-test/user-files/simulations/rinhabackend/RinhaBackendCrebitosSimulation.scala#L300-L310
O teste
criteriosClientes
acontece em paralelo comcriterioClienteNaoEcontrado
.Se o resultado de
criterioClienteNaoEcontrado
retornar antes da finalização decriteriosClientes
, o teste de perfomance irá inicializar, causando falsos negativos no testecriteriosClientes
, pois quando se faz o request do extrato, requisições do teste perfomance já podem ter sido iniciadas.A solução seria adicionar um
andThen
para que o test de perfomance se inicie apenas após o teste,criteriosClientes
.Podem confirmar se eu entendi certo? Não tenho experiência com Gatling :(