Réglage de Tomcat de la mémoire et de la consommation cpu
J'ai une application web Java qui fonctionne beaucoup avec le fichier des conventions.
J'utilise Tomcat 6 comme mon conteneur de servlet. Lorsque plusieurs demandes sont présentées, Tomcat devient très gourmands en mémoire. Je me demande comment je peux affiner tomcat afin de réduire la consommation de mémoire.
J'envisage également de changer mon conteneur de servlet.
Que proposez-vous?
- Qu'entendez-vous par "travail beaucoup avec le fichier des conventions"?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez limiter la accepté opérationnels et les numéros de connexion dans le
conf/server.xml
de configuration.Ont
et
ou
dans le fichier de config et cela devrait frein à vous.
Edit: Basé sur votre commentaire vous pouvez déplacer la transformation dans le thread dédié piscine de taille en fonction de votre CPU count (
Runtime.getRuntime().availableProcessors()
) (voir ExecutorService et Les exécuteurs.) Ensuite, vous pouvez appliquer un délimitée LinkedBlockingQueue de limiter le nombre de tâches en attente (n'oubliez pas de spécifier un RejectedExecutionHandler de faire le blocage et l'ajouter à la file d'attente est pleine).Edit 2: Ajouté des liens vers les classes. Vous y trouverez quelques échantillons.
Edit 3: Un exemple de la méthode que j'ai utilisé dans un projet.
Et vous pouvez l'utiliser de cette façon:
Et dans votre servlet