Accueil Finances personnelles Analyser les performances dans Enterprise JavaBeans - les nuls

Analyser les performances dans Enterprise JavaBeans - les nuls

Vidéo: Module 134 - Finance anglo-saxonne : Outils et ratios d'analyse de la rentabilité 2025

Vidéo: Module 134 - Finance anglo-saxonne : Outils et ratios d'analyse de la rentabilité 2025
Anonim

L'analyse des performances est probablement l'une des tâches les plus complexes dans la conception d'une application. C'est une science imprécise parce qu'il y a beaucoup de facteurs qui entrent en jeu. Ceux-ci sont augmentés dans les applications Enterprise JavaBeans (EJB), où les performances dépendent en grande partie de l'implémentation du conteneur EJB que vous utilisez. L'essentiel est que vous ne pouvez pas savoir si vous prenez les bonnes décisions de performance avant de les tester.

Vous devez garder à l'esprit les problèmes suivants lors de l'examen des problèmes de performances:

  • Tous les conteneurs EJB ne sont pas créés égaux. Bien que chaque conteneur EJB doit être conforme à la spécification EJB, les fournisseurs disposent d'une grande latitude pour implémenter le conteneur EJB. Leurs exigences se concentrent sur les résultats des opérations, et non sur l'efficacité d'une opération. Certains fournisseurs feront un meilleur travail avec différentes parties d'un conteneur EJB. Vous devez déterminer où des gains d'efficacité peuvent être obtenus dans un conteneur EJB et où des goulets d'étranglement de performance vont se produire. La seule façon de le savoir avec certitude est d'essayer avant d'acheter. Même après l'achat d'une solution, les principales décisions de conception, telles que l'utilisation ou non des beans entité EJB, doivent être testées.
  • Les performances peuvent dépendre de l'efficacité de votre application. Il existe des règles générales que vous pouvez utiliser pour déterminer quelles conceptions d'application sont meilleures que d'autres. Mais ces directives peuvent être facilement invalidées avec une implémentation bâclée. La meilleure façon de vous éviter les implémentations bâclées est d'effectuer régulièrement des révisions de code , c'est-à-dire lorsque vous vous asseyez avec tous vos collègues codeurs et demandez-leur de revoir votre travail - pendant votre projet EJB. Vous devriez concentrer vos revues de code sur l'analyse de la source et s'assurer qu'elle est à la fois bien conçue et efficace. Les critiques de code offrent une excellente opportunité pour les programmeurs d'apprendre les uns des autres.
  • Développez un prototype pour tester vos hypothèses de performance. Voici un exemple de scénario. En tant que développeur d'applications EJB, vous devez décider très tôt d'utiliser ou non les beans entité pour gérer l'interaction avec une base de données. Vos deux choix de base sont

Créer des beans entité pour gérer l'interaction de la base de données. Les beans entité peuvent simplifier l'interaction de votre base de données à partir d'une perspective de programmation d'application. Mais ils peuvent également exiger une pénalité de performance. Une partie de cette pénalité peut être contrôlée de la même manière que vous implémentez des beans entité, c'est-à-dire en utilisant des interfaces locales par rapport à des interfaces distantes ou en faisant des beans entité des objets grossiers.

Le code de la base de données JDBC appelle directement les beans de session et évite l'utilisation des beans entité. JDBC peut être plus difficile à utiliser que d'utiliser des beans entité avec une persistance gérée par le conteneur. Ce cours peut également nuire à votre capacité à tirer parti des transactions gérées par conteneur EJB.

Pour déterminer lequel des deux cours est le plus approprié, vous pouvez effectuer un test simple:

1. Créez un bean entité et un bean session qui effectuent tous deux des opérations sur le même ensemble de données à partir d'une base de données.

2. Ecrivez un programme simple qui mesure la durée nécessaire pour appeler un ensemble d'insertions, de mises à jour, de requêtes et de modifications dans la base de données.

Ce deuxième programme devrait appeler le bean session pour un test et le bean entité pour un autre test - effectuant le même ensemble d'opérations sur chacun.

3. Analyser les résultats pour déterminer si les performances seront un problème.

Si vous souhaitez une analyse des performances plus fine, vous pouvez planifier des étapes individuelles (pour identifier l'opération la plus coûteuse), puis essayer de modifier ces opérations pour générer des gains de performances.

Pour un bean entité, vous pouvez mesurer les performances sur les opérations suivantes:

  • Combien de temps faut-il pour obtenir une référence à une interface distante ou à une interface locale?
  • Quelle est la différence de performance entre l'exécution d'une mise à jour sur une interface distante et une interface locale?
  • Quelle est la différence entre la mise à jour de plusieurs lignes dans une base de données dans JDBC et l'exécution d'une mise à jour sur plusieurs lignes à l'aide de la méthode home d'un bean entité?

Les réponses à ces questions seront différentes de celles du conteneur EJB et du conteneur EJB. Elles seront également influencées par: a) le pilote JDBC que vous avez choisi; b) si vous utilisez ou non le regroupement de connexions à la base de données; et c) l'efficacité de vos implémentations du bean entité et du bean session. Vous serez probablement surpris par certains des résultats que vous obtenez - des tests comme ceux-ci ont un moyen de remettre en question vos hypothèses sur la performance des beans entité.

Lorsque vous réglez un EJB pour des performances, ne faites pas de modifications aléatoires. Au lieu de cela, concentrez votre attention sur les étapes de l'application qui coûtent le plus en termes de performances.

Remarque: Les mesures de performances révèlent généralement qu'un processus métier n'a qu'un ou deux points où des améliorations significatives peuvent être apportées. Cette observation a été faite assez souvent que cela a conduit à la création de la règle Pareto 80-20. Cette règle stipule que 80% du temps d'exécution d'un programme est dû à 20% du code. Votre objectif devrait être d'identifier les 20% du code les plus chers en termes de ressources système et de vous concentrer sur l'optimisation de cette partie.

Analyser les performances dans Enterprise JavaBeans - les nuls

Le choix des éditeurs

Comment trouver les valeurs minimales ou maximales pour les fonctions dans R - variables

Comment trouver les valeurs minimales ou maximales pour les fonctions dans R - variables

Un très grand corps de mathématiques vise à résoudre des problèmes d'optimisation de toutes sortes. Dans R, la fonction optimize () fournit un mécanisme assez simple pour optimiser les fonctions. Imaginez que vous êtes le directeur des ventes d'une entreprise et que vous devez définir le meilleur prix pour votre produit. En d'autres termes, trouvez le prix d'un produit ...

Comment corriger les erreurs de lecture de données dans R - dummies

Comment corriger les erreurs de lecture de données dans R - dummies

Probablement les erreurs les plus fréquentes dans R lire des données à partir de fichiers texte en utilisant read. table () ou lire. csv (). Beaucoup d'erreurs entraînent des erreurs de lancement R, mais parfois vous remarquez que quelque chose s'est mal passé lorsque vous regardez la structure de vos données. Dans le dernier cas vous trouvez souvent que tout ou partie ...

Comment obtenir des listes avec la fonction lapply dans R - dummies

Comment obtenir des listes avec la fonction lapply dans R - dummies

Fonctionne la fonction lapply () exactement la même chose que la fonction sapply (), avec une différence importante: elle renvoie toujours une liste. Ce trait peut être bénéfique si vous n'êtes pas sûr de ce que sera le résultat de sapply (). Supposons que vous souhaitiez connaître les valeurs uniques d'un seul sous-ensemble des clients de trame de données. Vous pouvez ...

Le choix des éditeurs

Ne négligez pas les bases du blogage de maman - les mannequins

Ne négligez pas les bases du blogage de maman - les mannequins

Après avoir blogué pendant quelques années, vous pourriez commencer à évitez quelques tâches de blogues de base telles que répondre aux commentaires, commenter d'autres blogs, établir de nouvelles relations avec d'autres blogueurs et rester au courant de la maintenance du site. Juste parce que certaines tâches sont des compétences de base de blogs, ils ne sont pas seulement pour les blogs débutants. Ils sont basiques parce que ...

Ne manquent pas de planifier leur succès en tant que blogueuse maman - les nuls

Ne manquent pas de planifier leur succès en tant que blogueuse maman - les nuls

Plus Les blogueurs n'ont pas commencé à penser qu'ils allaient en gagner leur vie. Habituellement, ils commençaient juste à créer un blog pour s'amuser, ils se rendaient compte qu'ils étaient bons, et ensuite ils se sont soudainement retrouvés dans une entreprise qu'ils n'avaient pas prévu de démarrer en premier lieu. Prenez votre blog au sérieux et traitez-le comme ...

Le choix des éditeurs

Comment régler la qualité d'image sur un appareil photo Canon Rebel T5 / 1200D - Les nuls

Comment régler la qualité d'image sur un appareil photo Canon Rebel T5 / 1200D - Les nuls

Pour choisir un paramètre de qualité d'image sur le Canon Rebel T5 / 1200D, la première décision que vous devez prendre est le nombre de pixels que vous voulez que votre image contienne. Les pixels sont les petits carreaux carrés à partir desquels toutes les images numériques sont faites; le pixel est court pour l'élément d'image. Lors de la description d'une image numérique, les photographes utilisent ...

Comment filmer des portraits de nuit sur votre Canon EOS 6D - mannequins

Comment filmer des portraits de nuit sur votre Canon EOS 6D - mannequins

Pour créer des portraits Si vous utilisez ce mode pendant la nuit sur votre EOS 6D, l'obturateur reste ouvert suffisamment longtemps pour capturer les détails en arrière-plan. Cela signifie que vous devrez monter votre caméra sur un trépied pour compenser la vitesse d'obturation lente. Vous devrez également utiliser un Canon ...