-------------------------------------------------------------------------------- SPECjAppServer(R)2004 Result Copyright (C) 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 -------------------------------------------------------------------------------- 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 sec # of Dealer Agents: 7 Ramp Down Time: 300 sec # of Manufacturing Agents: 6 Steady State Time: 3,600 sec DB Load Injection Rate: 2,000 Trigger Time: 420 sec -------------------------------------------------------------------------------- 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 -------------------------------------------------------------------------------- SOFTWARE PRODUCTS -------------------------------------------------------------------------------- Oracle Application Server 10G Release 10.1.3.3 - Java Edition Vendor: Oracle Corporation Availability Date: Nov-2007 Date Passed CTS: Jan-2006 CTS Version: 1.4 EJB Protocol: ORMI OS Name: Red Hat Enterprise Linux 5 IA32 PAE -------------------------------------------------------------------------------- BEA JRockit(R) 6.0 JDK (R27.3.0-106) (Linux x86 32bit) Vendor: BEA Systems, Inc. Availability Date: 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 Date: Jul-2007 OS Name: Red Hat Enterprise Linux 4 Update 4 EM64T -------------------------------------------------------------------------------- Oracle JDBC Driver 11.1.0.6 (Thin) Vendor: Oracle Corporation Availability Date: Oct-2007 OS Name: Red Hat Enterprise Linux 5 IA32 PAE -------------------------------------------------------------------------------- Oracle Database Enterprise Edition Release 11.1.0.6 Vendor: Oracle Corporation Availability Date: Oct-2007 OS Name: Red Hat Enterprise Linux 5 EM64T -------------------------------------------------------------------------------- SOFTWARE CONFIGURATIONS -------------------------------------------------------------------------------- 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 -------------------------------------------------------------------------------- HARDWARE SYSTEMS -------------------------------------------------------------------------------- J2EE Server HW (SUT hardware) Hardware Vendor: HP Model Name: Proliant BL460c G1 Processor: Intel(R) Xeon(R) CPU X5460 MHz: 3160 # of CPUs: 8 cores, 2 chips, 4 cores/chip Memory (MB): 16384 L1 Cache: 64KB(I)+64KB(D) L2 Cache: 2x6MB per chip Other Cache: OS Vendor: Red Hat OS Name: Red Hat Enterprise Linux 5 IA32 PAE Disks: 2x147 GB SAS 15K RPM Network Interface: 2x 1Gb onboard NIC Other Hardware: 1x mezzanine NC325m Quad Port Gigabit Server Adapter, 1x 4Gb FC HBA # of Systems: 1 H/W Available: Nov-2007 O/S 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 Model Name: Proliant BL480c G1 Processor: Intel(R) Xeon(R) CPU E5440 MHz: 2830 # of CPUs: 8 cores, 2 chips, 4 cores/chip Memory (MB): 49152 L1 Cache: 64KB(I)+64KB(D) L2 Cache: 2x6MB per chip Other Cache: OS Vendor: Red Hat OS Name: Red Hat Enterprise Linux 5 EM64T Disks: 2x 146GB 3G SAS 10K RPM Network Interface: 1x Dual Port 1Gb NIC, 2x 1Gb onboard NIC Other Hardware: 1x mezzanine NC325m Quad Port Gigabit Server Adapter, 1x 4Gb FC HBA # of Systems: 1 H/W Available: Nov-2007 O/S 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 Model Name: Proliant BL685c G1 Processor: Dual Core AMD Opteron(tm) Processor 8220 MHz: 1000 # of CPUs: 8 cores, 4 chips, 2 cores/chip Memory (MB): 32768 L1 Cache: 64KB(I)+64KB(D) L2 Cache: 1MB per core Other Cache: OS Vendor: Red Hat OS Name: Red Hat Enterprise Linux 5 EM64T Disks: 1x400GB SATA 7200 RPM Network Interface: 2x 1Gb onboard NIC Other Hardware: 1x mezzanine NC325m Quad Port Gigabit Server Adapter # of Systems: 2 H/W Available: Jun-2007 O/S 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 SPEC - Benchmark run on Wed Oct 17 14:30:52 PDT 2007 by SPECjAppServer2004 v1.08 - Result submitted on Wed Oct 24 03:33:24 EDT 2007 - Report generated by SPECjAppServer2004 Reporter v1.03 Copyright (C) 2004 Standard Performance Evaluation Corporation