J'ai une application web Java, qui s'exécute à partir d'un JAR, démarre avec Tomcat et utilise Spring Boot.
Le problème est qu'il fonctionne très lentement lorsqu'il est exécuté dans un invité virtuel KVM. La même application avec le même JDK ( Java(TM) SE Runtime Environment (build 1.8.0_72-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode
) démarre en 8 secondes sur bare metal, mais en 40 secondes dans un système virtualisé. Les deux systèmes d'exploitation sont Ubuntu 15.10 (noyau 4.2.0-27-generic). Et ce n'est pas seulement un problème de démarrage, l'application répond très paresseusement à chaque requête HTTP.
J'ai essayé de modifier les paramètres Java concernant SecureRandom, mais rien n'a changé.
-Djava.security.egd=file:///dev/urandom
SecureRandom et l'entropie aléatoire dans les hôtes virtuels : https://security.stackexchange.com/questions/14386/what-do-i-need-to-configure-to-make-sure-my-software-uses-dev-urandom
https://stackoverflow.com/questions/137212/how-to-solve-performance-problem-with-java-securerandom
Mais cela ne m'a pas aidé. Avez-vous d'autres recommandations à faire ? Je vous remercie.
Mon hôte virtuel est un nouveau serveur avec beaucoup de RAM, des disques SSD donc je suis sûr qu'il n'y a pas de problème matériel. J'utilise également d'autres invités virtuels KVM et je n'ai aucun problème. Seulement avec une application Java lente.