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 HP ProLiant BL685c G1
1,000.37 SPECjAppServer2004 JOPS@Standard
Submitter:
Oracle Corporation
SPEC license # 73 Test date:
Apr-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
Driver SW Config Satellite
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, 4 chips   DB Server CPUs: 8 cores, 4 chips
J2EE Instances: 2   DB Instances: 1
Other SUT Components:
   (2) MSA1000 14x73GB 15K, 1 Controller

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

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 541,057 25.01%
Manage 539,852 24.96%
Browse 1,082,189 50.03%
Total # Dealer Transactions 2,163,098
Total # Manufacturing Transactions 1,438,217
Response Times Average Maximum 90th% Reqd
Purchase 0.55 19.22 1.60 2.00
Manage 0.53 17.21 1.30 2.00
Browse 0.64 17.41 2.00 2.00
Manufacturing 2.03 19.34 4.00 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 1,000.63

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: 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
-Xms6000M -Xmx6000M -Xmn4000M -Xss128k -XX:+UseLargePages -server -Xloggc:gc.log
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:PermSize=128M -XX:MaxPermSize=128M
-XX:+DisableExplicitGC -XX:+AggressiveHeap -XX:+UseParallelGC -XX:ParallelGCThreads=4
-Doracle.dms.sensors=none -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0
-Doc4j.jms.implementation=oc4j.j2ee.jms
Used numactl for each instance to bind cpu and memory to 4 cores.

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
-Xms768M -Xmx768M -Doracle.dms.sensors=none -Dsun.net.inetaddr.ttl=0
-Dnetworkaddress.cache.ttl=0

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                = spec04
control_files          = /home/oracle/dbfiles/cntrlspec04
compatible             = 10.1.0.0.0
cursor_space_for_time  = TRUE
db_cache_size          = 16950M
db_8k_cache_size       = 2700M
db_4k_cache_size       = 1300M
db_keep_cache_size     = 2100M
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      = 1400M
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 -Xms2G -Xmx2G -Xverify:none -XX:+DisableExplicitGC
-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 64-bit
Hardware: Driver and Emulator HW
# of Instances: 1
Notes / Tuning Information
-server -Xms2G -Xmx2G -Xverify:none -XX:+DisableExplicitGC
-Dnetworkaddress.cache.ttl=0 -Dsun.net.inetaddr.ttl=0

J2EE Server HW (SUT hardware)
Hardware Vendor: HP OS Vendor: Red Hat
Model Name: ProLiant BL685c G1 OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T
Processor: Dual-Core AMD Opteron(tm) 8220 Filesystem: ext3
MHz: 2813 Disks: 2x146GB 3G SAS 10K RPM
# of CPUs: 8 cores, 4 chips, 2 cores/chip Network Interface: (3) 1000 BaseT Ethernet
Memory (MB): 16384 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) # of Systems: 1
L2 Cache: 1MB per core H/W Available: Jun-2006
Other Cache: OS Available: Jul-2006
Notes / Tuning Information
/etc/sysctl.conf:
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 = 6590
kernel.shmmax = 12884901888
kernel.shmall = 6291456
vm.hugetlb_shm_group = 500
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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
/etc/rc.d/rc.local:
/sbin/ifconfig eth0 txqueuelen 30000
/sbin/ifconfig eth1 txqueuelen 30000
/sbin/ifconfig eth2 txqueuelen 30000
/etc/init.d/irqbalance stop
echo "10" > /proc/irq/`cat /proc/interrupts | grep eth2 | sed "s/:.*//"`/smp_affinity

Database Server HW (SUT hardware)
Hardware Vendor: HP OS Vendor: Red Hat
Model Name: ProLiant BL685c G1 OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T
Processor: Dual-Core AMD Opteron(tm) 8220 Filesystem: ext3
MHz: 2813 Disks: 2x146GB 3G SAS 10K RPM
# of CPUs: 8 cores, 4 chips, 2 cores/chip Network Interface: (2) 1000 BaseT Ethernet
Memory (MB): 32768 Other Hardware: (2) MSA1000 SAN Storage with 14x73GB 15K U320 SCSI
L1 Cache: 64KB(I)+64KB(D) # of Systems: 1
L2 Cache: 1MB per core H/W Available: Jun-2006
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 = 12300
kernel.shmmax = 25769803776
kernel.shmall = 6291460
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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: HP OS Vendor: Red Hat
Model Name: ProLiant BL45p G2 OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T
Processor: Dual Core AMD Opteron(tm) 875 Filesystem: ext3
MHz: 1804 Disks: 2x72GB 15K RPM
# of CPUs: 8 cores, 4 chips, 2 cores/chip Network Interface: (2) 1000 BaseT Ethernet
Memory (MB): 24576 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) # of Systems: 2
L2 Cache: 1MB (I+D) on chip, per core H/W Available: Apr-2005
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 = 65536
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
/etc/rc.d/rc.local:
/sbin/ifconfig eth0 txqueuelen 30000
/sbin/ifconfig eth2 txqueuelen 30000
/etc/init.d/irqbalance stop

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.
Storage Requirement Info:
  A 80 min run at Injection Rate of 600 increased storage by 1200 MB. Extrapolating
  for 24 hrs we need 20.0 GB. The system is configured with over 500 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
--------  -------------------------------------------   ----------------   ---
HP        BladeSystem c7000 Enclosure                   412152-B21          1
HP        Proliant BL685c G1                            438818-B21          2
HP        AMD Opteron Processor Model 8220              438820-L21          2
HP        HP 4GB REG PC2-5300 2x2GB                     408853-B21         12
HP        Emulex LPe1105 FC Dual Channel 4Gb            403621-B21          2
HP        HP 146GB 3G SAS 10K                           431958-B21          4
HP        Brocade 4/12 SAN Switch                       AE370A              2
HP        HP BLc Cisco 1GbE 3020 Switch Opt K           410916-B21          2
HP        Modular SAN Array 1000                        201723-B22          2
HP        72 GB 15K U320 Pluggable                      286778-B22         28
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 AMD 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 sent to different 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://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 25-Apr-2007