Question

Récemment, je commencé à développer une application web JBoss SEAM (site de vente aux enchères). Jusqu'à présent, je suis venu le long de grand, mais récemment je suis tombé sur de longues durées de chargement (en particulier sur les ressources comme javascripts / fichiers css, mais aussi les pages se sont lentes).

Y at-il un profileur pour JBoss SEAM / AS où je peux voir ce que les classes sont en mémoire, etc?

Quelle pourrait être la raison pour laquelle les temps de chargement sont élevés sur les fichiers CSS / JS / images? En raison de développement des raisons que je ne l'ai pas permis aux filtres WebCache offerts encore par la couture. Ce sont mes arguments VM


-Drebel.log=true -noverify -javaagent:"C:\Program Files\ZeroTurnaround\JRebel\jrebel.jar" -Drebel.hibernate_plugin=true -Drebel.seam_plugin=true -Drebel.jboss_plugin=true -Drebel.allow_bytecode_proxy=true  -Dprogram.name="JBoss 5.1 Runtime" -Djava.endorsed.dirs="C:\Java\jboss\as5.0\lib\endorsed" -Dproject.home="C:\Java\jboss\as5.0\server\default\deploy\botenveiling.war" -Xms1024m -Xmx1024m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=512m -Xverify:none

Je l'ai fait quelques modifications (enlevé quelques-unes des applications par défaut): http: // www .jaysonjc.com / programmation / how-to-configure-jboss-as-production-réglages et mise au point-tips.html

J'utilise WAR-exploser pour déployer mes fichiers sur le serveur.

Configuration:

  • JBoss Application Server 5.1
  • JBoss SEAM 2.2.2CR1
  • JRebel
  • PrimeFaces 1.1

Système

  • Intel Core 2 Duo E6550
  • 4 Go de mémoire
Était-ce utile?

La solution

J'ai écrit un billet de blog où je montrais un intercepteur qui permet de mesurer chaque appel de méthode que vos composants utilisent.

De cette façon, vous pouvez voir quelles méthodes utiliser longtemps, et peut trouver des bugs dans votre code. Jetez un oeil ici et faites défiler jusqu'à la deuxième exemple.

Vous obtiendrez une sortie comme ceci:

  284.94 ms   1   FooBean.getRandomDroplets()
  284.56 ms   1   GahBean.getRandomDroplets()
  201.60 ms   2   SohBean.searchRatedDoodlesWithinHead()
  185.94 ms   1   FroBean.doSearchPopular()
  157.63 ms   1   FroBean.doSearchRecent()
  42.34 ms   1   FooBean.fetchMostRecentYodel()
  41.94 ms   1   GahBean.getMostRecentYodel()
  15.89 ms   1   FooBean.getNoOfYodels()
  15.00 ms   1   GahBean.getNoOfYodels()
  9.14 ms   1   SohBean.mainYodels()
  1.11 ms   2   SohBean.trackHoorayEvent()
  0.32 ms   1   FroBean.reset()
  0.22 ms  43   NohBean.thumbPicture()
  0.03 ms  18   FooBean.getMostRecentYodels()
  0.01 ms   1   NohBean.profilePicture()
  0.01 ms   1   FroBean.setToDefault()
  0.01 ms   1   FroBean.getRecentMarker() 

En second lieu, il y a une page de profilage sur le Seam base de connaissances, mais ce n'est pas vraiment bon .

Dan Allen a également écrit une belle partie de deux post sur l'accélération de l'application JSF qui est lue une valeur d'un.

Partie 1

Partie 2


Firebug comme outil est également un must pour javascript / ajax outillage de performance

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top