-------------------------------------------------------------------------------- SPECjAppServer(R)2004 Result Copyright (C) 2004 Standard Performance Evaluation Corporation -------------------------------------------------------------------------------- Oracle Application Server 10g Release 10.1.3.3 - Java Edition on Sun SPARC Enterprise T5220 -------------------------------------------------------------------------------- 2,000.92 SPECjAppServer2004 JOPS@Standard -------------------------------------------------------------------------------- Submitter: Sun Microsystems Inc. SPEC license # 6 Test date: Sep-2007 -------------------------------------------------------------------------------- SUT CONFIGURATION -------------------------------------------------------------------------------- J2EE Server Nodes: 1 DB Server Nodes: 1 J2EE Server CPUs: 8 cores, 1 chip DB Server CPUs: 8 cores, 1 chip J2EE Instances: 2 DB Instances: 1 Other SUT Components: -------------------------------------------------------------------------------- BENCHMARK SETTINGS -------------------------------------------------------------------------------- Dealer Injection Rate: 1,200 Ramp Up Time: 900 sec # of Dealer Agents: 24 Ramp Down Time: 300 sec # of Manufacturing Agents: 12 Steady State Time: 3,600 sec DB Load Injection Rate: 2,000 Trigger Time: 700 sec -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Dealer Transaction Mix Count Tx. Mix Purchase 1,080,462 24.99% Manage 1,080,129 24.98% Browse 2,163,024 50.03% Total # Dealer Transactions 4,323,615 Total # Manufacturing Transactions 2,879,699 Response Times Average Maximum 90th% Reqd Purchase 0.48 19.48 1.40 2.00 Manage 0.44 18.34 1.00 2.00 Browse 0.59 22.46 2.00 2.00 Manufacturing 2.36 7.66 4.25 5.00 Reproducibility Run (SPECjAppServer2004 JOPS) 2,001.27 -------------------------------------------------------------------------------- SOFTWARE PRODUCTS -------------------------------------------------------------------------------- Oracle Application Server 10g Release 10.1.3.3 - Java Edition Vendor: Oracle Corporation Availability Date: Aug-2007 Date Passed CTS: Jan-2006 CTS Version: 1.4 EJB Protocol: ORMI OS Name: Solaris 10 8/07 64-bit -------------------------------------------------------------------------------- Java HotSpot(TM) 32-Bit Server VM on Solaris, version 1.6.0_03 Vendor: Sun Microsystems, Inc. Availability Date: Sep-2007 OS Name: Solaris 10 8/07 64-bit -------------------------------------------------------------------------------- Oracle JDBC Driver 10.2.0.3 (Thin) Vendor: Oracle Corporation Availability Date: Feb-2007 OS Name: Solaris 10 8/07 64-bit -------------------------------------------------------------------------------- Oracle Database Enterprise Edition Release 10.2.0.3 Vendor: Oracle Corporation Availability Date: Feb-2007 OS Name: Solaris 10 8/07 64-bit -------------------------------------------------------------------------------- SOFTWARE CONFIGURATIONS -------------------------------------------------------------------------------- J2EE Application Server J2EE Product: Oracle Application Server 10g Release 10.1.3.3 - Java Edition JVM Product: Java HotSpot(TM) 32-Bit Server VM on Solaris, version 1.6.0_03 JDBC Product: Oracle JDBC Driver 10.2.0.3 (Thin) 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 JVM Options: -server -Xms3400M -Xmx3400M -Xmn2000m -Xss128k -XX:+UseLargePages -XX:LargePageSizeInBytes=4m -XX:+AggressiveHeap -XX:+UseParallelGC -XX:ParallelGCThreads=32 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading -XX:+UseParallelOldGC -Doracle.dms.sensors=none -Doc4j.jms.implementation=oc4j.j2ee.jms -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider Java process started in FX class using /usr/bin/priocntl -e -c FX -------------------------------------------------------------------------------- Emulator SW Config J2EE Product: Oracle Application Server 10g Release 10.1.3.3 - Java Edition JVM Product: Java HotSpot(TM) 32-Bit Server VM on Solaris, version 1.6.0_03 Hardware: Database Server HW # of Instances: 1 Notes / Tuning Information JVM Options: -server -Xms3g -Xmx3g -Xmn2g -Xss128k -XX:+AggressiveHeap -XX:+UseParallelGC -XX:ParallelGCThreads=32 -XX:LargePageSizeInBytes=4m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading -XX:+UseParallelOldGC -Doracle.dms.sensors=none -Doc4j.jms.implementation=oc4j.j2ee.jms -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 Java process started in FX class using /usr/bin/priocntl -e -c FX -------------------------------------------------------------------------------- Database SW Config DB Product: Oracle Database Enterprise Edition Release 10.2.0.3 Hardware: J2EE AppServer HW # of Instances: 1 Notes / Tuning Information db_name = specdb control_files = /specdb/cntrlspecdb _db_block_hash_latches = 262144 _db_cache_pre_warm = FALSE _collect_undo_stats = FALSE _imu_pools = 500 _in_memory_undo = true _smm_advice_enabled = FALSE _undo_autotune = FALSE compatible = 10.1.0.2.0 cursor_space_for_time = TRUE aq_tm_processes = 0 db_cache_size = 16G db_cache_advice = off db_8k_cache_size = 4G db_4k_cache_size = 4G db_block_size = 2048 db_block_checksum = FALSE db_file_multiblock_read_count = 128 db_files = 256 dml_locks = 600 disk_asynch_io = TRUE log_buffer = 4194304 log_checkpoint_interval = 0 log_checkpoints_to_alert = TRUE open_cursors = 1500 parallel_max_servers = 100 processes = 1500 sessions = 1500 shared_pool_size = 1G statistics_level = BASIC timed_statistics = false trace_enabled = FALSE transactions = 1500 transactions_per_rollback_segment = 1 undo_management = AUTO undo_retention = 300 undo_tablespace = undo_ts Oracle background processes bound across all cpus using /usr/sbin/pbind Oracle background processes run in FX class using /usr/bin/priocntl -s -c FX -i pid -------------------------------------------------------------------------------- Driver SW Config - Primary JVM Product: Java HotSpot(TM) 32-Bit Server VM on Solaris, version 1.6.0_03 Hardware: Load Driver HW Primary # of Instances: 1 Notes / Tuning Information JVM Options: -server -Xms2g -Xmx2g -Xmn1g -Xss256K -XX:+DisableExplicitGC -XX:PermSize=64m -XX:SurvivorRatio=20 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider -------------------------------------------------------------------------------- Driver SW Config - Satellites 2 & 3 JVM Product: Java HotSpot(TM) 32-Bit Server VM on Solaris, version 1.6.0_03 Hardware: Load Driver HW Emulator & Satellites # of Instances: 2 Notes / Tuning Information JVM Options: -server -Xms2g -Xmx2g -Xmn1g -Xss256K -XX:+DisableExplicitGC -XX:PermSize=64m -XX:SurvivorRatio=20 -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider -------------------------------------------------------------------------------- HARDWARE SYSTEMS -------------------------------------------------------------------------------- J2EE AppServer HW (SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun SPARC Enterprise T5220 Processor: Sun UltraSPARC T2 MHz: 1400 # of CPUs: 8 cores, 1 chip, 8 cores/chip (8 threads/core) Memory (MB): 32768 L1 Cache: 16KB(I)+8KB(D) per core L2 Cache: 4MB per chip Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 8/07 64-bit Disks: 2x73Gb 10K RPM SAS Network Interface: (2) 1000 BaseT Ethernet Other Hardware: 1x 10 GbE XAUI card and 1x 4Gb PCI-E Fiber Channel card. # of Systems: 1 H/W Available: Nov-2007 O/S Available: Sep-2007 Notes / Tuning Information System Tuning in /etc/system: set ip:ip_soft_rings_cnt = 8 Network Tuning: ndd -set /dev/tcp tcp_conn_req_max_q 16384 ndd -set /dev/tcp tcp_conn_req_max_q0 16384 ndd -set /dev/tcp tcp_xmit_hiwat 131072 ndd -set /dev/tcp tcp_recv_hiwat 131072 ndd -set /dev/tcp tcp_naglim_def 1 The two application server instances were hosted in separate Solaris Containers. Each Container on the system was connected to 2 subnets. The first subnet in each container was used for driver access and connected to the 10 GbE switch. Both containers shared nxge0 for this subnet. The second subnet in each container was used for database access and both containers shared e1000g3 for this subnet. Sun System Firmware patch 127580-01 -------------------------------------------------------------------------------- Database Server HW (SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun SPARC Enterprise T5120 Processor: Sun UltraSPARC T2 MHz: 1200 # of CPUs: 8 cores, 1 chip, 8 cores/chip (8 threads/core) Memory (MB): 65536 L1 Cache: 16KB(I)+8KB(D) per core L2 Cache: 4MB per chip Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 8/07 64-bit Disks: 2x73Gb 10K RPM SAS Network Interface: (2) Onboard 1000 BaseT Ethernet Other Hardware: See notes. # of Systems: 1 H/W Available: Nov-2007 O/S Available: Sep-2007 Notes / Tuning Information System Tuning in /etc/system: set ip:ip_soft_rings_cnt = 8 Network Tuning: ndd -set /dev/tcp tcp_conn_req_max_q 16384 ndd -set /dev/tcp tcp_conn_req_max_q0 16384 ndd -set /dev/tcp tcp_xmit_hiwat 131072 ndd -set /dev/tcp tcp_recv_hiwat 131072 ndd -set /dev/tcp tcp_naglim_def 1 UFS options for /specdb: noatime Shared memory settings in /etc/project: user.oracle:101:Oracle DBA:::project.max-shm-memory=(privileged,34359738368,deny) Other Hardware: 2 Sun StorageTek Array (12 x 146GB SAS Array) 1x 10 GbE XAUI card and 1x 4Gb PCI-E Fiber Channel card Sun System Firmware patch 127580-01 -------------------------------------------------------------------------------- Load Driver HW Primary (non-SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun SPARC Enterprise M5000 Processor: SPARC64 VI MHz: 2150 # of CPUs: 16 cores, 8 chips, 2 cores/chip, 2 threads/core Memory (MB): 131072 L1 Cache: 128KB(I)+128KB(D) per core L2 Cache: 5MB per chip Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 8/07 64-bit Disks: 2 x 73GB Ultra320 SCSI disks Network Interface: (1) Onboard 1000BaseT Ethernet Other Hardware: (1) Dual Port 10 GbE card # of Systems: 1 H/W Available: Apr-2007 O/S Available: Sep-2007 Notes / Tuning Information System Tuning in /etc/system: set ddi_msix_alloc_limit = 8 set ip:ip_soft_rings_cnt = 8 Network Tuning: ndd -set /dev/tcp tcp_conn_req_max_q 16384 ndd -set /dev/tcp tcp_conn_req_max_q0 16384 ndd -set /dev/tcp tcp_xmit_hiwat 131072 ndd -set /dev/tcp tcp_recv_hiwat 131072 ndd -set /dev/tcp tcp_naglim_def 1 -------------------------------------------------------------------------------- Load Driver HW Emulator & Satellites (non-SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun SPARC Enterprise M5000 Processor: SPARC64 VI MHz: 2150 # of CPUs: 16 cores, 8 chips, 2 cores/chip, 2 threads/core Memory (MB): 131072 L1 Cache: 128KB(I)+128KB(D) per core L2 Cache: 5MB per chip Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 8/07 64-bit Disks: 2 x 73GB Ultra320 SCSI disks Network Interface: (1) Onboard 1000BaseT Ethernet Other Hardware: (1) Dual Port 10 GbE card # of Systems: 1 H/W Available: Apr-2007 O/S Available: Sep-2007 Notes / Tuning Information System Tuning in /etc/system: set ddi_msix_alloc_limit = 8 set ip:ip_soft_rings_cnt = 8 Network Tuning: ndd -set /dev/tcp tcp_conn_req_max_q 16384 ndd -set /dev/tcp tcp_conn_req_max_q0 16384 ndd -set /dev/tcp tcp_xmit_hiwat 131072 ndd -set /dev/tcp tcp_recv_hiwat 131072 ndd -set /dev/tcp tcp_naglim_def 1 System configured with 2 Solaris Containers for the satellite drivers. Each container was configured to a separate 10GbE port. The emulator ran in the default container. -------------------------------------------------------------------------------- BENCHMARK MODIFICATIONS -------------------------------------------------------------------------------- Schema Modifications: Tablespace sizes were increased to support the Injection rate. Scripts to create the DB are included in the FDA. Table and index initrans were modified. The M_INVENTORY and M_WORKORDER tables were horizontally partitioned. Automatic segment space management was used for all tablespaces. System managed undo was used. Table locks were disabled during the run using disable_locks.sh script. -------------------------------------------------------------------------------- Load Program Modifications: The load program was not modified BENCHMARK CONFIGURATION INFORMATION -------------------------------------------------------------------------------- Isolation Requirement Info: The following Beans were deployed in READ_COMMITTED mode as per the benchmark requirement: Mfg - AssemblyEnt, BomEnt, ComponentEnt, LargeOrderEnt, PartEnt Orders - ItemEnt Supplier - SupplierCompEnt, SupplierEnt All other beans were deployed using pessimistic locking mode such that all selects including finders are issued with a FOR UPDATE clause in select statement: Corp - CustomerEnt, CustomerInventoryEnt Mfg - InventoryEnt, WorkOrderEnt Orders - OrderEnt, OrderLineEnt Supplier - POEnt, POLineEnt, SComponentEnt Util - SequenceEnt The ItemEnt bean was cached for 20 minute intervals by setting: read-only to true, and time-to-live to 1200000 (ms) in orders-toplink-ejb-jar.xml deployment descriptor -------------------------------------------------------------------------------- Durability Requirement Info: To ensure database durability, RAID 1 (mirror disks) was used for the database files and logs maintained on the two Sun StorageTek 2540 Arrays. Each application server used a pair of mirrored disks in the Sun StorageTek 2540 array to provide durability for all the server logs and filestore for JMS persistence. -------------------------------------------------------------------------------- Storage Requirement Info: An 80 minute run at an injection rate of 1200 increased storage by 2190 MB This extrapolates to 39.42 GB storage for a 24 hour run. The database is configured with 3504 GB of storage. One Sun StorageTek 2540 FC Array was configured as a single RAID 1 logical drive to store the database files. The other Sun StorageTek 2540 FC Array was configure as two RAID 1 logical drives - one logical drive for the database logs and the other logical drive used for the application server JMS persistence logs -------------------------------------------------------------------------------- Argument Passing Semantics: Oracle Application Server 10g uses pass-by-value as required by the EJB Specification BILL OF MATERIALS -------------------------------------------------------------------------------- Supplier Description Product No. Qty -------- ------------------------------------------ ------------------ --- Sun SPARC Enterprise T5220, 1.4GHz, 8-core SEDAF121Z 1 Sun 4GB Memory Expansion (2x2GB) SESY2B1Z 8 Sun 73GB 10K RPM 2.5" SAS Disk SESY3A11Z 2 Sun 10 GbE XAUI card - Fiber SESY7XA1Z 1 Sun Transceiver for XAUI - 10GbE SR XFP SESY7XT1Z 1 Sun 4 Gb PCI-E Dual Port FC/AL card SG-XPCIE1FC-EM4 1 Sun DVD, 8X, RW SESY9DV1Z 1 Sun SE T5220 AC Power Supply SEDY9PS31Z 1 Sun Solaris 10 8/07 Preinstalled SESY9SA1Z 1 Sun SunSpectrum Upgrade: 3YGOLD, 24x7 W9D-T5220-8-24-3G 1 Sun SPARC Enterprise T5120, 1.2GHz, 8-core SECAC111Z 1 Sun 8GB Memory Expansion (2x4GB) SESY2C1Z 8 Sun 73GB 10K RPM 2.5" SAS Disk SESY3A11Z 2 Sun 10 GbE XAUI card - Fiber SESY7XA1Z 1 Sun Transceiver for XAUI - 10GbE SR XFP SESY7XT1Z 1 Sun 4 Gb PCI-E Dual Port FC/AL card SG-XPCIE1FC-EM4 1 Sun DVD, 8X, RW SESY9DV1Z 1 Sun SE T5120 AC Power Supply SECY9PS11Z 1 Sun Solaris 10 8/07 Preinstalled SESY9SA1Z 1 Sun SunSpectrum Upgrade: 3YGOLD, 24x7 W9D-T5120-8-24-3G 1 Sun Sun StorageTek 2540, 12 x 146GB, 2 RAID XTA2540R01D2E1752 2 Sun SunSpectum Upgrade: 3Y GOLD, 24x7 W9D-SE2540-24-3G 2 Sun 17" Entry Color Monitor X7204A 1 Sun XVR-200 Graphics Accelerator X3777 2 Sun USB Keyboard & Mouse 320-1366 1 Oracle Oracle Database 10g Release 2 Enterprise Edition, Per Processor 6** (v10.2) Oracle Partitioning, Per Processor, Unlimited users for 3 years 6** Oracle Oracle Database Server Support Package for 3 years 1 (Incident Server Support) 24x7x4 Oracle Oracle Application Server 10g Release 10.1.3.3, 6** Java Edition, Per Processor (v10.1) Oracle Oracle Application Server Support Package for 3 years 1 (Incident Server Support) 24x7x4 (** 6 = 0.75 * 8). Explanation: For the purposes of counting the number of processors which require licensing, a multicore chip with "n" cores shall be determined by multiplying "n" cores by a factor of .75). -------------------------------------------------------------------------------- OTHER BENCHMARK INFORMATION -------------------------------------------------------------------------------- The xerces implementation version 2.6.2 from xml.apache.org was used as it comes packaged with Oracle Application Server 10g. Requests were sent to the Appservers using DNS round robin, with the database node acting as the DNS server. The driver used the following jndi.properties: java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory java.naming.provider.url=ormi://ecapps:23791/SPECjAppServer java.naming.security.principal=oc4jadmin java.naming.security.credentials=welcome oracle.j2ee.rmi.loadBalance=lookup -------------------------------------------------------------------------------- General Notes -------------------------------------------------------------------------------- The only errors in the driver log files were those that are normally generated by this benchmark. On the database, incremental checkpointing ensured that no buffer will remain dirty (in the cache) for more than the allowed time. Oracle Application Server 10g Release 10.1.3.3 implements Recoverable Last Resource Commit (RLRC) optimization where one and only one SinglePhaseResource participates in a global transaction with one or more XAResources. This is accomplished by emulating an XAResource to represent the 1PC resource. The transaction manager takes the following steps when it receives a request to commit a global transaction that includes one emulated XAResource: 1. It invokes a prepare call on each of the 2PC resources. 2. If all of the 2PC resources are successfully prepared, then commit (one-phase) is called and the commit record is written to the commit-log, on the emulated XA resource (database) as part of the local transaction. 3. If the 1PC on the emulated XA resource completes successfully, then the transaction manager calls commit on each of the 2PC resources. or: If the 1PC on the emulated XA resource fails, then the transaction manager queries the commit-log for transaction outcome. If the record exists, 2PC resources are committed, otherwise 2PC Resources are aborted. Transaction outcome after a single point of failure is guaranteed by the presence of the commit-record in the commit log, indicating a successful transaction completion; while a missing commit-record signifies abort. The commit record is deleted lazily after the global transaction has committed. In conjunction with the RLRC implementation, the log-file location specified in the transaction-manager.xml identifies the location where the participating resource managers are recorded. The commit record table name associated with an instance is specified in the commit-record-table-name attribute, in the Connection-Factory element of data-sources.xml. 10 GbE Switch Details: Foundry EdgeIron 8-port 10GbE Switch - Product No. EIF8X10G 5x 10GbE XFP Transceivers - Product No. 10G-XFP-SR -------------------------------------------------------------------------------- For questions about this result, please contact the submitter: Sun Microsystems Inc. For other inquiries, please contact SPEC - Benchmark run on Fri Sep 21 16:34:02 EDT 2007 by SPECjAppServer2004 v1.08 - Result submitted on Wed Sep 26 03:33:02 EDT 2007 - Report generated by SPECjAppServer2004 Reporter v1.03 Copyright (C) 2004 Standard Performance Evaluation Corporation