-
Bug
-
Résolution: Non résolu
-
Majeur
-
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)