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 Rackable Systems C2002-HPC
1,111.96 SPECjAppServer2004 JOPS@Standard
Submitter:
Oracle Corporation
SPEC license # 73 Test date:
Jun-2007
Software Products
Oracle Application Server 10G Release 10.1.3.2 - Java Edition
Java (TM) 2 Platform Standard Edition Development Kit 6.0 64-bit
Oracle JDBC Driver 10.2.0.2 (Thin)
Oracle Database Enterprise Edition Release 10.2.0.2
Software Configurations
J2EE Application Server
Emulator SW Config
Database SW Config
Driver SW Config Primary
Hardware Systems
J2EE Server HW
Database Server HW
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: 8 cores, 2 chips   DB Server CPUs: 8 cores, 2 chips
J2EE Instances: 1   DB Instances: 1
Other SUT Components:
    Cisco Catalyst 3560G Switch

Benchmark Settings
Dealer Injection Rate: 670   Ramp Up Time: 600 seconds
# of Dealer Agents: 4   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 3   Steady State Time: 3,600 seconds
DB Load Injection Rate: 700   Trigger Time: 240 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 602,010 25.02%
Manage 601,634 25.00%
Browse 1,202,529 49.98%
Total # Dealer Transactions 2,406,173
Total # Manufacturing Transactions 1,596,878
Response Times Average Maximum 90th% Reqd
Purchase 0.34 36.18 0.70 2.00
Manage 0.27 29.05 0.60 2.00
Browse 0.41 32.29 1.00 2.00
Manufacturing 2.00 28.06 4.25 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 1,113.37

Oracle Application Server 10G Release 10.1.3.2 - Java Edition
Vendor: Oracle Corporation Availability: Jul-2007
CTS Version: 1.4 Date Passed CTS: Jan-2006
OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T
EJB Protocol: ORMI

Java (TM) 2 Platform Standard Edition Development Kit 6.0 64-bit
Vendor: Sun Microsystems, Inc Availability: Dec-2006
OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T

Oracle JDBC Driver 10.2.0.2 (Thin)
Vendor: Oracle Corporation Availability: Feb-2006
OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T

Oracle Database Enterprise Edition Release 10.2.0.2
Vendor: Oracle Corporation Availability: Feb-2006
OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T

J2EE Application Server
J2EE Product: Oracle Application Server 10G Release 10.1.3.2 - Java Edition
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 64-bit
JDBC Product: Oracle JDBC Driver 10.2.0.2 (Thin)
Hardware: J2EE Server HW
# of Instances: 1
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
-Xms9000M -Xmx9000M -server -Xmn6000M -Xss128k -XX:+UseLargePages
-XX:PermSize=128M -XX:MaxPermSize=128M -XX:+AggressiveHeap
-Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
-XX:+DisableExplicitGC -XX:+UseParallelGC -XX:ParallelGCThreads=4
-Doracle.dms.sensors=none -Doc4j.jms.implementation=oc4j.j2ee.jms
-Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0

Emulator SW Config
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 64-bit
Web Product: Oracle Application Server 10G Release 10.1.3.2 - Java Edition
Hardware: Driver and Emulator HW
# of Instances: 1
Notes / Tuning Information
-Xms2000m -Xmx2000m -verbosegc

Database SW Config
DB Product: Oracle Database Enterprise Edition Release 10.2.0.2
Hardware: Database Server HW
# of Instances: 1
Notes / Tuning Information
db_name                = spec
control_files          = ?/dbs/cntrlspec
compatible             = 10.1.0.0.0
cursor_space_for_time  = TRUE
db_cache_size          = 10000M
db_8k_cache_size       = 2000M
db_4k_cache_size       = 1500M
db_keep_cache_size     = 500M
db_file_multiblock_read_count = 128
db_block_size          = 2048
db_files              = 256
dml_locks             = 600
log_buffer            = 10485760
log_checkpoint_interval = 0
processes             = 600
open_cursors          = 2000
shared_pool_size      = 600M
sessions              = 800
transactions          = 800
transactions_per_rollback_segment = 1
parallel_max_servers  = 100
undo_management       = AUTO
undo_retention        = 5
undo_tablespace       = undo_ts
db_writer_processes   = 4
log_checkpoints_to_alert = TRUE

Driver SW Config Primary
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 64-bit
Hardware: Driver and Emulator HW
# of Instances: 1
Notes / Tuning Information
-server -Xmx2000M -Xverify:none -XX:+DisableExplicitGC
-Dnetworkaddress.cache.ttl=0 -Dsun.net.inetaddr.ttl=0

J2EE Server HW (SUT hardware)
Hardware Vendor: Rackable Systems OS Vendor: Red Hat
Model Name: C2002-HPC OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T
Processor: Intel(R) Xeon(R) CPU X5355 Filesystem: ext3
MHz: 2660 Disks: 2x147 GB SAS 15K RPM
# of CPUs: 8 cores, 2 chips, 4 cores/chip Network Interface: (3) Dual Port 1000 BaseT Ethernet
Memory (MB): 16384 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) # of Systems: 1
L2 Cache: 2x4MB per chip H/W Available: Jun-2007
Other Cache: OS Available: Jul-2006
Notes / Tuning Information
/etc/sysctl.conf:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.sem = 250 32000 100 128
fs.file-max = 262144
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 10000000
net.core.wmem_default = 10000000
net.core.rmem_max = 10000000
net.core.wmem_max = 10000000
net.core.optmem_max = 10000000
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_mem = 30000000 30000000 30000000
net.ipv4.tcp_rmem = 30000000 30000000 30000000
net.ipv4.tcp_wmem = 30000000 30000000 30000000
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_syn_backlog = 12000
net.core.somaxconn = 10000
net.ipv4.ip_forward = 1
net.core.netdev_max_backlog = 400000
vm.nr_hugepages = 6590
kernel.shmmax = 12884901888
kernel.shmall = 6291456
vm.hugetlb_shm_group = 300
/etc/rc.d/rc.local:
touch /var/lock/subsys/local
/sbin/ifconfig eth0 txqueuelen 30000
/sbin/ifconfig eth3 txqueuelen 30000
/sbin/ifconfig eth4 txqueuelen 30000
/sbin/ifconfig eth5 txqueuelen 30000
/etc/init.d/irqbalance stop
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

Database Server HW (SUT hardware)
Hardware Vendor: Rackable Systems OS Vendor: Red Hat
Model Name: S3118 OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T
Processor: Intel(R) Xeon(R) CPU X5355 Filesystem: ext3
MHz: 2660 Disks: 16x73GB SAS 15K RPM, 1x400GB WD SATA 7200 RPM
# of CPUs: 8 cores, 2 chips, 4 cores/chip Network Interface: (1) Dual Port 1000 BaseT Ethernet
Memory (MB): 16384 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) # of Systems: 1
L2 Cache: 2x4MB per chip H/W Available: Jun-2007
Other Cache: OS Available: Jul-2006
Notes / Tuning Information
/etc/sysctl.conf:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
vm.nr_hugepages = 7424
kernel.shmmax = 15569256448
kernel.shmall = 3801088
kernel.sem = 250 32000 100 128
fs.file-max = 131072
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.wmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_max = 1048576

Driver and Emulator HW (non-SUT hardware)
Hardware Vendor: Rackable Systems OS Vendor: Red Hat
Model Name: C4002 OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T
Processor: Dual Core AMD Opteron(tm) Processor 880 Filesystem: ext3
MHz: 2411 Disks: 1x400GB SATA 7200 RPM
# of CPUs: 8 cores, 4 chips, 2 cores/chip Network Interface: (2) Dual Port 1000 BaseT Ethernet
Memory (MB): 65536 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) # of Systems: 1
L2 Cache: 1MB per core H/W Available: Jun-2007
Other Cache: OS Available: Jul-2006
Notes / Tuning Information
/etc/sysctl.conf:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmmax = 4294967295
kernel.sem = 250 32000 100 128
fs.file-max = 262144
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 10000000
net.core.wmem_default = 10000000
net.core.rmem_max = 10000000
net.core.wmem_max = 10000000
net.core.optmem_max = 10000000
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_mem = 30000000 30000000 30000000
net.ipv4.tcp_rmem = 30000000 30000000 30000000
net.ipv4.tcp_wmem = 30000000 30000000 30000000
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_syn_backlog = 12000
net.core.somaxconn = 10000
net.ipv4.ip_forward = 1
net.core.netdev_max_backlog = 400000

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_WORKORDER table was horizontally partitioned.
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 in orders-toplink-ejb-jar.xml.
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.
  
  The RAID controller on the database and the application server machines were
  configured with Write-Through cache policy, as there was no battery backup
  unit on the controller.
Storage Requirement Info:
  A 75 min run at Injection Rate of 670 increased storage by 1260 MB. Extrapolating
  for 24 hrs we need 24.0 GB. The system is configured with over 975 GB of storage.
Argument Passing Semantics:
  Oracle Application Server 10g uses pass-by-value as required by the EJB
  specification.

Bill of Materials

Supplier  Description                                   SKU #              Qty
--------  -------------------------------------------   ----------------   ---
Rackable Systems S3118 Storage System               S3118-L03-X5355-AS-A    1** 
Rackable Systems C2002-HPC Server               C2002-HPC-L03-X5355-AS-A    1**
Rackable Systems Platinum Support Coverage for 3 years       50-40-00003    2

Cisco     Catalyst 3560G Switch                     39-00-00177             1
Red Hat   Enterprise Linux Premium Subscription (1 Year)                    6
Oracle    Oracle Database 10g Release 2 Enterprise Edition, Per Processor    
          Unlimited Users for 3 years                                       4*
Oracle    Partitioning, Per Processor, Unlimited Users for 3 years          4* 
Oracle    Oracle Database Server Support Package for 3 years
          (Incident Server Support) 24x7x4                                  1
Oracle    Oracle Application Server 10g Release 10.1.3.2, Per Processor    
          (v10.1)                                                           4*
Oracle    Oracle Application Server Support Package for 3 years	     	
          (Incident Server Support) 24x7x4                                  1 

(* 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).

(** For information on Rackable Systems products used in the benchmark, please 
contact Rackable Systems: Sales 1-408-240-8300, option 2, or Email, sales@rackable.com)



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 Appserver over 3 netowrks 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.spec.com:23791/SPECjAppServer
  java.naming.security.principal=oc4jadmin
  java.naming.security.credentials=welcome
  oracle.j2ee.rmi.loadBalance=lookup

General Notes
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.

The only errors in the driver error logs are the application errors generated
by this benchmark.


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 09-Jul-2007