Réglages Tomcat
- Allouer plus de mémoire à Tomcat
- Changer les ports réseau Tomcat
- Changer la durée de vie des sessions inactives (timeout)
- Changer le nombre maximum de requêtes simultanées
- Activer la compression HTTP
Allouer plus de mémoire à Tomcat
Sous Linux
- Éditez le fichier suivant :
- Remplacez la variable JAVA_OPTS existante par :
- Changez le paramètre 6G en fonction de la capacité de la machine en laissant au minimum 2G pour l'OS.
Dans l'exemple ci-dessus, la machine dispose de 8G de RAM.
Sous Windows
- Allez dans le répertoire d’installation de Tomcat9 puis dans le répertoire bin et lancez tomcat9w.exe.
- Ouvrez l’onglet Java et modifiez les champs Initial memory pool (Xms) et Maximum memory pool (Xmx) en MB. Dans cet exemple, 3000 MB. Renseignez la même valeur dans les deux champs.
Changer les ports réseau Tomcat
Fichier modifié : server.xml
Si un des ports nécessaires à Tomcat est déjà utilisé par un autre processus, alors il ne se lancera pas. Il est nécessaire de vérifier la disponibilité des ports et si besoin de reconfigurer Tomcat. Par défaut les 3 ports suivants sont configurés : 8005, 8080 et 8009. Pour les modifier :
- Ouvrez le répertoire d’installation de Tomcat9 puis éditer le fichier server.xml
- Chercher et remplacer les valeurs des ports 8005, 8080 et 8009 par des numéros de port disponibles sur le système
Changer la durée de vie des sessions inactives (timeout)
Fichier modifié : web.xml (répertoire d’installation de Tomcat9)
Trouvez les lignes suivantes dans le fichier :
<session-timeout>30</session-timeout>
</session-config>
Changez la valeur pour modifier la durée de vie en minutes d'une session inactive (timeout). Par défaut le timeout est de 30 minutes.
Changer le nombre maximum de requêtes simultanées
Fichier modifié : server.xml
Par défaut Tomcat n’acceptera pas plus de 200 requêtes simultanées. Ce paramétrage peut se révéler limitant dans le cas d’un déploiement à un grand nombre d’utilisateurs (plusieurs milliers ou millions), ou lors d’un bench de performance (ex. jmeter) qui exécute des centaines ou des milliers de requêtes simultanées.
Pour augmenter cette limite, il faut ajouter un attribut maxthreads dans l’élément Connector correspondant au connecteur utilisé.
Exemple lorsque le connecteur utilisé est http (il n’y a pas d’Apache en front-end) :
Exemple lorsque le connecteur utilisé est AJP (il y a un Apache en front-end) :
Activer la compression HTTP
Fichier modifié : server.xml
La compression HTTP permet de diminuer la consommation de la bande passante du réseau en compressant les réponses HTTP. Par défaut cette option n’est pas activée dans Tomcat, même si tous les navigateurs modernes la supportent.
Cette option permet d’économiser parfois jusqu’à 90 % la bande passante sur certains types de fichiers : HTML, Javascript, CSS. En consommant peu de CPU sur le serveur et le client.
Dans le fichier server.xml ajoutez les attributs compression="on" et compressionMinSize="40000" sur le connecteur HTTP/1.1:
Exemple :
L’attribut compressionMinSize définit une taille minimale de réponse (en octets) au dessous de laquelle la compression n’est pas utilisée. Il est conseillé de spécifier cet attribut à une valeur suffisante pour ne pas compresser des fichiers déjà très petits (icônes PNG…).