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 Sun Fire T2000
1,871.13 SPECjAppServer2004 JOPS@Standard
Submitter:
Oracle Corporation
SPEC license # 73 Test date:
Jul-2007
Software Products
Oracle Application Server 10g Release 10.1.3.2 - Java Edition
Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 32 bit
Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 32 bit
Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 64 bit
Oracle JDBC Driver 10.2.0.2 (Thin)
Oracle Database Enterprise Edition Release 10.2.0.3
Software Configurations
J2EE Application Server
Emulator SW Config
Database SW Config
Driver SW Config #1-#3
Driver SW Config #4-#6
Driver SW Config #7-#8
Hardware Systems
J2EE AppServer HW
Database Server HW
Emulator and Load Driver HW #1-#3
Load Driver HW #4-#6
Load Driver HW #7-#8

System Configuration Diagram

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

SUT Configuration
J2EE Server Nodes: 2   DB Server Nodes: 1
J2EE Server CPUs: 16 cores, 2 chips   DB Server CPUs: 16 cores, 8 chips
J2EE Instances: 2   DB Instances: 1
Other SUT Components:
    None

Benchmark Settings
Dealer Injection Rate: 1,120   Ramp Up Time: 900 seconds
# of Dealer Agents: 32   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 16   Steady State Time: 3,600 seconds
DB Load Injection Rate: 2,000   Trigger Time: 660 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 1,011,441 25.02%
Manage 1,008,866 24.95%
Browse 2,022,478 50.03%
Total # Dealer Transactions 4,042,785
Total # Manufacturing Transactions 2,693,297
Response Times Average Maximum 90th% Reqd
Purchase 0.44 15.13 1.20 2.00
Manage 0.37 12.45 0.90 2.00
Browse 0.54 16.81 1.80 2.00
Manufacturing 1.58 6.78 2.25 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 1,872.09

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: Solaris 10 11/06 64-bit
EJB Protocol: ORMI

Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 32 bit
Vendor: Sun Microsystems, Inc. Availability: Jul-2007
OS Name: Solaris 10 11/06 64-bit

Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 32 bit
Vendor: Sun Microsystems, Inc. Availability: Jul-2007
OS Name: Solaris 10 6/06 64-bit

Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 64 bit
Vendor: Sun Microsystems, Inc. Availability: Jul-2007
OS Name: Solaris 10 6/06 64-bit

Oracle JDBC Driver 10.2.0.2 (Thin)
Vendor: Oracle Corporation Availability: Mar-2006
OS Name: Solaris 10 11/06 64-bit

Oracle Database Enterprise Edition Release 10.2.0.3
Vendor: Oracle Corporation Availability: Feb-2007
OS Name: Solaris 10 8/07 64-bit

J2EE Application Server
J2EE Product: Oracle Application Server 10g Release 10.1.3.2 - Java Edition
JVM Product: Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 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
-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 -Dsun.net.inetaddr.ttl=0
-Dnetworkaddress.cache.ttl=0 -Doc4j.jms.implementation=oc4j.j2ee.jms

Emulator SW Config
JVM Product: Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 64 bit
Web Product: Oracle Application Server 10g Release 10.1.3.2 - Java Edition
Hardware: Emulator and Load Driver HW #1-#3
# of Instances: 1
Notes / Tuning Information
-d64 -server -Xms32g -Xmx32g -Xmn800m -Xss256k -XX:+AggressiveHeap
-XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:LargePageSizeInBytes=4m
-XX:MaxTenuringThreshold=3 -XX:SurvivorRatio=20 -verbose:gc
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading
-XX:PermSize=96m -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: Database Server HW
# of Instances: 1
Notes / Tuning Information
db_name                  = specdb
control_files            = /spec_db/cntrlspecdb
compatible               = 10.1.0.2.0
cursor_space_for_time    = TRUE
db_cache_size            = 14000M
undo_tablespace          = undo_ts
db_cache_advice          = off
db_8k_cache_size         = 3500M
db_4k_cache_size         = 5000M
db_block_size            = 2048
db_keep_cache_size       = 2048M
db_files                 = 256
dml_locks                = 600
_undo_autotune           = FALSE
aq_tm_processes          = 0
db_block_checksum        = FALSE
db_files                 = 256
db_writer_processes      = 4
disk_asynch_io           = TRUE
fast_start_mttr_target   = 0
log_buffer               = 4194304
log_checkpoint_interval  = 0
log_checkpoints_to_alert = TRUE
open_cursors             = 2000
processes                = 1500
eplication_dependency_tracking = FALSE
sessions                 = 1500
shared_pool_size         = 1400m
timed_statistics         = true
statistics_level         = BASIC
trace_enabled            = FALSE
transactions             = 1500
transactions_per_rollback_segment = 1
undo_management          = AUTO
undo_retention           = 1000

Driver SW Config #1-#3
JVM Product: Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 32 bit
Hardware: Emulator and Load Driver HW #1-#3
# of Instances: 3
Notes / Tuning Information
java -server -XX:+AggressiveHeap -XX:+UseParallelGC
-XX:LargePageSizeInBytes=4m -XX:-TraceClassUnloading -Xms2g -Xmx2g
-Xmn600m -XX:+DisableExplicitGC -Xbatch -Xss128k -Dnetworkaddress.cache.ttl=0
-Dsun.net.inetaddr.ttl=0

Driver SW Config #4-#6
JVM Product: Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 32 bit
Hardware: Load Driver HW #4-#6
# of Instances: 3
Notes / Tuning Information
java -server -XX:+AggressiveHeap -XX:+UseParallelGC
-XX:LargePageSizeInBytes=4m -XX:-TraceClassUnloading -Xms2g -Xmx2g
-Xmn600m -XX:+DisableExplicitGC -Xbatch -Xss128k -Dnetworkaddress.cache.ttl=0
-Dsun.net.inetaddr.ttl=0

Driver SW Config #7-#8
JVM Product: Java HotSpot(TM) Server VM (build 1.6.0_02-b05) 32 bit
Hardware: Load Driver HW #7-#8
# of Instances: 2
Notes / Tuning Information
java -server -XX:+AggressiveHeap -XX:+UseParallelGC
-XX:LargePageSizeInBytes=4m -XX:-TraceClassUnloading -Xms2g -Xmx2g
-Xmn600m -XX:+DisableExplicitGC -Xbatch -Xss128k -Dnetworkaddress.cache.ttl=0
-Dsun.net.inetaddr.ttl=0

J2EE AppServer HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire T2000 OS Name: Solaris 10 11/06 64-bit
Processor: Sun UltraSPARC T1 Filesystem: UFS
MHz: 1400 Disks: 3x73Gb 10K RPM SAS
# of CPUs: 8 cores, 1 chip, 8 cores/chip (4 threads/core) Network Interface: (4) 1000BaseT Ethernet
Memory (MB): 65536 Other Hardware:
L1 Cache: 16KB(I)+8KB(D) per core # of Systems: 2
L2 Cache: 3MB per chip H/W Available: Nov-2005
Other Cache: OS Available: Nov-2006
Notes / Tuning Information
System Tuning in /etc/system:
set ipge:ipge_tx_ring_size=8192
set ipge:ipge_srv_fifo_depth=16000
set ipge:ipge_reclaim_pending=64
set ipge:ipge_bcopy_thresh=1520
set ip:ip_squeue_fanout=1
set ip:ip_squeue_bind=0
set rlim_fd_max=260000
set rlim_fd_cur=260000
set sq_max_size=0
set ipge:ipge_dvma_thresh=1
e1000g driver used instead of ipge driver
e1000g0,e1000g2 and e1000g1 used as aggregation for client connections

Database Server HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire X4600 M2 OS Name: Solaris 10 8/07 64-bit
Processor: Dual-Core AMD Opteron(tm) Processor 8220 Filesystem: Raw device
MHz: 2800 Disks: 2x73Gb 10K RPM SCSI
# of CPUs: 16 cores, 8 chips, 2 cores/chip Network Interface: (3) 1000 BaseT Ethernet
Memory (MB): 32768 Other Hardware: See Notes
L1 Cache: 64KB(I)+64KB(D) per core # of Systems: 1
L2 Cache: 1MB per core H/W Available: Jul-2006
Other Cache: OS Available: Aug-2007
Notes / Tuning Information
System Tuning in /etc/system:
set ip:ip_squeue_bind = 0
set ip:ip_squeue_fanout = 1
set sq_max_size = 0
set ipge:ipge_bcopy_thresh=1520
set ipge:ipge_dvma_thresh=1
set ipge:ipge_reclaim_pending=64
set ipge:ipge_srv_fifo_depth=16000
set ipge:ipge_tx_ring_size=8192
set msgsys:msginfo_msgmnb=65535
set msgsys:msginfo_msgmni=12288
set msgsys:msginfo_msgtql=5120
set rlim_fd_cur=260000
set rlim_fd_max=260000
set semsys:seminfo_semmni=4096
set semsys:seminfo_semmsl=4096
set semsys:seminfo_semopm=4096
set shmsys:shminfo_shmmax=0xffffffff
set shmsys:shminfo_shmmni=512
set use_text_largepages 1
/etc/rc3.d/S99network:
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
Other Hardware:
Sun StorageTek 3510 Array (12x 146GB 15K RPM FC Disk Array)
Sun StorageTek 6140 (5x 73GB 15K RPM FC Disk Array)

Emulator and Load Driver HW #1-#3 (non-SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire E6900 OS Name: Solaris 10 6/06
Processor: UltraSPARC IV Filesystem: UFS
MHz: 1200 Disks: 3 x 32GB Ultra320 SCSI
# of CPUs: 48 cores, 24 chips, 2 cores/chip Network Interface: (2) Onboard 1000BaseT Ethernet
Memory (MB): 98304 Other Hardware: (3) PCI-X 1000BaseT ethernet cards
L1 Cache: 64KB(I)+128KB(D) # of Systems: 1
L2 Cache: 16MB H/W Available: Feb-2003
Other Cache: OS Available: Jun-2006
Notes / Tuning Information
System Tuning in /etc/system:
set rlim_fd_max=260000
set rlim_fd_cur=260000
set ce:ce_bcopy_thresh=256
set ce:ce_dvma_thresh=256
set ce:ce_taskq_disable=1
set ce:ce_ring_size=256
set ce:ce_comp_ring_size=1024
set ce:ce_tx_ring_size=4096
This system was divided into 3 equal logical partitions using Solaris Containers.
Two logical partitions are satellite drivers
One logical partition was used as Master driver and emulator

Load Driver HW #4-#6 (non-SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire V1280 OS Name: Solaris 10 6/06
Processor: UltraSPARC III+ Filesystem: UFS
MHz: 900 Disks: 2 x 32GB Ultra320 SCSI
# of CPUs: 12 cores, 12 chips, 1 core/chip Network Interface: (2) Onboard 1000BaseT Ethernet
Memory (MB): 98304 Other Hardware: (1) PCI-X 1000BaseT ethernet cards
L1 Cache: 32KB(I)+64KB(D) # of Systems: 1
L2 Cache: 8MB H/W Available: Feb-2003
Other Cache: OS Available: Jun-2006
Notes / Tuning Information
System Tuning in /etc/system:
set rlim_fd_max=260000
set rlim_fd_cur=260000
set ce:ce_bcopy_thresh=256
set ce:ce_dvma_thresh=256
set ce:ce_taskq_disable=1
set ce:ce_ring_size=256
set ce:ce_comp_ring_size=1024
set ce:ce_tx_ring_size=4096
This system was divided into 3 equal logical partitions using Solaris Containers.
Each logical partition is a satellite driver.

Load Driver HW #7-#8 (non-SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire V1280 OS Name: Solaris 10 6/06
Processor: UltraSPARC III+ Filesystem: UFS
MHz: 1200 Disks: 2 x 72GB Ultra320 SCSI
# of CPUs: 12 cores, 12 chips, 1 core/chip Network Interface: (2) Onboard 1000BaseT Ethernet
Memory (MB): 49152 Other Hardware:
L1 Cache: 32KB(I)+64KB(D) # of Systems: 1
L2 Cache: 8MB H/W Available: Feb-2003
Other Cache: OS Available: Jun-2006
Notes / Tuning Information
System Tuning in /etc/system:
set rlim_fd_max=260000
set rlim_fd_cur=260000
set ce:ce_bcopy_thresh=256
set ce:ce_dvma_thresh=256
set ce:ce_taskq_disable=1
set ce:ce_ring_size=256
set ce:ce_comp_ring_size=1024
set ce:ce_tx_ring_size=4096
This system was divided into 2 equal logical partitions using Solaris Containers.
Each logical partition is a satellite driver.

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:
  Data and redo logs were written to RAID 1 volume to provide durability.
  The application servers have pair of mirrored disks (using ZFS) to provide
  durability for server logs and JMS persistence filestore.
Storage Requirement Info:
  A 80 min run at Injection Rate of 1120 increased storage by
  2.8 GB. This extrapolates to 50.4 GB for 24 hours. The system
  is configured with over 820.0 GB 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 No.             Qty
--------        ----------------------------------------        ------------------      ---
Sun             Sun Fire T2000, 1x1.4 GHz T1,64GB,2x73GB drives T20Z108C-64GA2D         2
Sun             Solaris 10 11/06 Media KIT                      SOLZ9-10FC9A7M          1
Sun             SunSpectrum Upgrade: 3Y GOLD, 24x7              W9D-T2000-8-24-3G       2
Sun             QLogic QLA2342-SUN PCI/PCI-X                    375-3363                1
Sun             17" Entry Color Monitor                         X7147A                  1
Sun             PS/2 Keyboard & Mouse                           320-1261                1
Sun             73-GB 10000 RPM 2.5 inch SAS Disk Drive         XRA-SS2CD-73G10KZ       2
Sun             Sun Fire X4600 M2, 32GB, 8x 2.8Ghz dual-core    
                AMD Opteron, 2x146GB drives                     A67-HPZ8-8H-032LB1      1
Sun             SunSpectrum Upgrade: 3Y GOLD, 24x7              W9G-A67-8-24-3G         1
Sun             Solaris 10 8/07 Media KIT                       SOLZ9-10HC9A7M          1
Sun             Sun StorageTek 3510, 12 x 146GB, 1 RAID         XTA3510R01A1R1752Z      1
Sun             SunSpectum Upgrade: 3Y GOLD, 24x7               W9D-SE3510-24-3G        1
Sun             Sun StorageTek 6140 array, 2 * 1GB-cache memory FC RAID Controller cards,    
                5x 73GB 15Krpm 4Gb FC-AL Drives                 XTB6140R11A2B365Z       1
Sun             SunSpectum Upgrade: 3Y GOLD, 24x7               W9D-ST6140-2-24-3G      1
Oracle          Oracle Database 10g Release 2 Enterprise Edition, Per Processor         8*
                (v10.2)                                                                    
Oracle          Partitioning, Per Processor,  Unlimited users for 3 years               8*        
Oracle          Oracle Database Server Support Package for 3 years                      1
                (Incident Server Support) 24x7x4                                        
Oracle          Oracle Application Server 10g Release 10.1.3.2,                         12**
                Java Edition, Per Processor                                             
                (v10.1)
Oracle          Oracle Application Server Support Package for 3 years                   2       
                (Incident Server Support) 24x7x4 

(* 8 = 0.50 * 16).  Explanation:  For the purposes of counting the number of
processors which require licensing, an AMD multicore chip with "n" cores
shall be determined by multiplying "n" cores by a factor of 0.50).

(** 12 = 0.75 * 16).  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 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 (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.


For questions about this result, please contact the submitter: Oracle Corporation
For other inquiries, please contact webmaster@spec.org

Copyright © 2004 Standard Performance Evaluation Corporation

First published at SPEC.org on 16-Aug-2007