Session public toutes les secondes

Bonjour,

J’ai une instance en 4.0 patch level P23 (database patch level P23) hébergé au sein d’un SI client
On a remarqué la multiplication de sessions du user public
Création d’une session public toutes les secondes voir 6 sessions par seconde ?

Est-ce lié à la P23 ? ou a des robots ? Comment puis je investiguer ce problème ?

Cordialement,

Il faudrait regarder les requetes HTTP GET qui arrivent dans tomcat (le fichier access_log de tomcat/logs).

A mon avis, il y a un accès sans JSESSIONID à une ressource ou une image… qui recrée une session à chaque appel. Ca peut être :

  • un composant de le page d’accueil du site ou une page souvent accédée avec une URL sans JSESSIONID ou token dans le header/get… pour permettre au back de réutiliser une session existante
  • ou un health check de monitoring à distance
  • appel de Webservice sans cookie de session…

Ces sessions sont détruites périodiquement si le timeout de session n’a pas été inhibé, mais ça prend de la mémoire pour rien. Il faudrait vérifier la courbe du heap size dans le monitoring pour voir si le pb est mineur ou sature la mémoire.

Pour tester la première cause, ça peut se regarder en local avec le debugger du navigateur / réseau.
pour regarder si le cookie de session est bien dans chaque appel.

Merci, je viens de trouver ça dans le access_log :
[02/Apr/2020:13:32:23 +0200] “GET /checkHealth HTTP/1.1” 404 1613

J’en ai à foison et cela correspond aux horaires des sessions public

A mon avis cette sonde date de la V2 de Simplicité…
Ca fait longtemps que c’est /health

oui pour moi c’est /health qui fonctionne
Est ce que je peux faire quelques choses sans upgrade ?

Ben il faut commencer par trouver qui fait ces appels reguliers sur une URL qui n’existe plus depuis des lustres et lui dire de taper sur /health

Ensuite il faudrait upgrader sur la release P24 car on a mis en place des mécanismes de re-use de sessions et/ou d’expiration immédiate des session sur les endpoints “techniques” de ce genre (/io, /api, /health, /git, /maven, …) qui évitent les multiplications de sessions inutiles.

PS: En attendant l’autre approche - qui aurait dû être mise en place dès le début - consiste à faire des appels sur /health en repassant le cookie de session afin de réutiliser la session précédente.

On est bien d’accord, c’est un appel externe ?

Je me réponds, les IP sont externes. ;-)

Oui, aucun appel à l’URL /health n’est fait, par défaut, en interne à Simplicité. C’est sans doute un mécanismes de “supervision” externe.

NB: il y a une tâche planifiée par défaut qui s’appelle HealthCheck mais ça n’a rien à voir, celle-ci appelle simplement une méthode Java qui récupère la valeur du param système VERSION

merci le sujet est clos. Il y avait bien un système tiers qui réalisait des appels à cette url. Une Mep corrective est loguée.
Merci à vous deux