Question

Nous avons été surclassé de JBoss 4 (et JDK 5) à JBoss 5 (et JDK 6). Le problème est que le temps de démarrage est passé de 1,5 minutes (sur JBoss 4) à plus de 4 minutes.

18:53:35,444 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 3m:9s:262ms

Il semble que le composant qui prend JBoss le plus long temps d'initialisation est le JMX

18:50:41,926 INFO  [LogNotificationListener] Adding notification listener for logging mbean "jboss.system:service=Logging,type=Log4jService" to server org.jboss.mx.server.MBeanServerImpl@1adc122[ defaultDomain='jboss' ]
18:52:38,797 INFO  [JMXConnectorServerService] JMX Connector server: service:jmx:rmi://lharel2/jndi/rmi://lharel2:1090/jmxconnector

Dans le journal du serveur DEBUG, je reçois ces lignes au moment problématique:

2009-12-18 18:51:00,886 DEBUG [org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (main) vfsfile:/C:/QC/Views/QCDev/jboss-5.1.0.GA/server/default/deploy/jmx-console.war/ endpoint mappings:
2009-12-18 18:51:00,886 DEBUG [org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (main) Processing unit=jmx-console.war, structure: jmx-console.war
2009-12-18 18:52:35,209 DEBUG [org.jboss.deployment.OptAnnotationMetaDataDeployer] (main) Deployment is metadata-complete, skipping annotation processing, ejbJarMetaData=null, jbossWebMetaData=org.jboss.metadata.web.spec.Web23MetaData@1f, jbossClientMetaData=null, metaDataCompleteIsDefault=false

Il n'y a pas EJB dans le projet.

Les paramètres de mémoire sont:

 -Xms128m -Xmx512m -XX:MaxPermSize=256m

Avez-vous une idée du temps de démarrage JBoss peut être améliorée?

Mise à jour: à ce jour pas de chance, j'ai essayé la suggestion de shreeni (modifié les xmls de numérisation). Le serveur ne fonctionne pas en mode débogage si la suggestion de MicSim ne concerne pas

Était-ce utile?

La solution

Un coup dans le ciel bleu sans plus d'informations

  • timeouts Réseau: 1,5 minutes de retard lors du déploiement jmx-console.war peut indiquer un délai d'attente de réseau (par exemple 3 x 30 secondes). Essayez de démarrer JBoss et le lier à une adresse IP spécifique en utilisant l'argument de ligne de commande -b ou la propriété du système jboss.bind.address. Aussi, essayez de vous assurer que vos paramètres de l'hôte et de résolution DNS sur votre système sont corrects.

  • JMX utilise également RMI et vous pouvez définir le nom d'hôte du serveur RMI comme propriété système . Sur certaines distributions Linux, RMI a des problèmes avec le nom d'hôte à la recherche correcte et JMX-console.war peut essayer de se connecter au « mauvais localhost ». La propriété du système est java.rmi.server.hostname

  • traçage du système: Si cela ne fonctionne pas, vous pouvez utiliser strace pour démarrer le processus de java, de sorte que vous pouvez voir le point où le système se bloque (si elle ne vraiment accrocher en raison d'un délai d'attente de réseau ou similaire).

Autres conseils

C'est un espace terriblement grand dans les journaux. Je suggère de modifier la configuration du journal pour tout connecter au niveau DEBUG, plutôt que INFO. Cela va générer un plus grand nombre d'entrées du journal terrible, mais nous l'espérons vous aider à le réduire.

La meilleure façon de le faire est de définir la propriété système -Djboss.server.log.threshold=DEBUG lorsque vous démarrez JBoss

J'ai eu un problème comme ça, mais j'ai trouvé une bonne amélioration en définissant la taille du tas initiale et max de mêmes valeurs, je veux dire:

 -Xms512m -Xmx512m

Avec cela, je me suis amélioré de 4 à 2 minutes le temps de départ.

Vos soupçons au sujet de la console JMX peut induire en erreur. Il peut y avoir d'autres éléments qui font un travail en arrière-plan sans rapport avec la console JMX. Dans mon expérience, nous avons eu un problème où un petit fichier de guerre semblait prendre 3 minutes pour charger! Il était innocent. Le coupable était dû en partie à un fichier EAR avec de nombreuses guerres et des pots.

Alors que je ne suis pas expert, je suggère ce qui suit:

  1. Essayez de l'exploitation forestière à TRACE. En faisant cela, j'ai été témoin l'un des déployeurs (EJBDeployer, je pense) à balayage inutilement dans l'un de WARs nos oreilles. Je me suis alors désactivé manuellement la numérisation de ces fichiers WAR.
  2. Exécuter Wireshark lors du démarrage. J'ai découvert quelques fichiers de guerre ont été suspendus en attendant une réponse d'une requête DTD externe. Ces sites étaient soit désormais inexistants ou ne serviraient pas correctement les fichiers DTD à des programmes basés sur Java. Je pourrais accélérer soit avoir les programmeurs utilisent des fichiers DTD locaux ou en miroir les DTD localement et ayant / etc / host réalimentation localement.

Vous pouvez consulter cette lien pour éviter le balayage d'annotation inutile qui pourrait accélérer votre démarrage du serveur

Voir http://community.jboss.org/wiki/jboss5xtuningslimming en particulier le « Tuning "partie.

J'utilise JBoss 5.1.0 avec un Macbook pro (2,26 4gb) sans applications commencer dans 54s

15:00:26,449 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 54s:720ms

J'ai fait une nouvelle configuration sur la base « par défaut ». Les points de dataosurce JMS à une base de données Postgres au lieu de la « base de données Hypersonic » (dans la base de données de mémoire)

Je suppose que vous commencez en mode débogage. Ce mode peut être jusqu'à 3 fois plus lent que le mode normal. Mais il pourrait y avoir aussi un problème lors du passage de JDK5 à JDK6. J'ai trouvé cette solution sur le net:

  

Je l'ai résolu que. Il est une question de débogage. J'ai changé mes paramètres de débogage de:

wrapper.java.additional.26=-Xdebug
wrapper.java.additional.27=-Xnoagent
wrapper.java.additional.28=-Djava.compiler=NONE
wrapper.java.additional.27=-Xrunjdwp:transport=dt_socket,address=7199,server=y,suspend=n
     

à:

wrapper.java.additional.26=-Xdebug
wrapper.java.additional.27=-Xrunjdwp:transport=dt_socket,address=7199,server=y,suspend=n
     

et JBoss devient rapidement à nouveau.

Hope this helps.

Avez-vous besoin de l'application de la console JMX? chose Pragmatique serait non déployer à partir du serveur, vous pouvez toujours utiliser le jconsole ou jvisualvm pour essentiellement la même chose.

  1. Désactiver la numérisation d'annotation et d'autres fonctionnalités que vous n'avez pas besoin https: //community.jboss .org / wiki / jboss5xtuningslimming

  2. Lorsque vous démarrez / arrêtez JBoss Eclipse, il ne nettoie pas les dossiers tmp et fonctionnent correctement. Configuration d'une configuration externe outil et exécuter un fichier batch pour supprimer tout dans les dossiers tmp et travail avant chaque démarrage.

J'ai pu speedup courir le profil "par défaut" de 15/20 minutes à 5 minutes.

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