Vi undersöker den kombinerade effekten av tillämpningsmetod, containerdesign och effektivitet av kommunikationslager på prestanda skalbarheten hos J2EE applikationsservrar genom detaljerad mätning och profilering av en auktionsplatsserver. Vi har implementerat fem versioner av auktionsplatsen. Den första versionen använder statslösa sessionsbönor, som endast i minimal utsträckning utnyttjar de tjänster som tillhandahålls av Enterprise JavaBeans (EJB) container. Två versioner använder enhetsbönor, den ena med containerhanterad persistens och den andra med bönhanterad persistens. Den fjärde versionen tillämpar sessionsfasadmönstret, med sessionsbönor som fasad för att komma åt enhetsbönor. Den senaste versionen använder EjB 2.0 lokala gränssnitt med sessionsfasadmönstret. Vi utvärderar dessa olika implementationer på två populära öppna EJB-containrar med ortogonal design. JBoss använder dynamiska proxies för att generera container klasser på körtid, gör en omfattande användning av reflektion. JONAS förkompilerar klasser under utplacering, minimerar användningen av reflektion på körtid. Vi utvärderar också de kommunikationsoptimeringar som tillhandahålls av var och en av dessa EJB-containrar. Den viktigaste faktorn för att fastställa prestanda är metoden för tillämpning. EjB-applikationer med sessionsbönor utför såväl som en Java servlets-endast implementation och en order-of-magnitude bättre än de flesta implementationer baserade på entitetsbönor. Det tillträde till fingranulatet som entitetsbönorna exponerar begränsar skalbarheten. Användning av sessionsfasad bönor förbättrar prestanda för enhet bönor, men endast om lokal kommunikation är mycket effektiv eller EjB 2.0 lokala gränssnitt används. Annars, sessionsfasad bönor försämra prestanda. För genomförandet med hjälp av sessionsbönor, kommunikationskostnader utgör den viktigaste komponenten i körningstiden på SJB-servern. Behållarens konstruktion har liten effekt på prestandan. Med entitetsbönor blir utformningen av behållaren viktig. Kostnaderna för eftertanke påverkar framför allt prestationerna. För implementationer med sessionsfasadbönor är lokala kommunikationskostnader av avgörande betydelse. EjB 2.0 lokala gränssnitt förbättrar prestandan genom att undvika kommunikationslager för lokal kommunikation.
I en nyligen publicerad rapport från REF diskuteras prestandan hos de tillämpningar som omfattas av den europeiska referensramen.
Performance and scalability of EJB applications
{'venue': "OOPSLA '02", 'journal': None, 'mag_field_of_study': ['Computer Science']}