Problémes de performances struts / HTML
Bonjour à tous et merci d'avance pour votre aide :
Voila j'ai une application weblogic communiquant avec une base oracle pouvant potentiellement contenir 1 000 000 d'éléments.
Comme vous vous en doutez j'ai des problémes de performances assez dramatiques.
J'affiche les éléments de manière paginé sur mon application WEB géré par struts. Le probléme est que quelqu'un a eu la lamentable idée de donner la possibilité à l'utilisateur d'afficher cette liste de maniére dépaginé (tout les éléments d'un seul coup). Je précise que je pratique un troncage de la liste à 1000 éléments maximun en fonction de critéres de recherche par le bias d'un rownum.
Les problèmes sont diverses :
- La page HTML généré ne l'est pas en moins de 9 minutes en local et 5 sur mon serveur ce qui bien évidement trop long
- La taille de la page généré approche les 6.5 Mo ce qui rend le parsing trés lent
- Même si le nombre d'éléments de la liste ne parait pas excessivement grand les 1000 éléments contiennent eux aussi des sous éléments ce qui donne en struts deux boucle imbriqués sur des objets "complexes".
- Enfin point important ce n'est pas ma couche métier/donnée qui pénalise les perf car au moment de la dépagination la liste est déjà en mémoire. ce qui m'améne à penser que c'est le struts lui même ainsi que le parsing qui sont long
- Enfin dernier point il y a des actions qui sont gérées en javascript sur les éléments (chaque liste de sous éléments pouvant être affiché/masqué selon les besoins) ce qui génére encore plus de texte sur la page :-(
J'ai entreprit de faire un maximun de "ménage" dans les pages JSP de supprimer le recourt au tiles qd ceux-ci ne sont pas absolument necessaires. De remettre au propre le code struts mais les gains ne sont pas énormes aux plus un poigné de secondes (une 20 aine).
Que puis-je faire ? en dehors de demander à mon chef de projet de se faire cuire un oeuf pour qu'il le répéte au client. La conclusion est bien évidement que le travail est long et que donc il est normal que cela prenne du temps mais bon je dois essayer.
Vos remarques, liens, docs seront les bienvenus.
Voila éclairez ma lanterne SVP ...