SPEC Seal of Reviewal SPECjAppServer®2004 Result
Copyright © 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
Software Products
Oracle Application Server 10g Release 10.1.3.3 - Java Edition
Java HotSpot(TM) 32-Bit Server VM on Solaris, version 1.6.0_03
Oracle JDBC Driver 10.2.0.3 (Thin)
Oracle Database Enterprise Edition Release 10.2.0.3
Software Configurations
J2EE Application Server
Emulator SW Config
Database SW Config
Driver SW Config - Primary
Driver SW Config - Satellites 2 & 3
Hardware Systems
J2EE AppServer HW
Database Server HW
Load Driver HW Primary
Load Driver HW Emulator & Satellites

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

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

Oracle Application Server 10g Release 10.1.3.3 - Java Edition
Vendor: Oracle Corporation Availability: Aug-2007
CTS Version: 1.4 Date Passed CTS: Jan-2006
OS Name: Solaris 10 8/07 64-bit
EJB Protocol: ORMI

Java HotSpot(TM) 32-Bit Server VM on Solaris, version 1.6.0_03
Vendor: Sun Microsystems, Inc. Availability: Sep-2007
OS Name: Solaris 10 8/07 64-bit

Oracle JDBC Driver 10.2.0.3 (Thin)
Vendor: Oracle Corporation Availability: Feb-2007
OS Name: Solaris 10 8/07 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.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

J2EE AppServer HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun SPARC Enterprise T5220 OS Name: Solaris 10 8/07 64-bit
Processor: Sun UltraSPARC T2 Filesystem: UFS
MHz: 1400 Disks: 2x73Gb 10K RPM SAS
# of CPUs: 8 cores, 1 chip, 8 cores/chip (8 threads/core) Network Interface: (2) 1000 BaseT Ethernet
Memory (MB): 32768 Other Hardware: 1x 10 GbE XAUI card and 1x 4Gb PCI-E Fiber Channel card.
L1 Cache: 16KB(I)+8KB(D) per core # of Systems: 1
L2 Cache: 4MB per chip H/W Available: Nov-2007
Other Cache: OS 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. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun SPARC Enterprise T5120 OS Name: Solaris 10 8/07 64-bit
Processor: Sun UltraSPARC T2 Filesystem: UFS
MHz: 1200 Disks: 2x73Gb 10K RPM SAS
# of CPUs: 8 cores, 1 chip, 8 cores/chip (8 threads/core) Network Interface: (2) Onboard 1000 BaseT Ethernet
Memory (MB): 65536 Other Hardware: See notes.
L1 Cache: 16KB(I)+8KB(D) per core # of Systems: 1
L2 Cache: 4MB per chip H/W Available: Nov-2007
Other Cache: OS 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. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun SPARC Enterprise M5000 OS Name: Solaris 10 8/07 64-bit
Processor: SPARC64 VI Filesystem: UFS
MHz: 2150 Disks: 2 x 73GB Ultra320 SCSI disks
# of CPUs: 16 cores, 8 chips, 2 cores/chip, 2 threads/core Network Interface: (1) Onboard 1000BaseT Ethernet
Memory (MB): 131072 Other Hardware: (1) Dual Port 10 GbE card
L1 Cache: 128KB(I)+128KB(D) per core # of Systems: 1
L2 Cache: 5MB per chip H/W Available: Apr-2007
Other Cache: OS 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. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun SPARC Enterprise M5000 OS Name: Solaris 10 8/07 64-bit
Processor: SPARC64 VI Filesystem: UFS
MHz: 2150 Disks: 2 x 73GB Ultra320 SCSI disks
# of CPUs: 16 cores, 8 chips, 2 cores/chip, 2 threads/core Network Interface: (1) Onboard 1000BaseT Ethernet
Memory (MB): 131072 Other Hardware: (1) Dual Port 10 GbE card
L1 Cache: 128KB(I)+128KB(D) per core # of Systems: 1
L2 Cache: 5MB per chip H/W Available: Apr-2007
Other Cache: OS 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 webmaster@spec.org

Copyright © 2004 Standard Performance Evaluation Corporation

First published at SPEC.org on 11-Oct-2007