-------------------------------------------------------------------------------- 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 -------------------------------------------------------------------------------- 874.17 SPECjAppServer2004 JOPS@Standard -------------------------------------------------------------------------------- Submitter: HP SPEC license # 3 Test date: Feb-2007 -------------------------------------------------------------------------------- SUT CONFIGURATION -------------------------------------------------------------------------------- J2EE Server Nodes: 1 DB Server Nodes: 1 J2EE Server CPUs: 4 cores, 2 chips, 2 cores/chip (HT on) DB Server CPUs: 4 cores, 2 chips, 2 cores/chip J2EE Instances: 2 DB Instances: 1 Other SUT Components: None -------------------------------------------------------------------------------- BENCHMARK SETTINGS -------------------------------------------------------------------------------- Dealer Injection Rate: 525 Ramp Up Time: 600 sec # of Dealer Agents: 12 Ramp Down Time: 300 sec # of Manufacturing Agents: 5 Steady State Time: 3,600 sec DB Load Injection Rate: 600 Trigger Time: 300 sec -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Dealer Transaction Mix Count Tx. Mix Purchase 474,053 24.97% Manage 474,247 24.98% Browse 950,175 50.05% Total # Dealer Transactions 1,898,475 Total # Manufacturing Transactions 1,248,545 Response Times Average Maximum 90th% Reqd Purchase 0.32 38.42 0.60 2.00 Manage 0.34 46.61 0.60 2.00 Browse 0.33 52.60 0.60 2.00 Manufacturing 2.73 12.41 4.50 5.00 Reproducibility Run (SPECjAppServer2004 JOPS) 875.12 -------------------------------------------------------------------------------- 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: 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 -XX:+AggressiveHeap -Xmx3450m -Xms3450m -Xmn1750m -XX:CICompilerCount=1 -Xverbosegc:file=stdout -XX:+ForceMmapReserved -XX:PermSize=48m -XX:SurvivorRatio=14 -XX:-UseHighResolutionTimer -XX:SchedulerPriorityRange=SCHED_RTPRIO -XX:TLABSize=32k -XX:+UseSpinning -XX:ParallelGCThreads=4 -XX:-BindGCTaskThreadsToCPUs -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 Each of the application server instances was bound to its own processor set with: /usr/sbin/psrset -b PID -------------------------------------------------------------------------------- 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: 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 = 2G db_8k_cache_size = 4G db_block_checking = FALSE db_block_checksum = FALSE db_block_size = 2048 db_cache_advice = OFF db_cache_size = 6G db_file_multiblock_read_count = 128 db_files = 256 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 = 2048M 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 Primary JVM Product: Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 32 bit Hardware: Load Driver and Emulator HW # of Instances: 1 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 rx2660 Processor: Dual-core Intel Itanium 2 MHz: 1600 # of CPUs: 4 cores, 2 chips, 2 cores/chip (HT on) 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 Network Interface: (1) Dual Port 1000BaseT Ethernet Other Hardware: None # of Systems: 1 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 1 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 Two processor sets were created to run the application server instances: /usr/sbin/pset -c PROC_LIST -------------------------------------------------------------------------------- Database Server HW (SUT hardware) Hardware Vendor: HP Model Name: rx2660 Processor: Dual-core Intel Itanium 2 MHz: 1600 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 24576 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 Network Interface: (1) Dual Port 1000BaseT Ethernet Other Hardware: (2) MSA1000 SAN Storage with a total of 28x73GB 15K U320 SCSI # of Systems: 1 H/W Available: Feb-2007 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 8192 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 -------------------------------------------------------------------------------- Load Driver and Emulator HW (non-SUT hardware) Hardware Vendor: HP Model Name: rx3600 Processor: Dual-core Intel Itanium 2 MHz: 1600 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 32768 L1 Cache: 16KB(I)+16KB(D) L2 Cache: 1280KB Other Cache: 9MB (L3 Cache) OS Vendor: HP OS Name: HP-UX 11i version 2 9/06 patch Disks: 3x36Gb 10K RPM SAS Network Interface: (1) Dual Port 1000BaseT Ethernet Other Hardware: None # of Systems: 1 H/W Available: Sep-2006 O/S Available: Sep-2006 Notes / Tuning Information Kernel Tunable Entries: tunable STRMSGSZ 65535 tunable cmc_plat_poll 15 tunable create_fastlinks 1 tunable dbc_max_pct 8 tunable dbc_min_pct 8 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 max_async_ports 768 tunable max_thread_proc 8192 tunable maxdsiz 4294963200 tunable maxfiles 32768 tunable maxfiles_lim 32768 tunable maxssiz 12582912 tunable maxtsiz 1073741824 tunable maxuprc 3277 tunable maxvgs 80 tunable msgmap 5122 tunable msgmax 32768 tunable msgmnb 65536 tunable msgseg 20480 tunable msgssz 128 tunable msgtql 5120 tunable nfile 150000 tunable ninode 150000 tunable nkthread 20000 tunable nproc 5000 tunable npty 200 tunable nstrpty 200 tunable nswapdev 25 tunable o_sync_is_o_dsync 1 tunable physical_io_buffers 1280 tunable scsi_max_qdepth 8 tunable semmni 4096 tunable semmns 8192 tunable semmnu 4092 tunable semume 512 tunable shmmax 4200000000 tunable shmmni 520 tunable shmseg 512 tunable swapmem_on 1 tunable swchunk 8192 tunable tcphashsz 32768 tunable vps_ceiling 64 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 -------------------------------------------------------------------------------- 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: Data and redo logs were written to RAID 1 volume to provide durability. 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 525 increased storage by 1026 MB This extrapolates to 23.6GB of storage for a 24 hour run. The database is configured with over 500GB 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 1.6GHz/18MB 4-core AD245A-003 2 HP rx2660 PCI-X 3 slot cage option AD246A 2 HP 4GB DDR2 memory pair (2 x 2GB DIMMs) AD275A 4 HP 8GB DDR2 memory pair (2 x 4GB DIMMs) AD276A 3 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 Modular SAN Array 1000 201723-B22 2 HP 72GB 15K U320 Pluggable Hard Drive 286778-B22 28 HP 3 year 24x7 support HA110A3 Oracle Oracle Database 10g Release 2 Enterprise Edition, Per Processor, 2* Unlimited Users for 3 years Oracle Partitioning, Per Processor, Unlimited Users for 3 years 2* Oracle Oracle Database Server Support Package for 3 years 1 Incident Server Support -(24x7x4) Oracle Oracle Application Server 10g - Java Edition, Per Processor 2* (v10.1) Oracle Oracle Application Server Support Package for 3 years 1 - Incident Server Support -Package - (24x7x4) (* 2 = 0.50 * 4. 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. DNS server, running on the DB Server, was used to load balance requests across the 2 network interfaces on the Appserver. 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 Thu Feb 22 21:28:46 PST 2007 by SPECjAppServer2004 v1.06 - Result submitted on Wed Apr 11 03:03:00 EDT 2007 - Report generated by SPECjAppServer2004 Reporter v1.03 Copyright (C) 2004 Standard Performance Evaluation Corporation