Replies: 5 comments
-
Boa tarde amigo, tudo bem? |
Beta Was this translation helpful? Give feedback.
-
Olá boa tarde! Não são utilizadas variáveis globais. Tomei esse cuidado! Outro detalhe, para cada requisição é criada uma conexão e ela é destruída assim que o processo termina, ou seja, retornando o JSON com o resultado. Com isso, não acredito que existam varias globais e nem conexões abertas sendo utilizadas por várias requisições ou entulhando a memória. Por outro lado, por que esse é um teste meio fútil? Veja, esse teste só veio a confirmar um problema que estamos tendo no consumo da nossa API por uma empresa de terceiros. Lá, eles estão com este sintoma e me informaram para eu corrigir. Fazendo no Postman, isso se mostrou verdadeiro. E olha que lá nesta empresa, eles testaram apenas a consulta de 3 produtos diferentes simultaneamente. |
Beta Was this translation helpful? Give feedback.
-
Você consegue simplificar esse projeto e mandar um exemplo do cenário acontecendo que eu consiga rodar aqui? |
Beta Was this translation helpful? Give feedback.
-
Olá bom dia! Meu cérebro aqui está "bugando"!!! Veja só: Lá no ambiente de produção, a API que está rodando foi compilada em RELEASE. Aqui no ambiente de desenvolvimento, fazemos os teste compilado em DEBUG. Já tínhamos percebido que em ambiente de desenvolvimento o mesmo problema não ocorre, contudo, recorri à essa comunidade para saber se alguém já tinha passado por esse problema, pois, imaginei que poderia ser algum detalhe que eu precisava ajustar para rodar em produção num ambiente remoto. Pois bem, sem pensar, fizemos um teste local, só que com a API compilada em RELEASE e o problema aconteceu aqui localmente. Foi ai que meu cérebro "bugou". Voltamos a testar em ambiente local com a API compilada em DEBUG e..... ZERO PROBLEMAS.... Subimos essa API compilada em DEBUG lá para o servidor remoto e rodamos o teste em massa e fui tudo 100% correto. Aumentamos os testes para 10 mil requisições em cada Postman, totalizando 20 mil requisições simultâneas, com tempo de resposta excelente e fizemos uma verificação no console do Postman e tudo o que verificamos estava perfeito. Estamos desde as 6h da manhã de hoje batendo cabeça nisso, olhando mil coisas e o problema está quando compila em RELEASE. Agora pouco nosso cliente testou e tudo está rodando perfeitamente. "Mano do céu", o problema está na compilação RELEASE. Você já viu algo parecido com isso? Obrigado. |
Beta Was this translation helpful? Give feedback.
-
Amigo, só analisando sua arquitetura e como está aplicando... |
Beta Was this translation helpful? Give feedback.
-
Fiz um teste em "massa" através do Postman (Runner) abrindo 2 instancias do Postman ao mesmo tempo e disparando 100 requisições de cada instância do Postman, totalizando 200 disparos simultâneos.
Cada disparo de requisição acessa a mesma rota e envia um POST e no Boddy da requisição minha API pega um PARSE específico que corresponde ao código do produto a ser consultado, porém, cada instância do Postman vai consultar um produto diferente.
Quando isso é feito, ou seja, enviar requisição em massa conforme descrito acima, a API deixa de receber algumas requisições ou envia o retorno de uma requisição para outra, ou seja, uma consultou o código X e a outra consultou o código Y e a API não respondeu uma requisição e a outra resposta foi do produto invertido.
Vira uma bagunça!
Se esse teste em massa for feito disparado por apenas 1 instância do Postman, tudo vai bem.
A ideia desses disparos é verificar se a API está retornando corretamente cada requisição para cada usuário. O problema é que não está!
O que devo fazer no Horse para que ele receba várias requisições simultâneas e responda corretamente para cada requisição?
Obrigado.
Beta Was this translation helpful? Give feedback.
All reactions