¿Cuáles son las posibles razones por las que una aplicación Java se ejecuta lenta en determinadas máquinas?

¿Cuáles son las posibles razones por las que una aplicación Java se ejecuta lenta en determinadas máquinas?

Tengo una aplicación Java que parece funcionar más lentamente en una máquina más potente que ejecuta el mismo sistema operativo (Windows 7) y la misma versión de Java. Al funcionar lento, quiero decir que siempre hay un retraso en el tiempo de respuesta, cuando, por ejemplo, intentas cambiar de pestaña o presionar un botón.

¿Por qué podría ser este el caso?

Respuesta1

Esto puede tener un problema con la arquitectura de su aplicación Java. Puede deberse a la carga de subprocesos e instancias innecesarias y a una gran cantidad de lógica mal utilizada (verificación de condiciones y bucles). ¿Comprueba más que JVM tenga suficiente asignación de memoria? De lo contrario, puede utilizar una API obsoleta.

Esto puede ayudarte

Las pruebas de Elasticsearch utilizan una API obsoleta cuando son muy lentas · Problemas · GitHub

Respuesta2

Puede suceder que su sistema esté funcionando bien; sin embargo, un servicio, un conjunto de servicios al que llama mientras procesa un evento como clic en un botón, cambio de pestaña, etc., puede estar tomando tiempo.
Nos enfrentamos al mismo tipo de escenario, en el que inicialmente parecía que la aplicación se estaba ejecutando lentamente debido a que varios subprocesos se activaban al mismo tiempo o a demasiado registro. Sin embargo, al realizar más análisis descubrimos que cuando una tarea del motor de proceso enviaba un correo electrónico de forma sincrónica, llevaba mucho tiempo y, a veces, incluso no lograba enviar el correo. Sucedió que otros equipos también observaron lentitud en el envío de correos electrónicos. Esto ocurría debido a algún problema en el servidor SMTP. Una vez resuelto el problema en el servidor SMTP, la lentitud desapareció.
Optimizamos aún más al hacer que el proceso de envío de correo electrónico sea asincrónico.

información relacionada