-------------------------------------------------------------------------------- SPECjAppServer(R)2004 Result Copyright (C) 2004 Standard Performance Evaluation Corporation -------------------------------------------------------------------------------- Sun GlassFish Enterprise Server v2 Update 2, SunFire X4150 Cluster with MySQL 5.0 on OpenSolaris 2008.05 -------------------------------------------------------------------------------- 1,197.10 SPECjAppServer2004 JOPS@Standard -------------------------------------------------------------------------------- Submitter: Sun Microsystems Inc. SPEC license # 6 Test date: Sep-2008 -------------------------------------------------------------------------------- SUT CONFIGURATION -------------------------------------------------------------------------------- J2EE Server Nodes: 2 DB Server Nodes: 1 J2EE Server CPUs: 8 cores, 2 chips (4 cores/chip) DB Server CPUs: 4 cores, 1 chip (4 cores/chip) J2EE Instances: 2 DB Instances: 1 Other SUT Components: None -------------------------------------------------------------------------------- BENCHMARK SETTINGS -------------------------------------------------------------------------------- Dealer Injection Rate: 716 Ramp Up Time: 600 sec # of Dealer Agents: 5 Ramp Down Time: 300 sec # of Manufacturing Agents: 8 Steady State Time: 3,600 sec DB Load Injection Rate: 800 Trigger Time: 200 sec -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Dealer Transaction Mix Count Tx. Mix Purchase 647,580 25.01% Manage 646,873 24.99% Browse 1,294,487 50.00% Total # Dealer Transactions 2,588,940 Total # Manufacturing Transactions 1,720,603 Response Times Average Maximum 90th% Reqd Purchase 0.66 27.53 1.20 2.00 Manage 0.29 32.24 0.70 2.00 Browse 0.40 25.20 0.80 2.00 Manufacturing 1.80 22.92 2.50 5.00 Reproducibility Run (SPECjAppServer2004 JOPS) 1,197.99 -------------------------------------------------------------------------------- SOFTWARE PRODUCTS -------------------------------------------------------------------------------- Sun GlassFish Enterprise Server v2 Update 2 Vendor: Sun Microsystems, Inc. Availability Date: May-2008 Date Passed CTS: Feb-2007 CTS Version: CTS EE 5 EJB Protocol: RMI/IIOP OS Name: OpenSolaris 2008.05 -------------------------------------------------------------------------------- Jakarta Tomcat 5.5.26 Vendor: Apache Software Foundation Availability Date: Aug-2007 -------------------------------------------------------------------------------- Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit Vendor: Sun Microsystems, Inc. Availability Date: Jul-2008 OS Name: OpenSolaris 2008.05 -------------------------------------------------------------------------------- Connector/J 5.1.5 Vendor: Sun Microsystems, Inc Availability Date: Oct-2007 OS Name: OpenSolaris 2008.05 -------------------------------------------------------------------------------- MySQL 5.0.67 64-bit Vendor: MySQL Corporation Availability Date: Aug-2008 OS Name: OpenSolaris 2008.05 -------------------------------------------------------------------------------- SOFTWARE CONFIGURATIONS -------------------------------------------------------------------------------- J2EE Application Servers J2EE Product: Sun GlassFish Enterprise Server v2 Update 2 JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit JDBC Product: Connector/J 5.1.5 Hardware: J2EE AppServer HW # of Instances: 2 Interfaces: Web Interface for the Dealer Domain Web Interface for the Supplier Domain EJB Interface for the Dealer Domain EJB Interface for the Manufacturing Domain EJB Interface for the Supplier Domain Notes / Tuning Information Tunings in domain.xml: JVM Options: -server -XX:MaxPermSize=192 -XX:+AggressiveHeap -XX:+AggressiveOpts -Xms2560m -Xms2560m -Xmn1024m -Xss128k -XX:+DisableExplicitGC -XX:ParallelGCThreads=8 -XX:LargePageSizeInBytes=2m -XX:+UseParallelOldGC -XX:-UseBiasedLocking -Xloggc:gc.log -XX:+PerfDataSaveToFile -XX:CompileThreshold=500 JDBC Pool (for EJBs): max-pool-size=100 steady-pool-size=50 cachePrepStmts=true prepStmtCacheSize=512 alwaysSendSetIsolation=false useLocalSessionState=true useServerPreparedStmts=false useLocalSessionState=true useReadAheadInput=false elideSetAutoCommit=true useUsageAdvisor=false useReadAheadInput=false useUnbufferedInput=false cacheServerConfiguration=true General Tunings: All Glassfish instances run in the FX class via the priocntl command -------------------------------------------------------------------------------- Emulator SW Config JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit Web Product: Jakarta Tomcat 5.5.26 Hardware: Load Driver HW (Emulator) # of Instances: 1 Notes / Tuning Information JVM Options: -server -Xmx2048m -Xms2048m -XX:+DisableExplicitGC -XX:+AggressiveOpts Emulator Software Configuration. server.xml: maxThreads=1000 -------------------------------------------------------------------------------- Database SW Config DB Product: MySQL 5.0.67 64-bit Hardware: Database Server HW # of Instances: 1 Notes / Tuning Information MySQL 5.0 Tuning in /etc/my.cnf (included in FDA) [mysqld] sql-mode = IGNORE_SPACE transaction-isolation = READ-COMMITTED max_allowed_packet = 1M max_connections=300 max_connect_errors=100 table_cache = 6000 read_rnd_buffer_size = 2M sort_buffer_size = 32k thread_cache = 16 query_cache_size = 0M thread_concurrency = 8 max_heap_table_size=200M log-output = FILE log-slow-queries=/tmp/mysql-slow.log long_query_time = 1 innodb_data_home_dir = /data/mysql/var innodb_data_file_path = ibdata1:10000M:autoextend innodb_file_per_table innodb_log_group_home_dir = /log/mysql/var/ innodb_checksums = 0 innodb_doublewrite = 0 innodb_buffer_pool_size = 5000m innodb_additional_mem_pool_size = 20M innodb_log_file_size = 1600M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 300 innodb_thread_concurrency = 0 innodb_sync_spin_loops = 40 innodb_locks_unsafe_for_binlog = 1 innodb_max_dirty_pages_pct=15 innodb_support_xa=0 innodb_flush_method = O_DIRECT -------------------------------------------------------------------------------- Driver SW Config Primary JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit Hardware: Load Driver HW # of Instances: 2 Notes / Tuning Information JVM Options: -server -XX:LargePageSizeInBytes=2m -XX:+AggressiveOpt -XX:+DisableExplicitGC -Xmx2048m -Xss128k -Dnetworkaddress.cache.ttl=0 Dsun.net.inetaddr.ttl=0 -Djava.naming.provider.url=iiop://apps:3700 -Djava.naming.provider.url.pkgs=com.sun.enterprise.naming -Dcom.sun.appserv.iiop.endpoints=app1:3700,app2:3700 -Dorg.omg.CORBA.ORBInitialHost=apps -Dorg.omg.CORBA.ORBInitialPort=3700 -Djava.util.logging.config.file=${JAS_HOME}/logging.properties -------------------------------------------------------------------------------- HARDWARE SYSTEMS -------------------------------------------------------------------------------- J2EE AppServer HW (SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire X4150 Processor: Intel Xeon X5460 MHz: 3166 # of CPUs: 4 cores, 1 chip, 4 cores/chip Memory (MB): 8192 L1 Cache: 32KB(I)+32KB(D) L2 Cache: 12MB I+D on chip Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: OpenSolaris 2008.05 Disks: 2x73Gb 10K RPM Network Interface: (4) 1000BaseT Ethernet Other Hardware: # of Systems: 2 H/W Available: Jan-2008 O/S Available: May-2008 Notes / Tuning Information -------------------------------------------------------------------------------- Database Server HW (SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire X4150 Processor: Intel Xeon X5460 MHz: 3166 # of CPUs: 4 cores, 1 chip, 4 cores/chip Memory (MB): 8192 L1 Cache: 32KB(I)+32KB(D) per core L2 Cache: 12MB I+D on chip Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: OpenSolaris 2008.05 Disks: 8x73Gb 10K RPM Network Interface: (4) Onboard 1000BaseT Ethernet Other Hardware: null # of Systems: 1 H/W Available: Jan-2008 O/S Available: May-2008 Notes / Tuning Information UFS Options for log and data noatime, nologging mysqld moved into the FX scheduling class via priocntl -s -c FX mysql-pid -------------------------------------------------------------------------------- Load Driver HW (non-SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire V40z Processor: AMD Opteron 850 MHz: 2400 # of CPUs: 4 cores, 4 chips, 1 core/chip Memory (MB): 8192 L1 Cache: 64KB(I)+64KB(D) L2 Cache: 1MB Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 5/08 (64-bit) Disks: 4 x 36GB Network Interface: (2) Onboard 1000BaseT Ethernet Other Hardware: 8 Port ASANTE Switch # of Systems: 2 H/W Available: Jul-2004 O/S Available: May-2008 Notes / Tuning Information -------------------------------------------------------------------------------- Load Driver HW (Emulator) (non-SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire X4200 M2 Processor: AMD Opteron 2220 SE MHz: 2800 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 8192 L1 Cache: 64KB(I)+16KB(D) L2 Cache: 1MB per core Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 5/08 (64-bit) Disks: 2x73GB 10K RPM Network Interface: (4) Onboard 1000BaseT Ethernet Other Hardware: null # of Systems: 1 H/W Available: Jan-2008 O/S Available: May-2008 Notes / Tuning Information -------------------------------------------------------------------------------- BENCHMARK MODIFICATIONS -------------------------------------------------------------------------------- Schema Modifications: Scripts to create the DB are included in the FDA. Extra indexes were created CREATE UNIQUE INDEX M_lo_idx ON M_largeorder (lo_id) CREATE UNIQUE INDEX M_OL_O_idx ON M_largeorder (lo_o_id, lo_ol_id) CREATE INDEX C_custci_idx ON C_customerinventory(ci_customerid); CREATE INDEX O_status_idx ON O_orders (o_status); CREATE INDEX O_oc_os_idx ON O_orders (o_c_id, o_status); Added TABLE TXN_LOG_TABLE to support JMS transaction logging to database Created the primary indexes via the MySQL primary key syntax -------------------------------------------------------------------------------- Load Program Modifications: The load program was not modified BENCHMARK CONFIGURATION INFORMATION -------------------------------------------------------------------------------- Isolation Requirement Info: BEAN SPEC_REQUIREMENT Deployment Corp.CustomerEnt Repeatable Read Sel-4-Upd Corp.CustomerInventoryEnt Repeatable Read Sel-4-Upd Mfg.InventoryEnt Repeatable Read Sel-4-Upd Mfg.WorkOrderEnt Repeatable Read Sel-4-Upd Orders.OrderEnt Repeatable Read Sel-4-Upd Orders.OrderLineEnt Repeatable Read Sel-4-Upd Supplier.POEnt Repeatable Read Sel-4-Upd Supplier.POLineEnt Repeatable Read Sel-4-Upd Supplier.SComponentEnt Repeatable Read Sel-4-Upd Util.SequenceEnt Repeatable Read Sel-4-Upd Mfg.AssemblyEnt Read Committed RC Mfg.BomEnt Read Committed RC Mfg.ComponentEnt Read Committed RC Mfg.LargeOrderEnt Read Committed RC Mfg.PartEnt Read Committed RC Orders.ItemEnt Read Committed RC Supplier.SupplierCompEnt Read Committed RC Supplier.SupplierEnt Read Committed RC The ItemEnt bean was cached for 20 minute intervals by setting is-read-only-bean=true and refresh-period-in-seconds=1200 in the sun-orders.xml deployment descriptor. Only the data inside the bean was cached. -------------------------------------------------------------------------------- Durability Requirement Info: To ensure database durability, RAID 1 (mirror disks) was used for the database files and logs maintained on 6 of the 8 internal disks of the Sun Fire 4150. The internal raid controller used for the database and logs is equipped with a battery backup with capacity of 3 days Each application server has a pair of disks a slice of these disks was used to create a ZFS mirrored filesystem for JMS logs to ensure durability for the JMS messages. The application servers disks are connected via a battery backed up internal cache controller -------------------------------------------------------------------------------- Storage Requirement Info: The 80 minute run for this submission required less than 10GB of database storage. This extrapolates to less than 180GB for a 24 hour period. The SunFire 4150 is configured with 219 GB of Raid 1 storage. -------------------------------------------------------------------------------- Argument Passing Semantics: Sun GlassFish Enterprise Server v2 Update 2 uses pass-by-value semantics by default. BILL OF MATERIALS -------------------------------------------------------------------------------- Supplier Description Product # Qty -------- ---------------------------------------- ------------------ --- Sun Sun Fire X4150 (1 * 4 Core Intel X5460) B13-UE1-EC-4GB-JLB 2 Sun 73 GB 10000 rpm 2.5-Inch SAS Disk Drive XRA-SS2CF-73G10K 2 Sun 4 GB (2 x 2 GB DIMMs) X6381A 2 Sun Sun StorageTek PCIe SAS RAID, 8 Port Internal, Includes Battery Backup SGXPCIESAS-R-INT-Z 2 Sun OpenSolaris 2008.05 Sun SunSpectrum Upgrade: 3YGOLD, 24x7 IWU-B13-24-3G 2 Sun Sun Fire X4150 (1 * 4 Core Intel X5460) B13-UE1-EC-4GB-JLB 1 Sun 4 GB (2 x 2 GB DIMMs) X6381A 2 Sun 73 GB 10000 rpm 2.5-Inch SAS Disk Drive XRA-SS2CF-73G10K 8 Sun Sun StorageTek PCIe SAS RAID, 8 Port Internal, Includes Battery Backup SGXPCIESAS-R-INT-Z 1 Sun OpenSolaris 2008.05 Sun SunSpectrum Upgrade: 3YGOLD, 24x7 IWU-B13-24-3G 1 Sun 17" Entry Color Monitor X7204A 1 Sun USB Keyboard 320-1271 1 Sun USB Mouse 320-2632 1 Sun Sun GlassFish Enterprise Server v2 Update 2 2 Sun MySQL Connector/J 5.1.5 2 Sun Sun GlassFish Enterprise Server v2 Update 2 Inc Premium Support per CPU for 1 year ASE29-00P-B929 12 Sun MySQL Database 5.0 1 Sun MySQL Enterprise Gold Support 3 for 1 year Note: As per Sec 4.1.3 of the SPECjAppServer2004 Run Rules, 2 additional 73GB disk drives for the DB have been configured into the BOM to meet the storage requirements for the Raid 1 DB stripe. This substitution is performance neutral. -------------------------------------------------------------------------------- OTHER BENCHMARK INFORMATION -------------------------------------------------------------------------------- The submission used round-robin DNS for load-balance of all HTTP network requests. The DNS server was hosted on one of the application servers. The submission used multiple endpoints to establish connections to the EJB tier using RMI/IIOP. This submission used the xerces implementation 2.6.2 provided with the Sun GlassFish Enterprise Server v2 Update 2. -------------------------------------------------------------------------------- General Notes -------------------------------------------------------------------------------- The only errors in the driver log files were those that are normally generated by this benchmark. The MySQL Connector/J JDBC Driver is a type 4 driver. XA 2-phase transactions were used to coordinate the interaction between the database server and JMS server using Sun's Last Agent Logging Optimization; the 1PC database transactions and XA logs are written to the database in a single transaction. Database checkpoints during the Measurement Interval were done by using continuous (fuzzy) checkpoints, where MySQL database engine InnoDB flushes modified database pages from the buffer pool in batches. -------------------------------------------------------------------------------- For questions about this result, please contact the submitter: Sun Microsystems Inc. For other inquiries, please contact SPEC - Benchmark run on Mon Sep 08 12:17:42 PDT 2008 by SPECjAppServer2004 v1.08 - Result submitted on null - Report generated by SPECjAppServer2004 Reporter v1.03 Copyright (C) 2004 Standard Performance Evaluation Corporation