Zuhause Persönliche Finanzen Analyse der Performance in Enterprise JavaBeans - Dummies

Analyse der Performance in Enterprise JavaBeans - Dummies

Video: Telefonleitfaden: Richtig telefonieren 2024

Video: Telefonleitfaden: Richtig telefonieren 2024
Anonim

Die Analyse der Performance ist wahrscheinlich eine der komplexesten Aufgaben beim Entwerfen jeder Anwendung. Es ist eine unpräzise Wissenschaft, weil es viele Faktoren gibt, die ins Spiel kommen. Diese werden in EJB-Anwendungen (Enterprise JavaBeans) erweitert, deren Leistung weitgehend von der Implementierung des von Ihnen verwendeten EJB-Containers abhängt. Das Endergebnis ist, dass Sie nicht wissen können, ob Sie die richtigen Leistungsentscheidungen treffen, bis Sie sie testen.

Im Folgenden sind einige Punkte aufgeführt, die Sie bei der Berücksichtigung von Leistungsproblemen beachten sollten:

  • Nicht alle EJB-Container sind gleich. Während jeder EJB-Container der EJB-Spezifikation entsprechen muss, haben die Anbieter einen großen Spielraum bei der Implementierung des EJB-Containers. Ihre Anforderungen konzentrieren sich auf die Ergebnisse von Vorgängen und nicht auf die Effizienz einer Operation. Einige Anbieter werden mit verschiedenen Teilen eines EJB-Containers besser abschneiden. Sie müssen bestimmen, wo Effizienzen in einem EJB-Container erzielt werden können und wo Leistungsengpässe auftreten. Der einzige Weg, das mit Sicherheit zu wissen, ist zu versuchen, bevor Sie kaufen. Auch nach dem Kauf einer Lösung sollten wichtige Designentscheidungen, z. B. ob EJB-Entity-Beans verwendet werden sollen, getestet werden.
  • Die Leistung kann von der Effizienz Ihrer Anwendung abhängen. Es gibt allgemeine Regeln, anhand derer Sie bestimmen können, welche Anwendungsdesigns besser sind als andere. Aber diese Richtlinien können leicht mit einer schlampigen Implementierung ungültig gemacht werden. Der beste Weg, um schlampige Implementierungen zu vermeiden, besteht darin, regelmäßige Code-Reviews durchzuführen - das ist der Zeitpunkt, an dem Sie mit all Ihren Programmierern zusammen sitzen und Ihre Arbeit überprüfen lassen - während Ihres EJB-Projekts. Sie sollten Ihre Code-Reviews darauf konzentrieren, die Quelle zu analysieren und sicherzustellen, dass sie sowohl gut konzipiert als auch effizient ist. Code-Reviews bieten Programmierern die Möglichkeit, voneinander zu lernen.
  • Entwickeln Sie einen Prototyp, um Ihre Leistungsannahmen zu testen. Hier ist ein Beispielszenario. Als EJB-Anwendungsentwickler sollten Sie frühzeitig entscheiden, ob Entity-Beans verwendet werden sollen, um die Interaktion mit einer Datenbank zu verwalten. Ihre zwei grundlegenden Optionen sind:

Erstellen Sie Entity-Beans, um die Datenbankinteraktion zu verwalten. Entity-Beans können Ihre Datenbankinteraktion aus der Perspektive der Anwendungsprogrammierung vereinfachen. Aber sie können auch eine Leistungsstrafe verhängen. Ein Teil dieser Strafe kann dadurch gesteuert werden, wie Sie Entity-Beans implementieren - das heißt, indem Sie lokale Interfaces im Vergleich zu Remote-Interfaces verwenden oder indem Sie Entity-Beans zu grobkörnigen Objekten machen.

Code JDBC-Datenbank ruft direkt in Session-Beans auf und vermeidet die Verwendung von Entity-Beans. Es kann schwieriger sein, mit JDBC zu arbeiten, als Entity-Beans mit containergesteuerter Persistenz zu verwenden. Dieser Kurs kann auch Ihre Fähigkeit untergraben, EJB-containergesteuerte Transaktionen zu nutzen.

Um festzustellen, welcher der beiden Kurse besser geeignet ist, können Sie einen einfachen Test durchführen:

1. Erstellen Sie eine Entity-Bean und eine Session-Bean, die beide Vorgänge für denselben Datensatz aus einer Datenbank ausführen.

2. Schreiben Sie ein einfaches Programm, das die Zeit misst, die erforderlich ist, um eine Reihe von Einfügungen, Aktualisierungen, Abfragen und Änderungen an der Datenbank aufzurufen.

Dieses zweite Programm sollte die Session-Bean für einen Test und die Entity-Bean für einen anderen Test aufrufen, wobei für jeden Test die gleiche Gruppe von Operationen ausgeführt wird.

3. Analysieren Sie die Ergebnisse, um festzustellen, ob die Leistung ein Problem darstellt.

Wenn Sie eine detailliertere Leistungsanalyse wünschen, können Sie einzelne Schritte zeitlich festlegen - um die teuerste Operation zu ermitteln - und dann diese Vorgänge ändern, um Leistungssteigerungen zu erzielen.

Bei einer Entity-Bean können Sie die Leistung bei folgenden Operationen messen:

  • Wie lange dauert es, bis eine Referenz auf eine Remote-Schnittstelle oder eine lokale Schnittstelle verfügbar ist?
  • Was ist der Leistungsunterschied zwischen der Durchführung einer Aktualisierung auf einer Remote-Schnittstelle und einer lokalen Schnittstelle?
  • Was ist der Unterschied zwischen der Aktualisierung mehrerer Zeilen in einer Datenbank in JDBC und der Durchführung einer Aktualisierung für mehrere Zeilen mit der home-Methode einer Entity-Bean?

Die Antworten auf diese Fragen unterscheiden sich von EJB-Container zu EJB-Container und werden auch beeinflusst durch: a) den von Ihnen gewählten JDBC-Treiber; b) ob Sie Datenbankverbindungspooling verwenden oder nicht; und c) die Effizienz Ihrer Implementierungen der Entity-Bean und der Session-Bean. Sie werden wahrscheinlich überrascht sein von einigen der Ergebnisse, die Sie erhalten - Tests wie diese können Ihre Annahmen über die Leistung von Entity-Beans in Frage stellen.

Wenn Sie ein EJB auf Leistung einstellen, nehmen Sie keine zufälligen Änderungen vor. Konzentrieren Sie sich stattdessen auf die Schritte in der Anwendung, die hinsichtlich der Leistung am meisten kosten.

Hinweis: Leistungsmessungen zeigen normalerweise, dass ein Geschäftsprozess nur einen oder zwei Punkte hat, an denen signifikante Verbesserungen vorgenommen werden können. Diese Beobachtung wurde so oft gemacht, dass sie zur Pareto 80-20-Regel führte. Diese Regel besagt, dass 80 Prozent der Ausführungszeit eines Programms auf 20 Prozent des Codes zurückzuführen sind. Ihr Ziel sollte es sein, herauszufinden, welche 20 Prozent des Codes am teuersten sind, und sich auf die Optimierung dieses Teils zu konzentrieren.

Analyse der Performance in Enterprise JavaBeans - Dummies

Die Wahl des Herausgebers

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Schneller Foto-Bearbeitungsmodus ist eine abgespeckte Version des Modus "Full Photo Edit", der einfach grundlegende Fixingtools bereitstellt und mit einigen einzigartigen Funktionen aufwartet, z. B. eine Vorher-Nachher-Vorschau Ihres Bildes. Hier ist ein Schritt-für-Schritt-Workflow, den Sie im Schnellfoto-Bearbeitungsmodus verwenden können, um Ihre Fotos zu reparieren:

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Fotoeffekte in Photoshop Elements 11 funktionieren wie Anwenden von Filtern; Das Dialogfeld "Filtergalerie" bietet Ihnen zahlreiche Optionen zum Anwenden eines Filters. Das geführte Bedienfeld bietet Ihnen Filtereffekte und führt Sie dann durch die Schritte zum Anpassen von Helligkeitswerte, Ändern von Farbton und Sättigung und Durchführen weiterer Anpassungen zum Vervollkommnen des Ergebnisses. Sie ...

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Absatztyp in Photoshop Elements 11 ist ähnlich zu dem Text, den Sie in ein Textverarbeitungsprogramm eingeben, mit der Ausnahme, dass er in einem Textfeld oder einem Begrenzungsrahmen enthalten ist. Wenn Sie größere Textabschnitte haben, die Sie in ein Bild eingeben möchten, ist die Eingabe des Textes als Absatztyp die praktischste Option. Während ...

Die Wahl des Herausgebers

PHP-Anweisungen - Dummys

PHP-Anweisungen - Dummys

PHP ist eine Skriptsprache, die speziell für die Verwendung im Internet entwickelt wurde. Es enthält Funktionen, die Sie bei der Programmierung der Aufgaben unterstützen, die für die Entwicklung dynamischer Webanwendungen erforderlich sind. Diese Tabelle gibt einen kurzen Überblick über einige der Anweisungen, die Sie häufig verwenden werden: Anweisung Beschreibung array ("key" => "value", ...); Casts a ...

PHP-Schablonen-Systeme - Schablonen-Systeme

PHP-Schablonen-Systeme - Schablonen-Systeme

Können die Menge an Arbeit reduzieren, die Sie für die Erstellung einer Website in PHP benötigen. Wenn Sie eine Website erstellen, verwenden Sie häufig das gleiche Layout für die gesamte Website. Sie haben eine obere Portion, vielleicht mit einem Menü; ein Hauptinhaltsbereich; und ein unterer Teil, vielleicht mit Links oder ...

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Die ALTER Query wird verwendet, um die Struktur von eine MySQL-Datenbank. In dieser Liste wird die Syntax für die Änderungen angezeigt, die Sie wahrscheinlich vornehmen möchten: ADD-Spaltenbezeichnung ALTER-Spaltenname SET-DEFAULT-Wert ALTER-Spaltenname DROP DEFAULT CHANGE-Spaltenname newcolname-Definition DROP-Spaltenname MODIFY-Spaltenname RENAME newtablename

Die Wahl des Herausgebers

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Mit NoSQL haben Sie Hochgeschwindigkeits-Caching. Stellen Sie sich vor, Sie sind Bankangestellte und arbeiten mit drei anderen Kollegen zusammen. Jeder hat eine Reihe von Leuten, die bedient werden sollen. Einer der Kunden bleibt jedoch in der Schlange, um zu fragen, ob sein Scheck bereits eingelöst und der Betrag seinem Konto gutgeschrieben wurde. Wenn Sie ...

Wie man Einsichten aus Big Data kommuniziert - Dummies

Wie man Einsichten aus Big Data kommuniziert - Dummies

Big Data kann helfen, Einblicke zu gewinnen. Unternehmen gewinnen Wettbewerbsvorteile, wenn die richtigen Informationen zur richtigen Zeit an die richtigen Leute geliefert werden. Dies bedeutet, Erkenntnisse und Informationen aus Daten zu extrahieren und sie Entscheidungsträgern auf eine Weise zu vermitteln, die sie leicht verstehen. Schließlich sind Menschen weniger wahrscheinlich zu handeln, wenn sie ...

Zookeeper und HBase Reliability - dummies

Zookeeper und HBase Reliability - dummies

Zookeeper ist ein verteiltes Cluster von Servern, das gemeinsam zuverlässige Koordinations- und Synchronisationsdienste für Cluster-Anwendungen bereitstellt. .. Zugegeben, der Name "Zookeeper" mag auf den ersten Blick eine seltsame Wahl sein, aber wenn Sie verstehen, was es für einen HBase-Cluster tut, können Sie die Logik dahinter sehen. Beim Erstellen und Debuggen von verteilten Anwendungen ...