Accélérer les temps de démarrage du serveur Weblogic

à mon travail, nous utilisons un serveur Weblogic pour héberger un portail d'entreprise. Ce qui est bien.

Cependant, j'ai récemment eu l'occasion d'utiliser Tomcat pour certains projets, et je suis frappé par l'incroyable différence de vitesse. Tomcat met de 3 à 5 secondes pour démarrer, et de 10 à 15 secondes pour déployer des projets de taille moyenne. Wewblogic prend 3-5 minutes pour commencer, et jusqu'à 10 minutes à déployer. Cela tue tout développement itératif.

Suis-Je vais devoir me résigner à sa lenteur et de ballonnement, ou est-ce que je peux faire pour l'accélérer? Quelqu'un a une expérience avec cela?

20
demandé sur levand 2009-02-10 23:32:00

8 réponses

vous ne pourrez pas transformer la grenouille en princesse. Je m'interroge un peu sur les temps de démarrage de weblogic - ils semblent un peu excessifs, vous n'utilisez pas linux par hasard ?

si vous utilisez des archives imbriquées (guerres dans les oreilles, etc.) et aussi des technologies de numérisation de répertoires (hibernation, printemps, etc.), vous pouvez essayer de tout déballer dans la structure explosée correspondante avant de le déployer; il a été connu pour aider un peu.

Tomcat contient très petit sous-ensemble des fonctionnalités de weblogic. Nous développer sur jetty mais déployer sur weblogic pour des environnements de réception / production et cela fonctionne assez bien. Tu peux faire la même chose avec tomcat.

Tomcat est un container assez strict tandis que weblogic est indulgent, donc vous aurez normalement que des problèmes mineurs se déployant à weblogic, surtout tant que vous faites continuellement les deux.

Vous pouvez également utiliser un outil comme javarebel pour faire vraiment chouette déploiement à chaud et éviter tout redémarrage.

18
répondu krosenvold 2011-07-08 18:26:51

comme l'a dit krosenvold, la génération de nombres aléatoires peut causer un démarrage lent.

la recommandation D'Oracle est d'utiliser l'un des indicateurs-d ci - dessous-uniquement sur les systèmes non productifs car cela diminue la sécurité.

Utiliser - Djava.sécurité.egd=file: / / / dev / urandom interrupteur ou file:/dev/./ urandom pour la commande qui démarre weblogic.

L'information ci-dessus est tirée de http://download.oracle.com/docs/cd/E12839_01/doc.1111/e14772/weblogic_server_issues.htm#CIHIIBGJ

si le drapeau-D ne fonctionne pas, regardez la solution suivante: http://www.itonguard.com/20090313/weblogic-starts-slow/

6
répondu Tomas F 2009-09-23 08:27:38

vous n'avez pas mentionné quel niveau et quelle plate-forme mais le WebLogic Server Performance and Tuning guide contient un certain nombre de trucs et astuces qui peuvent vous aider.

4
répondu nzpcmad 2009-02-10 21:03:48

WebLogic peut aussi être lent à démarrer sur Linux s'il se connecte à une base de données et que vous n'avez pas configuré correctement DNS.

Selon votre configuration, vous pourriez être en mesure de modifier /etc/resolv.conf et commentez la ligne nameserver. Cela peut réduire le temps de démarrage de WebLogic de 20 minutes à moins d'une minute.

2
répondu Max 2012-02-24 12:02:58

si vous utilisez Weblogic workshop, alors vous avez juste besoin de publier, pas de redémarrer le serveur d'application tout en faisant du développement itératif.

1
répondu John Liptak 2009-11-26 01:52:21

sur la question de la consommation de mémoire, vous pouvez essayer de définir les paramètres de mémoire de la JVM utilisée par votre serveur WebLogic. Connectez-vous à votre Console D'administration Web WL et allez à Environnement/Servers/[votre serveur]/Configuration/démarrage du serveur et, sur les "Arguments", définir quelque chose comme-Xms256m-Xmx256m va régler la taille initiale (Xms) et maximale (Xmx) de votre tas JVM à 256 mégaoctets. Vous voudrez jouer avec ces chiffres et trouver les meilleures valeurs pour votre environnement. Mais s'il vous plaît être conscient que votre Eclipse, par exemple, consomment beaucoup de mémoire.

en ce qui concerne la durée de démarrage, bien qu'un peu plus grande que je ne m'y attendais, ils semblent OK. Ce problème est très fréquent, et je ne pense pas que vous serez en mesure de certainement résoudre. WebLogic a beaucoup plus de fonctionnalités que Tomcat, et cela se reflète dans d'autres caractéristiques de l'environnement (comme le temps de démarrage).

il S'avère que Weblogic utilise le générateur de nombres aléatoires pendant le démarrage. À cause de l'insecte en java, on lit ‘randomness ' à partir de/dev / random. /dev/random est très bon générateurs de nombres aléatoires, mais il est extrêmement lent. Il faut parfois 10 minutes ou plus pour générer un nombre. /dev/urandom est pas bon, mais il est instantanée. Java en quelque sorte des cartes /dev/urandom fichier /dev/random. C'est pourquoi les paramètres par défaut dans $JAVA_HOME/jre/lib/security/java.la sécurité est inutile.

solutions Possibles: 1) Ajouter " - Djava.sécurité.egd=file:/dev/./urandom" (/dev/urandom ne fonctionne pas) à java paramètre.

Pire mais la solution de travail est: 2) mv /dev/random et /dev/random.Origine; ln / dev /urandom/dev / random

3) la meilleure solution est de changer $JAVA_HOME/jre/lib/security/java.sécurité Remplacez securerandom.source avec

securerandom.source=file: / dev/./ urandom

ce problème ne se produit pas sous windows car il utilise une implémentation différente de /dev/random.

Il faut quelques secondes pour démarrer le serveur weblogic maintenant.

1
répondu Tatarao Vana 2014-01-02 13:53:33

veuillez vérifier que le long temps de démarrage est en fait dû au démarrage du serveur WebLogic et non au démarrage du portail WebLogic.

0
répondu rbp 2011-08-09 17:53:53

sur le démarrage standard de Weblogic 12.2.1 j'ai eu ce message:

Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. 
To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true

alors je l'ai spécifié et il a coupé le temps de démarrage en deux. Environ 13 secondes sur un domaine propre.

0
répondu rjdkolb 2017-02-24 04:59:16