Measuing Application Server Performance using ECPerf

quicksandwalleyeInternet and Web Development

Oct 31, 2013 (3 years and 9 months ago)

79 views

Measuring Application
Server Performance using
ECperf

David Lucas

President

Lucas Software Engineering, Inc

DDLUCAS@LSE.COM

Agenda


Introduction


ECperf Model


Business


Data


ECperf & J2EE


Servlet/JSP


EJB


ECperf Test


Report


Tuning Tips


Conclusion

Introduction


Welcome


Benchmarks


Why ECperf?


What is ECperf?

Benchmarks


What are they good for?


Who uses them?


Why would you use them?

Why ECperf?


There was no easy way to compare
EJB Containers for those who had
never built EJBs.


The ECperf was built through the Java
Community Process to stress an EJB
Container in the areas of performance
and scalability

What is ECperf?



"ECperf is a Enterprise
JavaBeans(EJB) benchmark meant to
measure the scalability and
performance of J2EE servers and
containers. "
--
TheServerSide


The benchmark is geared at showing
how a particular real world application
will behave in a given EJB Container
(middle tier).

ECperf
-

Business Model


Customer


Manufacturing


Supplier


Corporate

ECperf
-

Data Model


Schema provided for major databases
like DB2, Oracle, etc.


There are a total of 22 tables


Depending on database, some
optimizations have been done as part
of the ECperf


Make sure you take advantage of your
database performance guides

ECperf
-

Servlet/JSP


Web based access to view, order and
manage domains


14 JSPs


2 Major Servlets

ECperf
-

EJB


Session Beans (about 26)


Entity Beans (about 40)


No Message Beans (see next spec)

ECperf
-

Deployment


Standard/Distributed


Client Simulator


Server


Database


Supplier Simulator


Manufacturing Simulator

ECperf
-

Test


Build


Sun's ECperf kit


Vendor ECperf kit


Configure environment properties and database


Load database


Descriptors


Particular to your AppServer


Deployment


Particulart to your AppServer


Execution


database startup


AppServer next


client runner

DEMO


This is a laptop!


Please do not gage performance of
anything on this machine. ;
-
)


Quiz
-

How can I improve this test?

ECperf
-

Report


What are BBops?


Benchmark Business OPerationS


They are measured per minute to
represent a business transaction that
completed through all domains.


Certified results includes cost of
system under test (SUT) / Bbops/min


Type of Persistence Used

ECperf
-

Report


Report must disclose:


priced box containers ran on


database type, OS, S/W, H/W and
schema used


software products used


client box, OS, S/W, H/W


network configuration



ECperf
-

Tuning Tips



Run each domains tables on separate
databases on separate machines


Have a high troughput client driver
machine


Have high bandwidth between boxes


Have a lot of memory and swap


Have at least one EJB Container per
CPU on a box


Your results are good if Bbops/min is
greater than (txRate*100)

Conclusion


Benchmarks can be useful


Run ECperf and compare for yourself
in your environment


http://www.theserverside.com tracks
results, but be wise, they are not
apples to apples.


Future of ECperf (specjAppServ)

Resources

http://java.sun.com/j2ee/ecperf

http://ecpert.theserverside.com/ecperf

http://jcp.org/aboutJava/communityprocess/final/jsr004

http://www.theserverside.com/resources/article.jsp?|=Why_ECperf


There were several PDFs available from Borland, but they

are temporarily offline due to the new developer portal.

These were:


ECperf_For_BES_501.pdf


ecperf_wp_bes501.pdf


If you would like these, please email me and I will send them to
you.

Questions?

All trademarks in this presentation are those of their respective owners.

Thank You!

Please fill out the speaker evaluation.


You can contact me further at …

DDLUCAS@LSE.COM