SPEC Seal of Reviewal SPECjAppServer®2004 Result
Copyright © 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
Software Products
Oracle Application Server 10g Release 10.1.3.2 - Java Edition
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 32 bit
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 64 bit
Oracle JDBC Driver 10.2.0.2 (Thin)
Oracle Database 10g Enterprise Edition Release 10.2.0.2 with patch 5339853
Software Configurations
J2EE Application Servers
Emulator SW Config
Database SW Config
Driver SW Config Primary
Hardware Systems
J2EE AppServer HW
Database Server HW
Load Driver and Emulator HW

System Configuration Diagram

Benchmark
Modifications
Configuration
Bill of Materials
Other Info
General Notes
Full Disclosure Archive

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 seconds
# of Dealer Agents: 12   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 5   Steady State Time: 3,600 seconds
DB Load Injection Rate: 600   Trigger Time: 300 seconds

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

Oracle Application Server 10g Release 10.1.3.2 - Java Edition
Vendor: Oracle Corporation Availability: Mar-2007
CTS Version: 1.4 Date Passed CTS: Jan -2006
OS Name: HP-UX 11i
EJB Protocol: ORMI

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 32 bit
Vendor: HP Availability: Oct-2006
OS Name: HP-UX 11i

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0.05) 64 bit
Vendor: HP Availability: Oct-2006
OS Name: HP-UX 11i

Oracle JDBC Driver 10.2.0.2 (Thin)
Vendor: Oracle Corporation Availability: Jun-2006
OS Name: HP-UX 11i

Oracle Database 10g Enterprise Edition Release 10.2.0.2 with patch 5339853
Vendor: Oracle Corporation Availability: Jun-2006
OS Name: HP-UX 11i

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

J2EE AppServer HW (SUT hardware)
Hardware Vendor: HP OS Vendor: HP
Model Name: HP rx2660 OS Name: HP-UX 11i version 3
Processor: Dual-core Intel Itanium 2 Filesystem: vxfs
MHz: 1600 Disks: 3x36GB 10K RPM SAS
# of CPUs: 4 cores, 2 chips, 2 cores/chip (HT on) Network Interface: (1) Dual Port 1000BaseT Ethernet
Memory (MB): 16384 Other Hardware: None
L1 Cache: 16KB(I)+16KB(D) # of Systems: 1
L2 Cache: 1280KB H/W Available: Feb-2007
Other Cache: 9MB (L3 Cache) OS 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 OS Vendor: HP
Model Name: rx2660 OS Name: HP-UX 11i version 3
Processor: Dual-core Intel Itanium 2 Filesystem: vxfs
MHz: 1600 Disks: 3x36Gb 10K RPM SAS
# of CPUs: 4 cores, 2 chips, 2 cores/chip Network Interface: (1) Dual Port 1000BaseT Ethernet
Memory (MB): 24576 Other Hardware: (2) MSA1000 SAN Storage with a total of 28x73GB 15K U320 SCSI
L1 Cache: 16KB(I)+16KB(D) # of Systems: 1
L2 Cache: 1280KB H/W Available: Feb-2007
Other Cache: 9MB (L3 Cache) OS 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 OS Vendor: HP
Model Name: rx3600 OS Name: HP-UX 11i version 2 9/06 patch
Processor: Dual-core Intel Itanium 2 Filesystem: vxfs
MHz: 1600 Disks: 3x36Gb 10K RPM SAS
# of CPUs: 4 cores, 2 chips, 2 cores/chip Network Interface: (1) Dual Port 1000BaseT Ethernet
Memory (MB): 32768 Other Hardware: None
L1 Cache: 16KB(I)+16KB(D) # of Systems: 1
L2 Cache: 1280KB H/W Available: Sep-2006
Other Cache: 9MB (L3 Cache) OS 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 webmaster@spec.org

Copyright © 2004 Standard Performance Evaluation Corporation

First published at SPEC.org on 25-Apr-2007