Question

J'ai appris récemment sur les scénarios qui nécessitent une application réchauffant (avec exigence à haut débit) avant de commencer à servir les demandes réelles. La logique sous-jacente était de permettre JIT de faire sa magie de la performance!

Est-ce une norme pour les applications Java ou est-ce fait généralement pour la mémoire (lourds) empreinte des applications?

Était-ce utile?

La solution

Si vous parlez d'un webapp / site à fort trafic alors JIT est un problème très mineur. Le plus gros problème est en train de chauffer (peuplement) toutes les couches de cache, vous aurez besoin d'avoir. Par exemple, les régions EHCache qui sont peuplées de mise en veille prolongée . En effet, les opérations liées IO sont des ordres de grandeur plus lent que tout ce qui se passe à l'intérieur du CPU (qui est à moins que vous calculez Fractales:)

Autres conseils

La question est, quand voudriez-vous sortir de votre chemin pour le faire?

Si vous lancez une webapp, et il est immédiatement vivre, alors pendant que vous êtes « réchauffement », vous ajoutez une charge supplémentaire, ce qui est contre-productif. Similaire est vrai quand une application de bureau commence. Aucun point de réchauffement si l'utilisateur va commencer à utiliser immédiatement. Ou pire, ne permettant pas l'utilisateur d'interagir pendant que vous réchauffant l'application.

Si vous lancez une webapp, et tester le déploiement avant de pointer votre équilibreurs de charge à elle, alors vous avez déjà échauffé comme conséquence de côté.

scroll top