Websphere Application Server - Ce que sur la terre faut-il pour commencer à toute vitesse?
Je suis en utilisant Rational Application Developer v7.0 qui est livré avec un environnement de test intégré. Quand j'arrive à le débogage ma webapp, le démarrage du serveur en mode de débogage est proche de 5-6 minutes assez de temps pour prendre une pause-café!
À la fois, il me fait chier que je commence à maudire IBM pour la construction d'un système d'exploitation au lieu d'un serveur d'application! La ponte 20+ des processus et des services inutiles avec aucune configuration documentée à l'écoute d'elle, de commencer tout plus vite.
Je suis sûr qu'il ya beaucoup de développeurs java qui seraient d'accord avec moi sur ce point. J'ai essayé de désactiver par défaut les applications et un ensemble de services par l'intermédiaire de ma console d'admin, mais cela n'a pas aidé beaucoup.
Je n'ai pas de webservices, pas de haricots d'entreprise, pas d'attente, juste une simple application web qui nécessite un pool de connexion. Avez-vous fait quelque chose dans le passé pour faire de votre environnement de test intégré, démarrage rapide en mode debug et il n'en consomme moins de RAM?
Mise à JOUR:
J'ai essayé de désactiver quelques services (internationalisation, par défaut, les applications, etc...) et maintenant le serveur WebSphere est allé de mal en pis. Non seulement n'est-ce pas prendre horrible moment du démarrage, il maintient le gel chaque maintenant et puis pour un maximum de 2 minutes. 🙁 On dirait, l'optimisation n'est pas une bonne chose, toujours!
- Voulez-vous dire que vous êtes le démarrage du serveur dans un IDE en mode debug ou que vous êtes à partir du serveur distant en mode debug?
- départ dans un IDE en mode debug
- Combien de temps faut-il pour commencer en mode normal?
- environ 3 minutes, en mode régulier.
- Devinez ce que je suis en train de faire en ce moment même? (En attente de WebSphere 6 à redémarrer en mode de débogage à partir de RAD 6 :))
- Juste être heureux que vous ne travaillez pas avec WebSphere sur un as/400 🙂
- La quantité de mémoire de votre machine?
Vous devez vous connecter pour publier un commentaire.
La meilleure façon de déboguer le code serveur est d'utiliser le débogage à distance.
D'abord, vous devez ajouter les éléments suivants à la JVM params dans le script de démarrage du serveur:
Ce sera la cause de la JVM pour écouter sur le port spécifié, puis, à partir de votre IDE, vous pouvez démarrer une session de débogage à distance à l'encontre de ce port et de débogage comme si le code s'exécutant dans le même processus.
Travaillant de cette façon, vous éviter de redémarrer le serveur si souvent et donc de côté-les étapes de votre problème avec Websphere la start-up de temps.
Vous pouvez obtenir des résultats bizarres si les fichiers binaires sur le serveur et la source dans l'IDE de sortir de la synchronisation, mais dans l'ensemble ce n'est pas un problème.
L'une des principales raisons est que vous avez une grande application avec de nombreux modules, des classes, des manifestes, des descripteurs XML ainsi de suite, et le fait que le serveur d'applications Websphere procédure de démarrage est mono-thread en soi (ainsi, chaque application peut être lancé dans un thread séparé si ils ont le même poids). Une autre raison est que l'Eclipse EMF et JST cadres sont très gourmandes en e/S lors du démarrage et de publier/deploy.
Une autre raison pour laquelle la fastidieuse de la start-up est l'annotation de numérisation qui aura lieu lors de la publication/déployer. Cette annotation de numérisation peuvent être contrôlés et modifiés de diverses manières. Regardez ce site:
http://wasdynacache.blogspot.se/2012/05/how-to-speed-up-annotation-processing.html
Tout d'abord, d'examiner et d'évaluer votre matériel, à la fois de la CPU, de la mémoire et du disque dur. Est votre processeur/s running 100% pendant une longue période à démarrer? Dans l'affirmative, le processeur peut être trop faible. Est pagination se produire? ensuite, vous pouvez avoir à mettre dans un peu plus de RAM. Websphere/eclipse JST et EMF cadres sont très I/O intense, alors vous devriez envisager d'investir dans un SSD disque. Vous devez également vous assurer que les autres processus sur votre ordinateur (logiciel de protection antivirus, etc.) ne pas voler les ressources matérielles de l'Websphere les processus java.
Donc pour le matériel:
1. Processeur assez rapide, puisque le publier et le démarrage est principalement single thread vous n'avez pas besoin que beaucoup de cœurs du processeur
2. Mémoire - Vous aura au moins 512 mo de RAM physique, cela dépend de la taille de votre demande de cours.
3. Stockage - je serais certainement aller pour un rapide SSD depuis le sous-jacent de l'éclipse cadre d'e/S intensives.
Voici quelques astuces pour réduire l'empreinte de la phase de démarrage. S'il vous plaît avant d'appliquer ces paramètres assurez-vous que vous enregistrez une base de début de sorte que vous pouvez observer la différence dans les start-up, c'est à dire la réduction du temps de démarrage.
D'autres arguments JVM qui peuvent le gain de performance:
Jvm arguments qui feront de Websphere application server pour arrêter immédiatement:
Webcontainer propriétés:
JVM arguments qui peuvent être spécifiées de l'éclipse.ini (à Noter que le tas de paramètres est configuré selon les conditions de mon environnement)
5 à 6 minutes n'est pas normal. J'utilise de la SAR et a ÉTÉ de tous les jours et obtenir de bons temps de démarrage. La version de a ÉTÉ vous êtes en cours d'exécution et la quantité de RAM que vous avez?
Si vous partagez plusieurs espaces de travail et de projets pour un même profil, pensez à créer un nouveau profil pour votre espace de travail.
Vous avez probablement essayé, mais voici une simple liste de vérification de choses pour essayer de première main. Assurez-vous que les paramètres de votre serveur dans le RAD a l'une des options suivantes activé:
Décochez la case "Activer l'essai universel client" si vous n'en avez pas besoin.
Dans la console d'administration, vous pouvez vérifier certains paramètres de serveur tels que
Vous pouvez également désinstaller les ivt application qui est installé par défaut lors de la création d'un nouveau profil. Puis les choses habituelles, telles qu'un lecteur qui n'est pas trop fragmentée et une taille de fichier d'échange qui est correctement réglé.
Et une dernière chose que vous savez sans doute déjà, republier sur votre serveur au lieu de redémarrer il.
C'est une des raisons pourquoi le Printemps est né.
Vous n'avez même pas à donner toutes les subtilités, comme JMS, accès à distance, etc. Vous seriez mieux avec Tomcat, ActiveMQ, et OpenEJB.
Rien mais WebSphere.
Il y a quelques astuces et conseils pour le réglage RAD 6 sur developerworks qui peuvent aider, beaucoup de ces procédures s'appliquent également pour les RAD 7.
J'ai vu une liste similaire pour les RAD 7, je vais poster, si je peux le trouver.
J'en ai trouvé quelques conseils de réglages pour le Portail sur RAD 7.
Je dirais que mon expérience avec l'environnement de test a été sous-optimale. J'ai maintenant tendance à utiliser Tomcat/Pluton configuré pour débogage à distance Externe avec une configuration de lancement de le gérer de sein nu Eclipse et compter sur d'avoir appropriée JNDI configurations abstraites de du serveur sous-jacent.
Si vous êtes le codage pertinents de l'Api, il ne devrait pas question pour les fins de développement que vous n'êtes pas sur Websphere. Si vous avez un Webpshere problème spécifique, vous pouvez toujours monter le son de la bête pour le déboguer.
Si vous n'avez pas d'Ejb, pas de JMS, etc., il vous suffit de déployer en vertu autonome conteneur de servlet comme Tomcat ou Jetty, vous serez étonné de voir comment il est rapide :-), être ironique ici, mais c'est vrai!
Si le pool de connexion est vraiment la seule appserver fonctionnalité vous utilisez alors pourquoi ne pas tout simplement l'utilisation d'apache commons dbcp (http://commons.apache.org/dbcp/) baisse webfear ensemble et à l'utilisation de la jetée à la place. Cela devrait permettre de réduire votre temps de démarrage d'environ 5 secondes. Vous pourrez ensuite facilement basculer vers websphere encore pour votre environnement de production si vous devez vraiment sentir le besoin.
ÉTAIT V7 adresses de certains de ces problèmes en vous permettant de configurer ce qui commence lorsque l'application serveur démarre.
Donc, si et lorsque vous migrez vers a ÉTÉ V7 vous peut sembler certaines améliorations dans cet espace.