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
1,672.64 SPECjAppServer2004 JOPS@Standard
Submitter:
Oracle Corporation
SPEC license # 73 Test date:
Aug-2007
Software Products
Oracle Application Server 10G Release 10.1.3.2 - Java Edition
BEA JRockit(R) 6.0 JDK (R27.3.0-106) (Linux x86 32bit)
Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 2 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
Driver SW Config Satellite
Hardware Systems
J2EE Server HW
Database Server HW
Drivers 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: 4   DB Instances: 1
Other SUT Components:
   Cisco Catalyst 3560G Switch

Benchmark Settings
Dealer Injection Rate: 1,000   Ramp Up Time: 900 seconds
# of Dealer Agents: 5   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 5   Steady State Time: 3,600 seconds
DB Load Injection Rate: 1,000   Trigger Time: 320 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 902,403 24.97%
Manage 903,766 25.01%
Browse 1,807,681 50.02%
Total # Dealer Transactions 3,613,850
Total # Manufacturing Transactions 2,407,659
Response Times Average Maximum 90th% Reqd
Purchase 0.42 6.04 1.20 2.00
Manage 0.29 7.12 0.70 2.00
Browse 0.52 4.75 1.40 2.00
Manufacturing 1.43 6.16 2.25 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 1,673.15

Oracle Application Server 10G Release 10.1.3.2 - Java Edition
Vendor: Oracle Corporation Availability: Nov-2007
CTS Version: 1.4 Date Passed CTS: Jan-2006
OS Name: Red Hat Enterprise Linux 5 IA32 PAE
EJB Protocol: ORMI

BEA JRockit(R) 6.0 JDK (R27.3.0-106) (Linux x86 32bit)
Vendor: BEA Systems, Inc. Availability: Jul-2007
OS Name: Red Hat Enterprise Linux 5 IA32 PAE

Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 2 64-bit
Vendor: Sun Microsystems, Inc Availability: Jul-2007
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 5 IA32 PAE

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: BEA JRockit(R) 6.0 JDK (R27.3.0-106) (Linux x86 32bit)
JDBC Product: Oracle JDBC Driver 10.2.0.2 (Thin)
Hardware: J2EE Server HW
# of Instances: 4
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
-showversion -Xms2800m -Xmx2800m -XXaggressive -XXinternalCompactRatio=1
-XXexternalCompactRatio=10 -XXheapParts=128 -XXgcthreads=2
-XXoptthreads=2 -Xverbose:memdbg,opt,gcpause,gcreport
-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 Update 2 64-bit
Web Product: Oracle Application Server 10G Release 10.1.3.2 - Java Edition
Hardware: Drivers and Emulator HW
# of Instances: 1
Notes / Tuning Information
-server -Xms14000M -Xmx14000M -XX:+AggressiveOpts
-XX:+DisableExplicitGC -verbosegc -XX:+PrintGCTimeStamps
-Dnetworkaddress.cache.ttl=1 -Dsun.net.inetaddr.ttl=1

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.2.0.1.0
cursor_space_for_time   = TRUE
db_cache_size           = 19500M
db_8k_cache_size        = 3900M
db_4k_cache_size        = 3000M
db_keep_cache_size      = 1000M
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        = 1180M
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
db_block_checksum       = FALSE
trace_enabled           = FALSE
timed_statistics        = FALSE
statistics_level        = BASIC

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

Driver SW Config Satellite
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 2 64-bit
Hardware: Drivers and Emulator HW
# of Instances: 1
Notes / Tuning Information
-server -Xms1400M -Xmx1400M -Xverify:none -Xloggc:gc.log -XX:+PrintGCDetails
-XX:+PrintGCTimeStamps -XX:+DisableExplicitGC -XX:+UseParallelGC
-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 OS Name: Red Hat Enterprise Linux 5 IA32 PAE
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: Feb-2007
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.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
vm.hugetlb_shm_group = 500
vm.nr_hugepages = 7200
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.eth2.arp_ignore = 1
net.ipv4.conf.eth3.arp_ignore = 1
net.ipv4.conf.eth5.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.eth0.arp_announce = 2
net.ipv4.conf.eth1.arp_announce = 2
net.ipv4.conf.eth2.arp_announce = 2
net.ipv4.conf.eth3.arp_announce = 2
net.ipv4.conf.eth5.arp_announce = 2
net.ipv4.tcp_fin_timeout = 20
/etc/rc.d/rc.local:
echo "500000" > /proc/sys/fs/file-max
echo "10000000" > /proc/sys/net/core/optmem_max
echo "10000000" > /proc/sys/net/core/rmem_default
echo "10000000" > /proc/sys/net/core/rmem_max
echo "10000000" > /proc/sys/net/core/wmem_default
echo "10000000" > /proc/sys/net/core/wmem_max
echo "2000000" > /proc/sys/net/ipv4/tcp_max_tw_buckets
echo "30000000 30000000 30000000" > /proc/sys/net/ipv4/tcp_mem
echo "30000000 30000000 30000000" > /proc/sys/net/ipv4/tcp_rmem
echo "30000000 30000000 30000000" > /proc/sys/net/ipv4/tcp_wmem
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "12000" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "10000" > /proc/sys/net/core/somaxconn
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "400000" > /proc/sys/net/core/netdev_max_backlog
/sbin/ifconfig eth0 txqueuelen 60000
/sbin/ifconfig eth1 txqueuelen 60000
/sbin/ifconfig eth2 txqueuelen 60000
/sbin/ifconfig eth3 txqueuelen 60000
/sbin/ifconfig eth5 txqueuelen 60000
/sbin/ethtool -K eth0 tso on
/sbin/ethtool -K eth1 tso on
/sbin/ethtool -K eth2 tso on
/sbin/ethtool -K eth3 tso on
/sbin/ethtool -K eth5 tso on
/sbin/ethtool -K eth0 gso on
/sbin/ethtool -K eth1 gso on
/sbin/ethtool -K eth2 gso on
/sbin/ethtool -K eth3 gso on
/sbin/ethtool -K eth5 gso on
/etc/init.d/irqbalance stop
echo "02" > /proc/irq/`cat /proc/interrupts | grep eth0 | sed "s/:.*//"`/smp_affinity
echo "08" > /proc/irq/`cat /proc/interrupts | grep eth1 | sed "s/:.*//"`/smp_affinity
echo "20" > /proc/irq/`cat /proc/interrupts | grep eth2 | sed "s/:.*//"`/smp_affinity
echo "80" > /proc/irq/`cat /proc/interrupts | grep eth3 | sed "s/:.*//"`/smp_affinity
echo "01" > /proc/irq/`cat /proc/interrupts | grep eth5 | sed "s/:.*//"`/smp_affinity
mount -t hugetlbfs nodev /mnt/hugepages
chmod 777 /mnt/hugepages

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 E5345 Filesystem: ext3
MHz: 2330 Disks: 16x73GB SAS 15K RPM, 1x400GB WD SATA 7200 RPM
# of CPUs: 8 cores, 2 chips, 4 cores/chip Network Interface: (2) Dual Port 1000 BaseT Ethernet
Memory (MB): 32768 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 = 14336
kernel.shmmax = 30064771072
kernel.shmall = 29360128
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
/etc/rc.local:
/sbin/ifconfig eth0 txqueuelen 60000
/sbin/ifconfig eth1 txqueuelen 60000
/etc/init.d/xinetd start
/etc/init.d/iptables stop
chmod a+rwx /dev/raw/raw*
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
Virtual IP was configured on two network interfaces to support subnets for
communication between the database and the appserver instances.

Drivers 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: (3) Dual Port 1000 BaseT Ethernet
Memory (MB): 65536 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) # of Systems: 2
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.core.netdev_max_backlog = 400000
/etc/rc.local:
/sbin/ifconfig eth0 txqueuelen 60000
/sbin/ifconfig eth1 txqueuelen 60000
/sbin/ifconfig eth2 txqueuelen 60000
/sbin/ifconfig eth3 txqueuelen 60000
/sbin/ifconfig eth4 txqueuelen 60000
/etc/init.d/xinetd start
/etc/init.d/iptables stop
/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
On the Satellite Driver and Emulator HW, one virtual IP was configured for
traffic from appserver instances to the emulator.

Benchmark Modifications
Schema Modifications:
  Tablespace sizes were increased to support the Injection rate. Table
  and index initrans were modified. The M_WORKORDER and O_ORDERLINE
  tables were horizontally partitioned. Scripts to create the DB are
  included in the FDA.
  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 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-Back cache policy supported with battery backup unit on
  the controller.
Storage Requirement Info:
  A 80 min run at Injection Rate of 1000 increased storage by 3 GB.
  Extrapolating for 24 hrs we need 54 GB. The system is configured with
  over 975 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                                   SKU #              Qty
--------  -------------------------------------------   ----------------   ---
Rackable Systems S3118 Storage System               S3118-L03-X5345-AS-A    1
Rackable Systems C2002 Server                       C2002-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).



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 directed to the Appserver instances 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 29-Aug-2007