-------------------------------------------------------------------------------- SPECjAppServer(R)2004 Result Copyright (C) 2004 Standard Performance Evaluation Corporation -------------------------------------------------------------------------------- Oracle Application Server 10g Release 10.1.3.2 - Java Edition on HP-UX rx2660 cluster -------------------------------------------------------------------------------- 1,578.16 SPECjAppServer2004 JOPS@Standard -------------------------------------------------------------------------------- Submitter: HP SPEC license # 3 Test date: Jan-2007 -------------------------------------------------------------------------------- SUT CONFIGURATION -------------------------------------------------------------------------------- J2EE Server Nodes: 2 DB Server Nodes: 1 J2EE Server CPUs: 8 cores, 4 chips, 2 cores/chip DB Server CPUs: 8 cores, 4 chips, 2 cores/chip J2EE Instances: 4 DB Instances: 1 Other SUT Components: None -------------------------------------------------------------------------------- BENCHMARK SETTINGS -------------------------------------------------------------------------------- Dealer Injection Rate: 955 Ramp Up Time: 900 sec # of Dealer Agents: 24 Ramp Down Time: 300 sec # of Manufacturing Agents: 9 Steady State Time: 3,600 sec DB Load Injection Rate: 1,000 Trigger Time: 480 sec -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Dealer Transaction Mix Count Tx. Mix Purchase 861,410 24.99% Manage 861,845 25.01% Browse 1,723,349 50.00% Total # Dealer Transactions 3,446,604 Total # Manufacturing Transactions 2,234,784 Response Times Average Maximum 90th% Reqd Purchase 0.37 15.54 0.70 2.00 Manage 0.37 23.69 0.70 2.00 Browse 0.45 13.30 0.90 2.00 Manufacturing 2.44 17.29 4.75 5.00 Reproducibility Run (SPECjAppServer2004 JOPS) 1,581.22 -------------------------------------------------------------------------------- SOFTWARE PRODUCTS -------------------------------------------------------------------------------- Oracle Application Server 10g Release 10.1.3.2 - Java Edition Vendor: Oracle Corporation Availability Date: Mar-2007 Date Passed CTS: Jan -2006 CTS Version: 1.4 EJB Protocol: ORMI OS Name: HP-UX 11i -------------------------------------------------------------------------------- Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 32 bit Vendor: HP Availability Date: Oct-2006 OS Name: HP-UX 11i -------------------------------------------------------------------------------- Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 64 bit Vendor: HP Availability Date: Oct-2006 OS Name: HP-UX 11i -------------------------------------------------------------------------------- Oracle JDBC Driver 10.2.0.2 (Thin) Vendor: Oracle Corporation Availability Date: Jun-2006 OS Name: HP-UX 11i -------------------------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.2 with patch 5339853 Vendor: Oracle Corporation Availability Date: Jun-2006 OS Name: HP-UX 11i -------------------------------------------------------------------------------- SOFTWARE CONFIGURATIONS -------------------------------------------------------------------------------- J2EE Application Servers J2EE Product: Oracle Application Server 10g Release 10.1.3.2 - Java Edition JVM Product: Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 32 bit JDBC Product: Oracle JDBC Driver 10.2.0.2 (Thin) Hardware: J2EE AppServer HW # of Instances: 4 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 -XX:+AggressiveHeap -Xmx3450m -Xms3450m -Xmn1750m -XX:CICompilerCount=1 -Xoptgc -Xverbosegc:file=stdout -XX:+ForceMmapReserved -XX:PermSize=48m -XX:SurvivorRatio=14 -XX:-UseHighResolutionTimer -XX:SchedulerPriorityRange=SCHED_RTPRIO -XX:TLABSize=32k -XX:-UseFastAccessorMethods -XX:+UseSpinning -XX:-ExtraPollBeforeRead -Doracle.dms.sensors=none -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider -Doc4j.jms.implementation=oc4j.j2ee.jms -------------------------------------------------------------------------------- Emulator SW Config JVM Product: Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 64 bit Web Product: Oracle Application Server 10g Release 10.1.3.2 - Java Edition Hardware: Primary Load Driver, Satellite Load Driver, and Emulator HW # of Instances: 1 Notes / Tuning Information -d64 -Xmx1600m -Xms1600m -Xoptgc -Xverbosegc:file=stdout -XX:+ForceMmapReserved -XX:PermSize=64m -XX:SurvivorRatio=14 -XX:-UseHighResolutionTimer -Doracle.dms.sensors=none -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0 -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider -------------------------------------------------------------------------------- Database SW Config DB Product: Oracle Database 10g Enterprise Edition Release 10.2.0.2 with patch 5339853 Hardware: Database Server HW # of Instances: 1 Notes / Tuning Information Oracle tuning in init.ora: aq_tm_processes=0 compatible=10.1.0.0.0 control_files = /oracle/dbfiles/cntrlspec cursor_space_for_time = TRUE db_4k_cache_size = 5G db_8k_cache_size = 6G db_block_checking = FALSE db_block_checksum = FALSE db_block_size = 2048 db_cache_advice = OFF db_cache_size = 8G db_file_multiblock_read_count = 128 db_files = 256 db_keep_cache_size = 1500M db_name = spec dml_locks = 6000 fast_start_mttr_target=0 hpux_sched_noage=178 java_pool_size=250M lock_sga=true log_buffer=113246208 log_checkpoint_interval = 0 log_checkpoint_timeout=1500 log_checkpoints_to_alert=TRUE open_cursors = 3000 parallel_max_servers = 100 pga_aggregate_target=0 processes = 5000 query_rewrite_enabled=FALSE replication_dependency_tracking=FALSE session_cached_cursors=2000 sessions = 3000 shared_pool_size = 4096M sort_area_size=52428800 statistics_level = typical timed_statistics = true trace_enabled=FALSE transactions = 5000 transactions_per_rollback_segment = 1 undo_management = AUTO undo_retention = 500 undo_tablespace = undo_ts _array_update_vector_read_enabled=true _collect_undo_stats=FALSE _cursor_cache_frame_bind_memory=true _db_cache_pre_warm=FALSE _db_writer_flush_imu=FALSE _enable_NUMA_optimization=FALSE _imu_pools=500 _in_memory_undo=true _smm_advice_enabled=FALSE _two_pass=FALSE _undo_autotune=FALSE log writer put into realtime class with /usr/bin/rtprio 127 -PID and bound to its own processor with /usr/bin/mpsched -c CPU -p PID -------------------------------------------------------------------------------- Driver SW Config JVM Product: Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 32 bit Hardware: Primary Load Driver, Satellite Load Driver, and Emulator HW # of Instances: 2 Notes / Tuning Information -server -Xms700M -Xmx700M -Xmn300M -Xss256K -XX:+DisableExplicitGC -XX:+ForceMmapReserved -XX:PermSize=64m -XX:SurvivorRatio=20 -XX:-UseHighResolutionTimer -XX:SchedulerPriorityRange=SCHED_RTPRIO -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: HP Model Name: HP Integrity rx2660 Server Processor: Dual-core Intel Itanium 2 MHz: 1600 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 16384 L1 Cache: 16KB(I)+16KB(D) L2 Cache: 1280KB Other Cache: 9MB (L3 Cache) OS Vendor: HP OS Name: HP-UX 11i version 3 Disks: 3x36GB 10K RPM SAS. (1) Modular SAN Array 1000 with 2x73GB 15K U320 SCSI for both rx2660s Network Interface: (1) Dual Port 1000BaseT Ethernet Other Hardware: (1) Dual-port 4Gbps Fibre Channel Adapter # of Systems: 2 H/W Available: Feb-2007 O/S Available: Feb-2007 Notes / Tuning Information Kernel Tunable Entries: tunable STRMSGSZ 65535 tunable create_fastlinks 1 tunable default_disk_ir 1 tunable fs_async 1 tunable hires_timeout_enable 0 tunable lcpu_attr 0 tunable max_thread_proc 2048 tunable maxfiles 2048 tunable maxfiles_lim 32768 tunable maxssiz 10100000 tunable maxtsiz 1073741824 tunable maxuprc 2040 tunable msgmnb 65536 tunable msgtql 5120 tunable nproc 5000 tunable npty 200 tunable nstrpty 200 tunable semmni 4096 tunable semmns 8192 tunable semmnu 4092 tunable semume 512 tunable shmmax 15000000000 tunable shmmni 520 tunable shmseg 512 tunable swchunk 8192 tunable tcphashsz 32768 tunable vps_ceiling 64 tunable vx_ninode 16384 Kernel Tuning (permanently set once): adb -w -o /stand/vmunix /dev/kmem enable_tops?W 2 enable_tops/W 2 $q Java page size tuning: cd /opt/java1.5/bin/IA64N chatr +pi 256M +pd 256M java java_q4p -------------------------------------------------------------------------------- Database Server HW (SUT hardware) Hardware Vendor: HP Model Name: HP Integrity rx6600 Server Processor: Dual-core Intel Itanium 2 MHz: 1600 # of CPUs: 8 cores, 4 chips, 2 cores/chip Memory (MB): 98304 L1 Cache: 16KB(I)+16KB(D) L2 Cache: 1280KB Other Cache: 12MB (L3 Cache) OS Vendor: HP OS Name: HP-UX 11i version 3 Disks: 2x73Gb 10K RPM SAS Network Interface: (1) Dual Port 1000BaseT Ethernet Other Hardware: (3) MSA1000 SAN Storage with 14x73GB 15K U320 SCSI # of Systems: 1 H/W Available: Sep-2006 O/S Available: Feb-2007 Notes / Tuning Information Kernel Tunable Entries: tunable STRMSGSZ 65535 tunable cmc_plat_poll 15 tunable create_fastlinks 1 tunable default_disk_ir 1 tunable fs_async 1 tunable hfs_max_ra_blocks 20 tunable hfs_max_revra_blocks 20 tunable hfs_ra_per_disk 256 tunable hfs_revra_per_disk 256 tunable lcpu_attr 0 tunable max_async_ports 768 tunable max_thread_proc 2048 tunable maxdsiz 4294963200 tunable maxfiles 32768 tunable maxfiles_lim 32768 tunable maxssiz 401604608 tunable maxtsiz 1073741824 tunable maxuprc 3277 tunable msgmnb 65536 tunable msgtql 5120 tunable nfile 150000 tunable ninode 150000 tunable nkthread 8192 tunable nproc 5000 tunable npty 200 tunable nstrpty 200 tunable nswapdev 25 tunable o_sync_is_o_dsync 1 tunable semmni 4096 tunable semmns 8192Modular SAN Array 1000 tunable semmnu 4092 tunable semume 512 tunable shmmax 4200000000 tunable shmmni 520 tunable shmseg 512 tunable swchunk 12288 tunable tcphashsz 32768 tunable vps_ceiling 64 tunable vxfs_ifree_timelag -1 Kernel Tuning (permanently set once): adb -w -o /stand/vmunix /dev/kmem enable_tops?W 2 enable_tops/W 2 $q -------------------------------------------------------------------------------- Primary Load Driver, Satellite Load Driver, and Emulator HW (non-SUT hardware) Hardware Vendor: HP Model Name: HP Integrity Superdome 16-core nPar Processor: Dual-core Intel Itanium 2 MHz: 1600 # of CPUs: 16 cores, 8 chips, 2 cores/chip Memory (MB): 131072 L1 Cache: 16KB(I)+16KB(D) L2 Cache: 1280KB Other Cache: 12MB (L3 Cache) OS Vendor: HP OS Name: HP-UX 11i version 2 9/06 patch Disks: Modular SAN Array 1000 Network Interface: (1) Dual Port 1000BaseT Ethernet Other Hardware: None # of Systems: 2 H/W Available: Sep-2006 O/S Available: Sep-2006 Notes / Tuning Information Kernel Tunable Entries: tunable cmc_plat_poll 15 tunable max_async_ports 768 tunable max_thread_proc 8192 tunable maxdsiz 4294963200 tunable maxfiles 32768 tunable maxfiles_lim 32768 tunable nfile 150000 tunable ninode 150000 tunable nkthread 65536 tunable nproc 5000 tunable nstrpty 60 tunable tcphashsz 32768 Kernel Tuning (permanently set once): adb -w -o /stand/vmunix /dev/kmem enable_tops?W 2 enable_tops/W 2 $q Network Tuning: ndd -set /dev/tcp tcp_conn_request_max 15000 Two 8-processor/16-core hard partitions ("nPars") are created on the Superdome system: one for the primary driver, the second one for the satellite driver and the emulator. Each nPar boots from a Modular SAN Array -------------------------------------------------------------------------------- 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, M_WORKORDER, M_PARTS, O_ORDERLINE 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_lock.sql -------------------------------------------------------------------------------- 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 (mirroring) was used for the data files and database Redo logs. The application server was using mirrored disks to provide durability for server logs and JMS persistence filestore. -------------------------------------------------------------------------------- Storage Requirement Info: An 80 minute run at an injection rate of 955 increased storage by 2300MB. This extrapolates to 44G of storage for a 24 hour run. The database is configured with over 1000G of durable storage. -------------------------------------------------------------------------------- Argument Passing Semantics: Oracle Application Server 10g uses pass-by-value as required by the EJB specification. BILL OF MATERIALS -------------------------------------------------------------------------------- Supplier Description Product # Qty -------- ------------------------------------------- ---------------- --- HP HP rx2660 2 dual-core 1.6GHz/18MB processors AD245A-003 2 HP rx2660 PCI-X 3 slot cage option AD246A 2 HP 8GB DDR2 memory pair (2 x 4GB DIMMs) AD276A 4 HP 36GB 10K RPM drives AD140A 6 HP Dual port 1000BaseT LAN adapter card A7012A 2 HP Dual Port 4Gb Fibre Channel Adapter AB379A 2 HP HP-UX Integrity FOE w/Sys 2 Proc PCL LTU B9430AC 8 HP 3 year 24x7 hardware and software support HA110A3 HP HP rx6600 4 dual-core 1.6GHz/24MB processors AD134A-180 1 HP 8GB memory using 2GB DIMMS AB565A 12 HP 73GB 10K RPM drives AD141A 2 HP Dual port 1000BaseT LAN adapter card A7012A 1 HP Dual Port 4Gb Fibre Channel Adapter AB379A 2 HP HP-UX Integrity FOE w/Sys 2 Proc PCL LTU B9430AC 8 HP 3 year 24x7 hardware and software support HA110A3 HP Modular SAN Array 1000 201723-B22 4 HP 72GB 15K U320 Pluggable Hard Drive 286778-B22 44 HP 3 year 24x7 support HA110A3 Oracle Oracle Database 10g Release 2 Enterprise Edition, 4* Partitioning, Per Processor Oracle Oracle Database Server Support Package for 3 years 1 Incident Server Support -(24x7x4) Oracle Oracle Application Server 10g - Java Edition, Per Processor 4* (v10.1) Oracle Oracle Application Server Support Package for 3 years 1 - Incident Server Support -Package - (24x7x4) (* 4 = 0.50 * 8. Explanation: For the purposes of counting the number of processors which require licensing, an Intel multicore chip with "n" cores shall be determined by multiplying "n" cores by a factor of 0.50). -------------------------------------------------------------------------------- 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 different 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://main.specj.com: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 error logs are the application errors 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.2 implements Recoverable Last Resource Commit 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. -------------------------------------------------------------------------------- For questions about this result, please contact the submitter: HP For other inquiries, please contact SPEC - Benchmark run on Tue Jan 23 23:05:31 PST 2007 by SPECjAppServer2004 v1.06 - Result submitted on Wed Jan 31 03:03:00 EST 2007 - Report generated by SPECjAppServer2004 Reporter v1.03 Copyright (C) 2004 Standard Performance Evaluation Corporation