Bonjour,
Y a t-il moyen pour que Tomcat ne crée pas automatiquement une session ?
Il y a possibilité dans la servlet de faire un "invalidate" () mais je voudrais le faire au niveau de la configuration
Merci d'avance pour les réponses
JLZ
Bonjour,
Y a t-il moyen pour que Tomcat ne crée pas automatiquement une session ?
Il y a possibilité dans la servlet de faire un "invalidate" () mais je voudrais le faire au niveau de la configuration
Merci d'avance pour les réponses
JLZ
Ca me parait difficile à faire vu que la gestion des sessions est une obligation de la spec.
2 solutions à mon avis :
- Mettre <%@ page session="false"> pour chacune de tes JSPs
- Reduire le temps de session à 1 minute dans ton web.xml
Par curiosité, pourquoi est-ce que tu veux empêcher Tomcat de créer des sessions? Si c'est pour la perf je ne crois pas que tu gagneras grand chose.
En effet, c'est indirectement pour une question de performances, je m'explique:
nous avons à faire à une application (parmi d'autres) qui n'a pas besoin de sessions or il y a environ 40000 connexions en pic de charge ce qui implique autant de ressources (inutiles) créées au niveau du serveur.
Merci
Les sessions doivent avoir un impact vraiment mineur en termes de perf, je ne suis pas certain que ce soit là qu'il faille chercher à gagner quelque chose.
Il y a pas mal de guides pour optimiser Tomcat, par exemple voici une présentation qui propose les principaux points intéressants :
http://us.apachecon.com/us2007/downl...g_20071015.ppt
Bonne lecture!
Merci pour le document
Je voulais juste te signaler que ton idée de passage de time-out (web.xml) à 1 minute est bonne; nous l'avions déjà adoptée (5 minutes au lieu de 1) et cela avait grandement joué sur les performances --> c'est ce qui nous a amené à creuser un peu plus de ce côté là, c'est à dire la suppression pure et simple de la session voire sa non-création, d'où ma question
A+
JLZ
Merci pour ta réponse : cela m'intéresse de savoir que cela peut impacter les performances, je ne m'y attendais pas du tout. Si tu peux donner plus d'infos...
Dans ce cas, est-ce que tu as utilisé mon autre solution (dans les JSPs), et as-tu vu une amélioration?
Sinon, l'autre solution serait de patcher cette partie de Tomcat - ce n'est pas forcément si difficile à faire que ça en a l'air. J'ai déjà entendu parler de gens qui l'avaient patché pour remplacer le nom "jessionid" pour des raisons de sécurité (comme ça on ne sait pas que vous êtes sur un serveur JEE).
J'ai trouvé une page intéressante de ce point de vue dans la doc Tomcat : http://tomcat.apache.org/tomcat-6.0-...g/manager.html
Il est possible de redéfinir le "manager" qui s'occupe de gérer les sessions, et donc de les créer. Par contre c'est assez peu documenté, il faut creuser un peu le sujet, car quand je regarde l'implémentation par défaut (http://tomcat.apache.org/tomcat-6.0-...rdManager.html il y a un héritage, et un beau paquet d'interfaces implémentées.
Mais comme julien, je suis assez curieux des résultats. Au final, il y a quoi ? Créer quelques objets temporaires, les affecter à la request en cours et les purger ensuite. C'est à mettre en regard du coût des IO vers une base de données par exemple. Mon sentiment (et je le partage) c'est que ça n'aura aucun impact notable. Si tu as un problème de perf, il faut ajouter des sondes avec un bon debugger, et chercher les gros consommateurs puis les optimiser. Là, il me semble que c'est une piste non vérifiée, mais je peux me tromper![]()
Partager