54 votes

Projet Webtools (WTP) Eclipse et ses performances / qualité

Notre société est à l'aide d'eclipse depuis plusieurs années maintenant (nous sommes à l'aide de WTP depuis la version 0.7)

Je suis actuellement à l'évaluation de l'éclipse 3.6.2 avec WTP 3.2.3 qui devrait remplacer eclipse 3.4.2 avec WTP 3.0.4 comme étant notre principale de l'IDE.

Et je dois dire qu'encore une fois, je suis assez déçu dans les préoccupations de la performance:
WTP 3.2.3 semble être beaucoup plus lent que 3.0.4.
En fait, je me demande vraiment pourquoi WTP devient plus lent, avec chaque version.

L'une de nos applications (dynamic web project) contiennent environ 4000 classes java et 700 pages jsp/jsp fragments. Nous avons seulement besoin de base de la volonté à payer des fonctionnalités pour le développement jsp, xmls et xsd. Nous n'avons pas besoin de haute sophistic fonctionnalités comme Dali (devrait JPA outils vraiment couvert par un webtools projet?), Balance ou un visuel de l'éditeur xml en premier lieu.

Un autre point intéressant est que la VDP semble ralentir l'ensemble de l'IDE. SWT est non-reponsive pour une fraction de secondes, l'utilisation du processeur est très élevé (en particulier après un construit, a eu lieu - si vous regardez le système emplois, plusieurs jsp/javascript indexeurs sont en train de faire des travaux pour quelques minutes, même si tous les WTP construire les validateurs ont été désactivés), l'ouverture de nouveaux fichiers sont plus lents, de naviguer à travers le projet, etc.

Cela peut être particulièrement visibles sur les vieilles machines qui ne contient qu'un seul core.

Le pire, c'est que j'ai l'impression que la VDP de l'équipe de développement ne se soucient pas beaucoup sur les performances (par exemple, avoir un regard sur le http://wiki.eclipse.org/WTP_Performance_Tests page - dernière mise à jour a eu lieu en 2008).

Les rapports de bogues et des messages du forum au sujet de l'exercice de fonctions de base (par exemple, jsp modification/validation) sont souvent ignorés ou fermé peu de temps après, quelques exemples: ici, ici, et ici.

Quo vadis, la volonté à payer?


S'il vous plaît ne vous méprenez pas:

Je ne veux pas blâmer WTP.
En fait, je crois que la VP est un bon projet open-source développé par une équipe talentueuse.
Mais, évidemment, le projet a un problème avec son assurance de la qualité, notamment en termes de performance qui touche de convivialité et d'acceptation par l'utilisateur.

Je veux juste souligner que l'équipe doit se concentrer sur les choses qui sont essentielles pour la plupart des utilisateurs , en premier lieu, et ensuite travailler sur la mise en œuvre de super-duper-fonctions.

Mes Questions

  • Quelles sont vos expériences avec WTP, en particulier les versions les plus récentes?
  • Pouvez-vous confirmer ou infirmer mes observations?
  • Sont t-il de meilleures solutions de rechange?
  • Avez-vous passer de ou de CAP et pourquoi?
  • Avez-vous des meilleures pratiques pour l'accélérer, en particulier pour le haut-de taille moyenne comme la nôtre?

Mise à JOUR

Je voudrais faire une mise à jour sur cette question afin de refléter le courant des réponses et des pour résumer les résultats actuels:

  • De nombreux utilisateurs se plaignent plus ou moins sur les mêmes questions, donc je vois ces questions, comme l'a confirmé.
    BTW, cette question est également mentionné sur un post sur les news theserverside.com avec des commentaires supplémentaires.

  • Le responsable de la VP chef de projet, nitind, en fait une remarquable post sur la situation actuelle de la VDP, dont j'aime à citer:
    "Le simple fait est que nous ne passons pas beaucoup de temps sur les tests de performance parce que nous manquons de ressources pour le faire."
    "Bien sûr que nous aimerions être proactif plutôt que réactif, mais nous avons tendance à attribuer notre temps à des problèmes fonctionnels en premier."

Ainsi, cette question tourne un peu dans une sorte de lettre ouverte à la communauté de la VDP de l'équipe:

Dear WTP team,

it's obvious that WTP is suffering from major quality/performance issues 
which you try to play down or to ignore.
Please invest some time to improve the current situation 
at the cost of new features and do everything what's required 
to solve the current problems.
E.g. revive the performance team, do some regression tests between 
previous releases or ask the community for (precise defined) help.

I am sure that they are enough people willing and able to help here.

If you like, do some kind of poll to get a feeling what should be 
the most important scopes of future's WTP releases.

Please, please, listen to your community.

32voto

nitind Points 7155

Pour répondre, je suis le plomb pour les projets d'approvisionnement de la JSP, XML, JavaScript et la modification de la source de la fonctionnalité dans la VDP. Le simple fait est que nous ne passons pas beaucoup de temps sur les tests de performance parce que nous manquons de ressources pour le faire. Bien sûr, nous aimerions être proactif plutôt que réactif, mais nous avons tendance à attribuer notre temps à des problèmes fonctionnels de la première. Nous avons un adoptant le produit en marche de régression de la performance des tests régulièrement, mais je pense que les tests sont exécutés sur multi-core machines à maintenant, et nous n'avons pas eu de nouvelles des "drapeaux rouges" signalés pendant un certain temps.

De la 3 bugs que vous avez lié à, 2 sont antérieurs à la version 3.0.4 vous laud et la troisième est une mise en forme du problème de performance (depuis réglé) ou l'un avec as-you-type de validation spécifique pour les fichiers XML (la fixation de ce qui aurait provoqué une fuite de mémoire dans Xerces, iirc, donc à ne pas nous mettre dans de l'époque). Si vous avez des projets concrets que vous pouvez attacher à un bug, et que dire de "faire X est plus lente en 3.2 en Y montant", nous allons faire ce que nous pouvons savoir d'où il y a une régression.

Comme pour les indexeurs, ils devraient au moins finalement terminée. Le disque de l'information qui est stockée qui a changé entre la volonté à payer des versions, et ces fichiers doivent être retraitées ils sont donc de nouveau inclus dans la recherche et l' (où en œuvre) opérations de refactoring. Une fois l'indexation initiale est terminée, il doit agir de façon progressive et être quasiment nul. Un changement architectural, vous pourriez être en cours d'exécution, c'est que pour les Jsp, l'ensemble de l'espace de travail doit être indexées en une seule workbench session pour cet index pour être considéré comme "up to date". L'arrêt de l'Éclipse de la frustration ne feront que prolonger l'impact de ce retraitement.

Il semble que votre société d'installation standard comprend l'intégralité de la volonté à payer plutôt que de rouler votre propre distribution. Je vous invite à vérifier le Démarrage et la Fermeture de la page de préférences et de désactiver le début du démarrage de toutes les fonctionnalités que vous n'êtes pas intéressé par l'aide. Rien de ce que vous avez mentionné l'intérêt en fait usage de cette possibilité, mais il y a d'autres domaines de la VP et de la Plate-forme qui ne. Tout ce que vous n'êtes pas intéressé par la validation est un jeu équitable sur la Validation de la page des préférences, ainsi que la mise à valider JSP fragments par défaut sur le Web / Fichiers JSP / Validation de la page de préférences.

5voto

Udo Points 86

Nous avons le même problème avec WTP 3.2.3 ici, trop. Nous l'utilisons dans notre produit pour plusieurs années, mais l'acceptation de nos développeurs et des clients dans cet outil est en baisse chaque année, parce que dans chaque version plus récente, il est plus lent et plus lent.

Je voudrais l'utiliser si je pouvais désactiver toutes les fonctionnalités "avancées" mais comme vous l'avez mentionné, vous ne pouvez pas désactiver les indexeurs à tous. Aussi vous ne pouvez pas arrêter le programme de validation des fichiers JSP si il est déjà en cours d'exécution (vous pouvez le tester, si vous avez beaucoup de fichiers que vous avez et nous avons aussi autour de 1000 JSP de fichiers et les fichiers de balises dans notre projet).

Je peux aussi prouver que l'augmentation de la mémoire n'aide pas. Il permet de prévenir les accidents de la totalité de l'éclipse, mais il ne réduit pas l'INTERFACE utilisateur de blocage des opérations internes de la VDP.

Dans la nouvelle version 3.2.3 j'ai eu beaucoup se bloque quand j'ai démarrer Tomcat à partir de l'intérieur de la vue des serveurs. L' INTERFACE utilisateur de simplement se bloque environ 1 minute. Ce n'est pas seulement moi qui le bloque, c'est l'ensemble de mes collègues qui travaillent sur Windows ont le même problème. Sur Linux, je ne sais pas à propos de ce problème.

Il existe également des problèmes dans la volonté à payer lorsque vous n'avez pas accès à internet. Il semble qu'il y a la demande de certains registres pour télécharger les schémas ou de telles choses et si vous n'avez pas de connexion, puis il se bloque et attend le temps.

4voto

Jani Laakso Points 41

J'ai vu des effets similaires, voici une solution qui pourrait être appropriée dans certains environnements de projet...

Pour garantir vite et responsable de l'Éclipse de projet Web, de l'environnement, pensez à ceci:

  1. Utiliser Eclipse IDE pour Développeurs Java
    • 98MB version est plus légère que 200 MO EE version
    • Généraux / de Démarrage et d'Arrêt, désactivez tous, mais "l'Éclipse de l'INTERFACE utilisateur"
    • à partir de la Validation, de désactiver les validateurs qui vous n'avez pas besoin
    • ces probablement de prévenir certains problèmes de performances (YMMW)
  2. L'Utilisation De La Jetée
    • vous n'avez pas besoin de WTP ou tout autres plugins, c'est de la pure Java
    • comme Tomcat, mais très rapide et simple à installer dans n'importe quel IDE / environnement
    • intégrer directement dans vos fichiers de projet, configurer une fois pour chaque développeur
    • fonctionne dans n'importe quel IDE (Eclipse, IDÉE, JDeveloper..)
    • démarrer le Conteneur de Servlet avec "Debug" / "Exécuter en tant Que"
    • arrêt du Conteneur de Servlet en cliquant sur la boîte rouge sur Eclipse console
    • IDE de la Console, le débogage et un code de remplacement & JRebel fonctionne très bien

Résultat: rapide et réactif Eclipse comparativement à beaucoup d'autres Éclipse les installations qui utilisent Eclipse EE version avec de la volonté à payer des trucs.

Pourquoi? Il se pourrait que certaines fonction Eclipse ou plugin contient des bugs ou tout simplement utilise les ressources dans une mauvaise voie, et cela rend l'INTERFACE utilisateur d'Eclipse lent.

Non-Java EE Eclipse est assez bon, même pour beaucoup de projet Java EE environnements, tout dépend de l'architecture et quels sont les outils que vous utilisez..

Voici un petit tutoriel pour commencer dans le cas où vous souhaitez essayer la Jetée de Conteneur de Servlet avec Eclipse. Voir https://vaadin.com/web/jani/home/-/blogs/vaadin-for-everyone-how-to-get-started . Télécharger VaadinProjectForAnyIDE.zip c'est un projet Eclipse. Juste ignorer que Vaadin des trucs et de les remplacer HelloWorldApplication.java avec votre propre servlet et de modifier web.xml en conséquence.

Une chose de plus. Avec Eclipse EE version, vous pouvez également essayer J2EE aperçu serveur qui est en fait Jetty embarqué dans Eclipse bundle. Toutefois, cela utilise aussi WTP mécanisme.

4voto

Luis Fernando Points 41

Je ne sais pas qui est à blâmer: WTP ou JBoss Tools. Le fait est que, en travaillant avec GWT (JSP minimal), je suis allé dans le sens opposé: pas de WTP du tout !!! J'utilise maintenant Eclipse pour Java et utilise une configuration d'exécution pour déployer (en invoquant ANT par programme) et démarrer le serveur, et je n'ai jamais regardé en arrière !!! Eclipse prenait environ 1,5 Go et s’est écrasé plusieurs fois. Maintenant, il repose sur ~ 800 Mo, et l'environnement entier est devenu plus stable.

2voto

Arjan Tijms Points 21682

Je pense aussi que la stabilité et les performances de Eclipse/WTP est assez inquiétant. Je suis à l'aide d'Eclipse depuis la mi-2003 et ont essayé de WTP depuis ses premières versions.

Au premier abord, la qualité est absolue insondable, mais pour un 0.x version je ne pouvais pas me plaindre de cours. En attendant de la VP à maturité, j'ai utilisé MyEclipse, qui était en quelque sorte d'accord mais a ses défauts aussi (et étant en partie basé sur la volonté à payer, hérité de certaines de WTP).

Lorsque MyEclipse est devenu de plus en plus lourd, plus lent et plus lent et nous avons rencontré plusieurs problèmes de stabilité, nous nous sommes mis à "pure CAP'. Tous nous avons été à l'aide est vraiment la base de JSP/JSF éditeur et deployer.

Depuis WTP ne pas faire de déploiement incrémentiel (au moins pas pour le serveur JBoss runtime), nous avons ajouté la séparer d'exécution du serveur de JBoss tools. Lorsque nous avons adopté la Facelets, nous avons aussi opté pour l'éditeur de JBoss tools.

Cependant, nous rencontrons beaucoup de problèmes, nous avons aussi eu avec MyEclipse. Il y a des ralentissements inexplicables, mais bien pire sont différents des problèmes de stabilité. Il y a beaucoup de maladroit exceptions et les accidents. Un typique .fichier journal sur de nombreux postes de travail différents, j'ai examiné est plein à craquer d'exceptions. Une petite sélection des 10 dernières exceptions dans mon journal:

1.

java.lang.NullPointerException
        at org.eclipse.jst.jsp.core.internal.validation.JSPActionValidator.isElIgnored(JSPActionValidator.java:147)

2.

java.lang.RuntimeException
        at org.eclipse.jface.viewers.ColumnViewer.checkBusy(ColumnViewer.java:763)

3.

java.lang.ArrayIndexOutOfBoundsException: 38
        at org.eclipse.debug.internal.ui.viewers.model.FilterTransform$Node.addFilter(FilterTransform.java:67)

4.

org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 302111.
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:171)

5.

java.lang.NullPointerException
        at org.eclipse.jst.jsf.facelet.core.internal.cm.ElementCMAdapter.getLength(ElementCMAdapter.java:109)

6.

Caused by: java.lang.NullPointerException
        at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.WebappConfiguration.getConfigFilesFromContextParam(WebappConfiguration.java:184)

7.

org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'span' not found. (file:///mysystem/Eclipse.app/Contents/MacOS/com
/sun/faces/metadata/taglib/facelets_jsf_core.taglib.xml, 453, 52)
        at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.handleErrors(XMLLoadImpl.java:83)
        ...
        at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.TagModelLoader.loadFromInputStream(TagModelLoader.java:100)

8.

java.lang.NullPointerException: No IModelProvider exists for project P/my_project of version: Utility Module
            at org.eclipse.jst.j2ee.model.ModelProviderManager.getModelProvider(ModelProviderManager.java:101

9.

 java.lang.NullPointerException
            at org.eclipse.jst.j2ee.internal.deployables.J2EEDeployableFactory.clearCache(J2EEDeployableFactory.java:238)

10.

org.eclipse.jst.jee.model.internal.mergers.ModelException: java.util.ConcurrentModificationException
        at org.eclipse.jst.jee.model.internal.mergers.EjbJarMerger.process(EjbJarMerger.java:79)

Noter que ce sont juste les 10 dernières, il y a de nombreuses exceptions.

Le casual réaction serait: "Votre Eclipse installation est corrompu! Vous avez un problème local!" Oui, je pourrais avoir un problème local, mais ce "problème local" semble largement répandue que de nombreuses Eclipse installe j'ai inspecté semblent avoir ce genre de choses dans leurs journaux.

Je suis aussi à avoir des problèmes avec les déploiements comme signalé sur le lien suivant dans diverses incarnations: http://community.jboss.org/thread/158611 Il peut être JBoss outils spécifiques ou il peut être sur la base de la volonté à payer ou même Éclipse de code. Je ne sais pas, mais je sais que c'est un méchant problème. Chaque WTP et JBoss tools version il y a " quelque chose de fixe, et chaque version d'un tel problème refait surface sous une forme légèrement différente.

Entre les problèmes de stabilité, je suis en mesure d'obtenir un peu de travail, et j'aime la saisie semi-automatique et de naviguer dans les fonctionnalités les éditeurs de m'offrir (ce qui m'empêche de passer à un éditeur de texte et un bâtiment complètement sur la ligne de commande), mais j'aimerais plus de stabilité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X