2012-11-22 6 views
0

Nous essayons de charger l'application GWT de test (2.0.4) où tous les widgets sont en train de charger sur une seule page et font près de 20 appels rpc lors du chargement de la page.Utilisation de la mémoire Application GWT

Serveur: JBoss 5 et nous surveillons la mémoire de tas en utilisant JConsole.

Pendant le test de charge, nous remarquons que la mémoire de tas augmente au maximum, même pour un nombre min d'utilisateurs. Cependant, la mémoire est récupérée une fois que gc est déclenché.

Quelqu'un peut-il expliquer pourquoi l'utilisation de la mémoire (mémoire de tas) est si élevée pour l'application GWT sur le serveur, même pour un petit nombre d'utilisateurs?

Nous utilisons le framework Hibernate + Spring.

Répondre

1

1) Il serait utile de réduire le nombre d'appels RTC GWT au lancement de l'application en combinant les données qu'ils extraient. Les appels RPC multiples en charge tendent à bloquer beaucoup de ressources sur le navigateur et sur le serveur.

2) Analysez si vous avez besoin de toutes les données que vos appels RPC recherchent en premier.

3) L'utilisation de l'espace de tas varie en fonction de la technologie côté serveur que vous utilisez Hibernate, Dozer, Gilead, le chargement paresseux/cache etc.

4) Code Fractionnement et Fragment Fusion vous aider à réduire votre javascript application que vous charger d'abord.

Je suppose que vous utilisez Dozer pour copier des entités hibernate vers DTO/beans du côté client. Essayez de jouer avec les paramètres du pool de connexion Hibernate C3P0.