Quais são os possíveis motivos para um aplicativo Java rodar lentamente em determinadas máquinas?

Quais são os possíveis motivos para um aplicativo Java rodar lentamente em determinadas máquinas?

Eu tenho um aplicativo Java que parece rodar mais lentamente em uma máquina mais poderosa executando o mesmo sistema operacional (Windows 7) e a mesma versão Java. Por correr devagar, quero dizer que sempre há um atraso no tempo de resposta, quando, por exemplo, você tenta alternar entre guias ou pressionar um botão.

Por que isso pode ser o caso?

Responder1

Isso pode ser um problema na arquitetura do seu aplicativo Java. Pode ser com threads desnecessários e carregamento de instâncias e muita lógica mal utilizada (verificação de condições e looping). Verifique ainda mais se a JVM tem alocação de memória suficiente? Caso contrário, você poderá usar uma API obsoleta.

Isso pode ser útil para você

Os testes do Elasticsearch usam API obsoleta quando são muito lentos · Problemas · GitHub

Responder2

Pode acontecer que seu sistema esteja funcionando bem, no entanto, um serviço, conjunto de serviços que ele está chamando durante o processamento de um evento como clique de botão, alternância de guias, etc., pode estar demorando.
Enfrentamos o mesmo tipo de cenário, em que inicialmente parecia que o aplicativo estava lento devido a vários threads sendo iniciados ao mesmo tempo ou a muitos registros. No entanto, ao fazer mais análises, descobrimos que quando uma tarefa do mecanismo de processo enviava um e-mail de forma síncrona, demorava muito, às vezes até falhando no envio do e-mail. Aconteceu que outras equipes também observaram lentidão no envio de mails. Isso estava ocorrendo devido a algum problema no servidor SMTP. Com o problema sendo resolvido no final do servidor SMTP a lentidão desapareceu.
Otimizamos ainda mais tornando o processo de envio de e-mail assíncrono.

informação relacionada