Image du projet 'Socle K-Sup' téléversée
  1. Socle K-Sup
  2. CORE-2415

DatagridServlet consomme trop de mémoire pour la récupération des fiches

    • Icon: Bug Bug
    • Résolution: Non résolu
    • Icon: Majeur Majeur
    • master
    • 6.04.36, 6.02.39, 6.05.14
    • Aucune
    • Production

      Le fonctionnement du DatagridServlet est basé sur le chargement de l'ensemble des fiches, avec néanmoins une limite possible (CORE-700), ce qui pose des problèmes critiques de performance.

      La consommation mémoire liée à l'affichage des résultats d'un type de fiche dépasse plusieurs centaines de Mo (et les résultats du Datagrid correspondent à l'accueil de chaque type de fiche).

      L'affichage concurrent de plusieurs Datagrid avec plusieurs milliers de résultats a entrainé des OutOfMemoryError sur un environnement client (XmX = 4Go).

      Après analyse de manière unitaire, pour un affichage de 15000 fiches (< limite par défaut = 25000), plusieurs GC sont déclenchés.

      1023,252: [GC1023,252: [ParNew: 1149780K->119235K(1258304K), 0,0164170 secs] 1600295K->569750K(4054528K), 0,0170490 secs] [Times: user=0,27 sys=0,03, real=0,02 secs] 
      1025,478: [GC1025,479: [ParNew: 1237763K->85494K(1258304K), 0,1364560 secs] 1688278K->643578K(4054528K), 0,1367040 secs] [Times: user=0,38 sys=0,10, real=0,14 secs] 
      1028,034: [GC1028,034: [ParNew: 1204022K->82021K(1258304K), 0,0112440 secs] 1762106K->640105K(4054528K), 0,0114520 secs] [Times: user=0,19 sys=0,03, real=0,01 secs] 
      1029,178: [GC1029,179: [ParNew: 1200549K->92091K(1258304K), 0,0246900 secs] 1758633K->650174K(4054528K), 0,0248920 secs] [Times: user=0,29 sys=0,00, real=0,03 secs] 
      1058,577: [GC1058,577: [ParNew: 1210619K->72220K(1258304K), 0,0686400 secs] 1768702K->680340K(4054528K), 0,0688960 secs] [Times: user=0,24 sys=0,05, real=0,07 secs] 
      1060,442: [GC1060,442: [ParNew: 1190748K->22542K(1258304K), 0,0110400 secs] 1798868K->630662K(4054528K), 0,0112270 secs] [Times: user=0,20 sys=0,01, real=0,02 secs] 
      1089,992: [GC1089,992: [ParNew: 1141070K->31795K(1258304K), 0,0134740 secs] 1749190K->639915K(4054528K), 0,0136280 secs] [Times: user=0,17 sys=0,01, real=0,02 secs]
      

      Solution à envisager :

      • Paginer les résultats
        • depuis MySQL
        • depuis Elasticsearch pour afficher les résultats (gère nativement la pagination)

            alice.ark Alice ARK [X] (Inactif)
            cpoisnel Charles-edouard POISNEL
            Votes:
            1 Voter pour ce ticket
            Gérer les observateurs:
            2 Démarre l'observation de ce ticket

              Création:
              Mise à jour: