Huis Persoonlijke financiën Analyse van prestaties in Enterprise JavaBeans - dummies

Analyse van prestaties in Enterprise JavaBeans - dummies

Video: HPE ProLiant DL380: The world’s best-selling server just got better 2024

Video: HPE ProLiant DL380: The world’s best-selling server just got better 2024
Anonim

Het analyseren van de prestaties is waarschijnlijk een van de meest complexe taken bij het ontwerpen van een toepassing. Het is een onnauwkeurige wetenschap omdat er veel factoren spelen. Deze zijn uitgebreid in Enterprise JavaBeans (EJB) -toepassingen, waarbij de prestaties grotendeels afhangen van de implementatie van de EJB-container die u gebruikt. Waar het op neerkomt, is dat je niet kunt weten of je de juiste beslissingen neemt over de prestaties tot je ze test.

Hieronder volgen enkele problemen waarmee u rekening moet houden bij het beoordelen van prestatieproblemen:

  • Niet alle EJB-containers zijn gelijk gemaakt. Hoewel elke EJB-container moet voldoen aan de EJB-specificatie, hebben leveranciers een grote vrijheid bij het implementeren van de EJB-container. Hun eisen zijn gericht op de uitkomsten van operaties, niet op de efficiëntie van een operatie. Sommige leveranciers zullen het beter doen met verschillende delen van een EJB-container. U moet bepalen waar efficiëntieverbeteringen kunnen worden behaald in een EJB-container en waar knelpunten in de prestaties optreden. De enige manier om dat met zekerheid te weten, is door te proberen voordat je koopt. Zelfs nadat u een oplossing hebt aangeschaft, moeten belangrijke ontwerpbeslissingen, zoals het al dan niet gebruiken van EJB-entiteitbonen, worden getest.
  • De prestaties kunnen afhangen van de efficiëntie van uw toepassing. Er zijn algemene regels die u kunt gebruiken om te bepalen welke app-ontwerpen beter zijn dan andere. Maar deze richtlijnen kunnen gemakkelijk ongeldig worden gemaakt met een slordige implementatie. De beste manier om slordige implementaties te voorkomen, is door regelmatig codeoverzichten uit te voeren - dat is wanneer u bij al uw codeermedewerkers zit en uw werk laat beoordelen - tijdens uw EJB-project. U moet uw codebeoordelingen richten op het analyseren van de bron en ervoor zorgen dat deze zowel goed ontworpen als efficiënt is. Code-reviews bieden programmeurs een geweldige mogelijkheid om van elkaar te leren.
  • Ontwikkel een prototype om uw prestatieaannamen te testen. Dit is een voorbeeldscenario. Als ontwikkelaar van een EJB-applicatie moet u al snel beslissen of u entity-bonen wilt gebruiken om de interactie met een database te beheren. Uw twee basiskeuzes zijn om

entiteitbonen te maken om de database-interactie te beheren. Entity-bonen kunnen uw database-interactie vereenvoudigen vanuit het perspectief van een applicatieprogrammering. Maar ze kunnen ook een prestatievergoeding eisen. Een deel van die boete kan worden beheerd op de manier waarop u entiteitsbonen implementeert - dat wil zeggen, door lokale interfaces te gebruiken ten opzichte van externe interfaces of door entiteitbonen grofkorrelige objecten te maken.

Typ JDBC-databasecodes rechtstreeks in sessiebonen en vermijd het gebruik van entiteitbonen helemaal. JDBC kan moeilijker zijn om mee te werken dan het gebruik van entiteitsbonen met persistentie die wordt beheerd door containers. Deze cursus kan ook uw vermogen om te profiteren van EJB-containerbeheerde transacties ondermijnen.

Om te bepalen welke van de twee cursussen meer geschikt is, kunt u een eenvoudige test uitvoeren:

1. Maak een entity bean en een sessieboon die beide bewerkingen uitvoeren op dezelfde set gegevens uit een database.

2. Schrijf een eenvoudig programma dat de hoeveelheid tijd meet die nodig is om een ​​set invoegingen, updates, query's en wijzigingen in de database op te roepen.

Dit tweede programma zou de sessieboon moeten aanroepen voor één test en de entiteit moet een nieuwe test uitvoeren - waarbij dezelfde set bewerkingen op elke test worden uitgevoerd.

3. Analyseer de resultaten om te bepalen of de prestaties een probleem vormen.

Als u een meer verfijnde prestatieanalyse wilt, kunt u afzonderlijke stappen uitvoeren om de duurste bewerking te identificeren en vervolgens deze bewerkingen wijzigen om prestatiewinst te behalen.

Voor een entiteit-bean, wil je misschien de prestaties meten met de volgende bewerkingen:

  • Hoe lang duurt het om een ​​verwijzing naar een externe interface of een lokale interface te krijgen?
  • Wat is het verschil in prestaties tussen het uitvoeren van een update op een externe interface en een lokale interface?
  • Wat is het verschil tussen het bijwerken van meerdere rijen in een database in JDBC en het uitvoeren van een update op meerdere rijen met de startmethode van een entiteitboon?

De antwoorden op deze vragen zullen verschillen van EJB-container tot EJB-container en zullen ook worden beïnvloed door: a) het JDBC-stuurprogramma dat u kiest; b) of u gebruik maakt van pooling van databaseverbindingen; en c) de efficiëntie van uw implementaties van de entiteit bean en de session bean. U zult waarschijnlijk verrast zijn door sommige van de resultaten die u krijgt - testen als deze hebben een manier om uw veronderstellingen over de prestaties van entiteitsbonen uit te dagen.

Maak geen willekeurige wijzigingen als u een EJB afstemt op prestaties. Richt in plaats daarvan uw aandacht op de stappen in de toepassing die het meest kosten in termen van prestaties.

Opmerking: Prestatiemetingen tonen meestal aan dat een bedrijfsproces slechts één of twee punten heeft waarop aanzienlijke verbeteringen kunnen worden aangebracht. Deze constatering is vaak genoeg gemaakt dat dit heeft geleid tot de totstandkoming van de Pareto 80-20-regel. Die regel stelt dat 80 procent van de uitvoeringstijd van een programma te wijten is aan 20 procent van de code. Het is uw doel om vast te stellen welke 20 procent van de code het meest duur is in termen van systeembronnen en u te richten op het optimaliseren van dat gedeelte.

Analyse van prestaties in Enterprise JavaBeans - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...