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 HP Proliant BL460c G1
2,056.27 SPECjAppServer2004 JOPS@Standard
Submitter:
Oracle Corporation
SPEC license # 73 Test date:
Oct-2007
Software Products
Oracle Application Server 10G Release 10.1.3.3 - 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 11.1.0.6 (Thin)
Oracle Database Enterprise Edition Release 11.1.0.6
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:
   None

Benchmark Settings
Dealer Injection Rate: 1,230   Ramp Up Time: 900 seconds
# of Dealer Agents: 7   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 6   Steady State Time: 3,600 seconds
DB Load Injection Rate: 2,000   Trigger Time: 420 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 1,111,917 25.01%
Manage 1,110,869 24.99%
Browse 2,222,559 50.00%
Total # Dealer Transactions 4,445,345
Total # Manufacturing Transactions 2,957,232
Response Times Average Maximum 90th% Reqd
Purchase 0.40 14.34 1.10 2.00
Manage 0.27 13.56 0.70 2.00
Browse 0.50 13.50 1.20 2.00
Manufacturing 1.48 14.67 2.25 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 2,059.27

Oracle Application Server 10G Release 10.1.3.3 - 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 11.1.0.6 (Thin)
Vendor: Oracle Corporation Availability: Oct-2007
OS Name: Red Hat Enterprise Linux 5 IA32 PAE

Oracle Database Enterprise Edition Release 11.1.0.6
Vendor: Oracle Corporation Availability: Oct-2007
OS Name: Red Hat Enterprise Linux 5 EM64T

J2EE Application Server
J2EE Product: Oracle Application Server 10G Release 10.1.3.3 - Java Edition
JVM Product: BEA JRockit(R) 6.0 JDK (R27.3.0-106) (Linux x86 32bit)
JDBC Product: Oracle JDBC Driver 11.1.0.6 (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 -Xms2670m -Xmx2670m -XXaggressive -XXinternalCompactRatio=1
-XXexternalCompactRatio=10 -XXheapParts=128 -XXgcthreads=4
-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.3 - Java Edition
Hardware: Drivers and Emulator HW
# of Instances: 1
Notes / Tuning Information
-server -Xms14000M -Xmx14000M -XX:+AggressiveOpts
-XX:+DisableExplicitGC -verbosegc -XX:+PrintGCTimeStamps
-XX:+PrintCommandLineFlags -Dnetworkaddress.cache.ttl=0 -Dsun.net.inetaddr.ttl=0

Database SW Config
DB Product: Oracle Database Enterprise Edition Release 11.1.0.6
Hardware: Database Server HW
# of Instances: 1
Notes / Tuning Information
db_name                 = spec
control_files           = ?/dbs/cntrlspec
compatible              = 11.1.0.1.0
cursor_space_for_time   = TRUE
db_cache_size           = 30000M
db_8k_cache_size        = 5000M
db_4k_cache_size        = 4000M
db_keep_cache_size      = 1500M
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        = 2000M
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
filesystemio_options    = DirectIO
_resource_manager_always_off = true

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 -Xms2048M -Xmx2048M -Xverify:none  -XX:+AggressiveOpts
-XX:+AggressiveHeap -Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
-XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+PrintCommandLineFlags
-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 -Xms2048M -Xmx2048M -Xverify:none  -XX:+AggressiveOpts
-XX:+AggressiveHeap -Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
-XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+PrintCommandLineFlags
-Dnetworkaddress.cache.ttl=0 -Dsun.net.inetaddr.ttl=0

J2EE Server HW (SUT hardware)
Hardware Vendor: HP OS Vendor: Red Hat
Model Name: Proliant BL460c G1 OS Name: Red Hat Enterprise Linux 5 IA32 PAE
Processor: Intel(R) Xeon(R) CPU X5460 Filesystem: ext3
MHz: 3160 Disks: 2x147 GB SAS 15K RPM
# of CPUs: 8 cores, 2 chips, 4 cores/chip Network Interface: 2x 1Gb onboard NIC
Memory (MB): 16384 Other Hardware: 1x mezzanine NC325m Quad Port Gigabit Server Adapter, 1x 4Gb FC HBA
L1 Cache: 64KB(I)+64KB(D) # of Systems: 1
L2 Cache: 2x6MB per chip H/W Available: Nov-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 = 501
vm.nr_hugepages = 7200
fs.file-max = 262144
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.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.tcp_fin_timeout = 10
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 = 15000
net.core.netdev_max_backlog = 400000

/etc/rc.d/rc.local:
/sbin/ifconfig eth0 txqueuelen 60000
/sbin/ifconfig eth1 txqueuelen 60000
/sbin/ifconfig eth2 txqueuelen 60000
/sbin/ifconfig eth3 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 eth0 gso on
/sbin/ethtool -K eth1 gso on
/sbin/ethtool -K eth2 gso on
/sbin/ethtool -K eth3 gso on
/etc/init.d/irqbalance stop
echo "ff" > /proc/irq/0/smp_affinity
echo "02" > /proc/irq/`cat /proc/interrupts |grep eth0|sed -e "s/:.*//"`/smp_affinity
echo "04" > /proc/irq/`cat /proc/interrupts |grep eth1|sed -e "s/:.*//"`/smp_affinity
echo "20" > /proc/irq/`cat /proc/interrupts |grep eth2|sed -e "s/:.*//"`/smp_affinity
echo "40" > /proc/irq/`cat /proc/interrupts |grep eth3|sed -e "s/:.*//"`/smp_affinity
umount  /mnt/hugepages
mount -t hugetlbfs nodev /mnt/hugepages
chmod 777 /mnt/hugepages
mount /dev/mapper/oradata1-jms /logs/

1 x HP StorageWorks Modular SAN Array 1000 used for database datafiles was also shared for JMS server and logs.

Database Server HW (SUT hardware)
Hardware Vendor: HP OS Vendor: Red Hat
Model Name: Proliant BL480c G1 OS Name: Red Hat Enterprise Linux 5 EM64T
Processor: Intel(R) Xeon(R) CPU E5440 Filesystem: ext3
MHz: 2830 Disks: 2x 146GB 3G SAS 10K RPM
# of CPUs: 8 cores, 2 chips, 4 cores/chip Network Interface: 1x Dual Port 1Gb NIC, 2x 1Gb onboard NIC
Memory (MB): 49152 Other Hardware: 1x mezzanine NC325m Quad Port Gigabit Server Adapter, 1x 4Gb FC HBA
L1 Cache: 64KB(I)+64KB(D) # of Systems: 1
L2 Cache: 2x6MB per chip H/W Available: Nov-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
fs.file-max = 6553600
kernel.msgmni = 2878
kernel.sem = 256 32000 100 142
kernel.shmall = 4294967296
kernel.shmmax = 46170898432
kernel.shmmni = 4096
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 4194304
net.core.wmem_max = 4194304
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.ip_local_port_range = 1024 65000
vm.hugetlb_shm_group = 502
vm.nr_hugepages=22500

/etc/rc.local:
/sbin/ifconfig eth0 txqueuelen 30000
/sbin/ifconfig eth1 txqueuelen 30000
/sbin/ifconfig eth2 txqueuelen 30000
/sbin/ifconfig eth3 txqueuelen 30000
/sbin/ifconfig eth4 txqueuelen 30000
/etc/init.d/xinetd start
/etc/init.d/iptables stop
chmod 777 /opt/oracle/product/11.1.0/dbs/*
chmod 777 /dev/mapper/*
echo "ff" > /proc/irq/0/smp_affinity
echo "04" > /proc/irq/`cat /proc/interrupts |grep eth0|sed -e "s/:.*//"`/smp_affinity
echo "10" > /proc/irq/`cat /proc/interrupts |grep eth1|sed -e "s/:.*//"`/smp_affinity
echo "20" > /proc/irq/`cat /proc/interrupts |grep eth2|sed -e "s/:.*//"`/smp_affinity
echo "40" > /proc/irq/`cat /proc/interrupts |grep eth3|sed -e "s/:.*//"`/smp_affinity
echo "80" > /proc/irq/`cat /proc/interrupts |grep eth4|sed -e "s/:.*//"`/smp_affinity

Lgwr nice priority was set to -20
Oracle shadow processes were bound to all cores in a round robin fashion

Drivers and Emulator HW (non-SUT hardware)
Hardware Vendor: HP OS Vendor: Red Hat
Model Name: Proliant BL685c G1 OS Name: Red Hat Enterprise Linux 5 EM64T
Processor: Dual Core AMD Opteron(tm) Processor 8220 Filesystem: ext3
MHz: 1000 Disks: 1x400GB SATA 7200 RPM
# of CPUs: 8 cores, 4 chips, 2 cores/chip Network Interface: 2x 1Gb onboard NIC
Memory (MB): 32768 Other Hardware: 1x mezzanine NC325m Quad Port Gigabit Server Adapter
L1 Cache: 64KB(I)+64KB(D) # of Systems: 2
L2 Cache: 1MB per core 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 = 68719476736
kernel.shmall = 4294967296
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 = 15000
net.core.netdev_max_backlog = 400000
net.ipv4.tcp_fin_timeout = 10
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1

/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 "ff" > /proc/irq/0/smp_affinity
echo "02" > /proc/irq/`cat /proc/interrupts |grep eth1|sed -e "s/:.*//"`/smp_affinity
echo "04" > /proc/irq/`cat /proc/interrupts |grep eth2|sed -e "s/:.*//"`/smp_affinity
echo "08" > /proc/irq/`cat /proc/interrupts |grep eth3|sed -e "s/:.*//"`/smp_affinity
echo "10" > /proc/irq/`cat /proc/interrupts |grep eth4|sed -e "s/:.*//"`/smp_affinity
echo "40" > /proc/irq/`cat /proc/interrupts |grep eth0|sed -e "s/:.*//"`/smp_affinity

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 1230 increased storage by 4 GB.
  Extrapolating for 24 hrs we need 72 GB. The system is configured with
  1 TB 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
--------  -------------------------------------------   ----------------   ---
HP        Proliant BL480c G1                            404707-B21          1
HP        Quad-Core Intel Xeon Processor E5440 (2.83 GHz, 1333 MHz FSB)     2
HP        8 GB FBD PC2-5300 2 x 4 GB Kit                397415-B21          6
HP        NC325m Quad Port 1Gb NIC                      416585-B21          1
HP        QLogic QMH2462 4Gb FC HBA                     403619-B21          1
HP        HP 146GB 3G SAS 10K                           431958-B21          2
HP        4-Hour On-site Service, 7-Day x 24-Hour Coverage, 
          3 Years, Electronic                           UE459E              

HP        Proliant BL460c G1                                                1
HP        Quad-Core Intel Xeon Processor X5460 (3.16 GHz, 1333 MHz FSB)     2
HP        8 GB FBD PC2-5300 2 x 4 GB Kit                397415-B21          2
HP        NC325m Quad Port 1Gb NIC                      416585-B21          1
HP        Emulex LPE1105-HP 4Gb FC HBA                  403621-B21          1
HP        4-Hour On-site Service, 7-Day x 24-Hour Coverage, 
          3 Years, Electronic                           UE459E              

HP        HP BLc Cisco 1GbE 3020 Switch Opt K           410916-B21          4
HP        Procurve GbE2c Ethernet Blade Switch          410917-B21          2
HP        Brocade 4/12 SAN Switch                       AE370A              2

HP        Modular SAN Array 1000                        201723-B22          2
HP        72 GB 15K U320 Pluggable                      286778-B22         28

Red Hat   Enterprise Linux Premium Subscription (1 Year)                    6
Oracle    Oracle Database 11g Release 1 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.3, 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.3 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 table name listed in the default scripts for creating RLRC table, included in
Oracle Application Server 10g Release 10.1.3.3, was modified to reflect the tablename
listed in the data-sources.xml file in the Config directory of each instance.

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 07-Nov-2007