SPECjAppServer2004 Scott Oaks Java Enterprise Performance
Agenda Sun Java Systems Application Server is new performance leader Overview of the benchmark and the parts of the appserver it affects
SPECjAppServer 2004 Standard SPEC benchmark for appservers Also includes database and other external resources Much more of a system benchmark SJSAS 9.1 best score on T2000 JDK 6.0 Update 2 DB2 Database Will be revved in late 2007 Include WebServices JPA replace Entity EJB
What it measures Several types of transactions Inject a load 1 IR == 13 users 2 – 5 second think time per transactions Measures 90% response time The transactions/sec essentially fixed per IR Pick an IR, run, see if you pass Then pick a new IR
SPECjAppServer Deployments Client 1 Appserver 1 Database ... ... Client N Cliet N Appserver N Emulator (WebServer)
Minimum Hardware Requirements One Appserver Machine One Machine for Database, Clients, Emulator Requires fast disk with battery cache Must have at least as much CPU as appserver 1GB link between machines Not via SWAN
Minimum Software Requirements Application Server (SJSAS 9.1) JVM Commercial (fast) database Oracle 10G, DB2 9.1 Tomcat SPECjAppServer code Part of refworkload
Key Transactions: MFG Driver makes ORB call into SLSB Create WorkOrder SLSB creates CMP based on data retrived from about 12 other CMP for i = 0 to 3 do updateWorkOrder; sleep 333 SLSB updates CMP Complete WorkOrder SLSB updates 2-5 CMP beans
Key Transactions: Browse for i = 1 to 10 Driver makes HTTP call to servlet Servlet locates 20 cached CMP beans Refreshed every 1200 seconds Data forwarded to JSP for display
Key Transactions: Purchase 4-5 servlet calls to add/clear items from SFSB 1-2 browse calls Servlet call to purchase Update 10-12 CMP beans Create JMS messages
AppServer Configuration Thread Pools HTTP: 65 on T2000 ORB: 45 on T2000 JMS: 40 on T2000 JDBC Pools: 200 connections Heap: 2560M
Things we don't always think about Synchronization points Will need to run on 64-CPU Niagara machines in 9.1_01 GC Invocation Object is 128 bytes 20-60 per operation It's only one short/little method Called 20-60 times per operation
Q&A Q? A!
TEMPLATE – ENDING SLIDE WITHOUT PHOTO Presenter’s Name first.last@sun.com