SPEC Seal of Reviewal SPECjAppServer®2004 Result
Copyright © 2004 Standard Performance Evaluation Corporation
Sun Java System Application Server 9.1 on Sun SPARC Enterprise T5120 Cluster
8,439.36 SPECjAppServer2004 JOPS@Standard
Submitter:
Sun Microsystems Inc.
SPEC license # 6 Test date:
Oct-2007
Software Products
Sun Java System Application Server 9.1, Platform Edition Update Release 1
Jakarta Tomcat 5.5.23
Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 4 32-bit
Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 4 64-bit
DataDirect Connect for JDBC 3.6
IBM DB2 9.1
Software Configurations
J2EE Application Servers
Emulator SW Config
Database SW Config
Driver SW Config - Primary and Satellites
Hardware Systems
J2EE AppServer HW
Database Server HW
Emulator HW
Load Driver HW - Primary and Satellites

System Configuration Diagram

Benchmark
Modifications
Configuration
Bill of Materials
Other Info
General Notes
Full Disclosure Archive

SUT Configuration
J2EE Server Nodes: 6   DB Server Nodes: 1
J2EE Server CPUs: 48 cores, 6 chips   DB Server CPUs: 48 cores, 24 chips
J2EE Instances: 18   DB Instances: 1
Other SUT Components:
    None

Benchmark Settings
Dealer Injection Rate: 5,100   Ramp Up Time: 600 seconds
# of Dealer Agents: 100   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 60   Steady State Time: 3,600 seconds
DB Load Injection Rate: 6,000   Trigger Time: 2,050 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 4,569,247 25.00%
Manage 4,568,212 25.00%
Browse 9,137,447 50.00%
Total # Dealer Transactions 18,274,906
Total # Manufacturing Transactions 12,106,803
Response Times Average Maximum 90th% Reqd
Purchase 0.56 27.30 1.10 2.00
Manage 0.41 30.18 0.90 2.00
Browse 0.70 23.90 1.50 2.00
Manufacturing 1.83 19.86 3.25 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 8,442.05

Sun Java System Application Server 9.1, Platform Edition Update Release 1
Vendor: Sun Microsystems, Inc. Availability: Dec-2007
CTS Version: JEE5 Date Passed CTS: Feb-2007
OS Name: Solaris 10 8/07 (64-bit)
EJB Protocol: RMI/IIOP

Jakarta Tomcat 5.5.23
Vendor: Apache Software Foundation Availability: Sep-2006

Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 4 32-bit
Vendor: Sun Microsystems, Inc. Availability: Nov-2007
OS Name: Solaris 10 8/07 (64-bit)

Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 4 64-bit
Vendor: Sun Microsystems, Inc. Availability: Nov-2007
OS Name: Solaris 10 6/06 (64-bit)

DataDirect Connect for JDBC 3.6
Vendor: Sun OEM Version Availability: Sep-2007
OS Name: Solaris 10 8/07 (64-bit)

IBM DB2 9.1
Vendor: IBM Corporation Availability: Feb-2007
OS Name: Solaris 10 8/07 (64-bit)

J2EE Application Servers
J2EE Product: Sun Java System Application Server 9.1, Platform Edition Update Release 1
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 4 32-bit
JDBC Product: DataDirect Connect for JDBC 3.6
Hardware: J2EE AppServer HW
# of Instances: 18
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
Tunings in domain.xml:
JVM Options:  -server -XX:+AggressiveHeap
    -Xmx2560m -Xms2560m -Xmn1024m -Xss128k
    -XX:PermSize=256m
    -XX:+DisableExplicitGC
    -XX:ParallelGCThreads=24
    -XX:LargePageSizeInBytes=256m
    -XX:+UseParallelOldGC
    -XX:+AggressiveOpts
    -DAllowManagedFieldsInDefaultFetchGroup=true
    -DAllowMediatedWriteInDefaultFetchGroup=true
    -XX:-UseBiasedLocking
    -Dcom.sun.ejb.containers.readonly.relative.refresh.mode=true
    -Dcom.sun.jts.dblogging.insertquery=insert into txn_log_table_0 values ( ? , ? , ? )
    -Dcom.sun.jts.dblogging.deletequery=delete from txn_log_table_0 where localtid = ? and servername = ?
    -Dcom.sun.jdo.spi.persistence.support.sqlstore.MULTILEVEL_PREFETCH=true
General Tunings:
All application servers run in FX class via priocntl command

Emulator SW Config
J2EE Product: Jakarta Tomcat 5.5.23
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 4 64-bit
Hardware: Emulator HW
# of Instances: 1
Notes / Tuning Information
JVM Options: -d64 -server -Xms20g -Xmx20g -Xmn2g -Xss256k
   -XX:+UseConcMarkSweepGC
   -XX:LargePageSizeInBytes=4m
   -verbose:gc -XX:+PrintGCDetails
   -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading
   -XX:PermSize=96m
   -Dsun.net.inetaddr.ttl=0
   -Dnetworkaddress.cache.ttl=0
Tomcat Options:
    maxThreads=6000
    acceptCount=10000
    connectionTimeout=20000

Database SW Config
DB Product: IBM DB2 9.1
Hardware: Database Server HW
# of Instances: 1
Notes / Tuning Information
Tuning performed by db2tune.sh script in the archive/Schema directory.
DB2 processes run in FX class using priocntl
DB2 processes bound across all cores using /usr/sbin/pbind

Driver SW Config - Primary and Satellites
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 4 32-bit
Hardware: Load Driver HW - Primary and Satellites
# of Instances: 20
Notes / Tuning Information
JVM Options:  -server -Xmx1600m -Xmx1600m
  -XX:+DisableExplicitGC -Xss128k
  -Djava.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactory
  -Djava.naming.provider.url=iiop://ecapps:3700
  -Djava.naming.provider.url.pkgs=com.sun.enterprise.naming
  -Dcom.sun.appserv.iiop.endpoints=ecapps:3700
  -Dorg.omg.CORBA.ORBInitialHost=ecapps
  -Dorg.omg.CORBA.ORBInitialPort=3700
  -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0

J2EE AppServer HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun SPARC Enterprise T5120 OS Name: Solaris 10 8/07 (64-bit)
Processor: Sun UltraSPARC T2 Filesystem: UFS
MHz: 1417 Disks: 3x73Gb 10K RPM SAS
# of CPUs: 8 cores, 1 chip, 8 cores/chip (8 threads/core) Network Interface: (4) Onboard Gbit Ethernet and (1) Dual-Port GbE Card
Memory (MB): 32768 Other Hardware:
L1 Cache: 16KB(I)+8KB(D) per core # of Systems: 6
L2 Cache: 4MB per chip H/W Available: Nov-2007
Other Cache: OS Available: Sep-2007
Notes / Tuning Information
System Tuning in /etc/system:
set ip:ip_soft_rings_cnt = 8
Network Tuning:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
ndd -set /dev/tcp tcp_conn_req_max_q0 16384
ndd -set /dev/tcp tcp_xmit_hiwat 131072
ndd -set /dev/tcp tcp_recv_hiwat 131072
ndd -set /dev/tcp tcp_naglim_def 1
ndd -set /dev/tcp tcp_smallest_anon_port 4096
The three application server instances were hosted in 3 separate Solaris Containers.
Each Container on the systems was connected to 2 subnets.
One was a subnet to the switch used for the network traffic
between the drivers and the SUT.
The first container used e1000g0, the second comtainer used e1000g1
and third container used e1000g2 on each system to connect to the switch.
The second subnet in each container was used for database access.
The first and second containers shared e1000g3 for this subnet.
The third container used e1000g4 for for this subnet.
There were a total of 12 network connections from the 6 appservers
to the database system.

Database Server HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire E6900 OS Name: Solaris 10 8/07 (64-bit)
Processor: UltraSPARC IV+ Filesystem: UFS
MHz: 1950 Disks: 1x D240 Media Tray (3x 73Gb 10K RPM Ultra320 SCSI)
# of CPUs: 48 cores, 24 chips, 2 cores/chip Network Interface: (12) Sun 1000BaseT Ethernet
Memory (MB): 98304 Other Hardware: 1x Sun STK 3510 Array (12x 73GB FC Disk Array) & 3x Sun STK 3510 Array (12x 146GB FC Disk Array)
L1 Cache: 64KB(I)+64KB(D) per core on chip # of Systems: 1
L2 Cache: 2MB(I+D) per core on chip H/W Available: Apr-2007
Other Cache: 32MB(I+D) per chip OS Available: Sep-2007
Notes / Tuning Information
System Tuning in /etc/system:
set ce:ce_bcopy_thresh=513
set ce:ce_dvma_thresh=512
set ce:ce_taskq_disable=1
set ce:ce_ring_size=256
set ce:ce_comp_ring_size=1024
set ce:ce_tx_ring_size=4096
set kernel_cage_enable=0
Network Tuning:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
ndd -set /dev/tcp tcp_conn_req_max_q0 16384
ndd -set /dev/tcp tcp_xmit_hiwat 131072
ndd -set /dev/tcp tcp_recv_hiwat 131072
ndd -set /dev/tcp tcp_naglim_def 1
ndd -set /dev/tcp tcp_smallest_anon_port 4096
CE network driver tuning:
ndd -set /dev/ce rx_intr_time 32
ndd -set /dev/ce rx_intr_pkts 16
Other Tuning:
UFS mount options for database files: noatime,forcedirectio
Shared memory settings in /etc/project:
user.db2inst1:100:DB2 instance:::
project.max-msg-ids=(privileged,12288,deny);
project.max-sem-ids=(privileged,14336,deny);
project.max-shm-ids=(privileged,14336,deny);
project.max-shm-memory=(privileged,96636764160,deny)

Emulator HW (non-SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire V890 OS Name: Solaris 10 6/06(64-bit)
Processor: UltraSPARC IV+ Filesystem: UFS
MHz: 1800 Disks: 12 x 36Gb FC
# of CPUs: 16 cores, 8 chips, 2 cores/chip Network Interface: (2) Onboard 1000BaseT Ethernet
Memory (MB): 65536 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) per core on chip # of Systems: 1
L2 Cache: 2MB(I+D) per core on chip H/W Available: Aug-2006
Other Cache: 32MB(I+D) per chip OS Available: Jun-2006
Notes / Tuning Information
System Tuning in /etc/system:
set ce:ce_bcopy_thresh=513
set ce:ce_dvma_thresh=512
set ce:ce_taskq_disable=1
set ce:ce_ring_size=256
set ce:ce_comp_ring_size=1024
set ce:ce_tx_ring_size=4096
Network Tuning:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
ndd -set /dev/tcp tcp_conn_req_max_q0 16384
ndd -set /dev/tcp tcp_xmit_hiwat 131072
ndd -set /dev/tcp tcp_recv_hiwat 131072
ndd -set /dev/tcp tcp_naglim_def 1
ndd -set /dev/tcp tcp_smallest_anon_port 4096
CE network driver tuning:
ndd -set /dev/ce rx_intr_time 32
ndd -set /dev/ce rx_intr_pkts 16
Only 1 NIC was used for the network traffic between the emulator and the SUT.

Load Driver HW - Primary and Satellites (non-SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Blade X8420 Server Module OS Name: Solaris 10 11/06 (64-bit)
Processor: AMD Opteron 8220 Filesystem: UFS
MHz: 2800 Disks: 2x73Gb 10K RPM SAS
# of CPUs: 8 cores, 4 chips, 2 cores/chip (4 chips/blade) Network Interface: (4) Onboard 1000BaseT Ethernet
Memory (MB): 32768 Other Hardware:
L1 Cache: 64KB(I)+64KB(D) per core # of Systems: 10
L2 Cache: 2MB per chip H/W Available: Jan-2007
Other Cache: OS Available: Nov-2006
Notes / Tuning Information
Network Tuning:
ndd -set /dev/tcp tcp_conn_req_max_q 16384
ndd -set /dev/tcp tcp_conn_req_max_q0 16384
ndd -set /dev/tcp tcp_xmit_hiwat 131072
ndd -set /dev/tcp tcp_recv_hiwat 131072
ndd -set /dev/tcp tcp_naglim_def 1
ndd -set /dev/tcp tcp_smallest_anon_port 4096
Each blade was divided into 2 logical partitions using Solaris Containers.
2 satellite drivers ran in separate containers on each blade.
Each container used a separate network interface to access the SUT.

Benchmark Modifications
Schema Modifications:
  Tablespace sizes were increased to support the Injection rate.
  Scripts to create the DB are included in the FDA.
Load Program Modifications:
  The load program was not modified

Benchmark Configuration Information
Isolation Requirement Info:
  BEAN				SPEC_REQUIREMENT	Deployment
  Corp.CustomerEnt		Repeatable Read		RS
  Corp.CustomerInventoryEnt	Repeatable Read		RS
  Mfg.InventoryEnt		Repeatable Read		RS
  Mfg.WorkOrderEnt		Repeatable Read		RS
  Orders.OrderEnt		Repeatable Read		RS
  Orders.OrderLineEnt		Repeatable Read		RS
  Supplier.POEnt		Repeatable Read		RS
  Supplier.POLineEnt		Repeatable Read		RS
  Supplier.SComponentEnt	Repeatable Read		RS
  Util.SequenceEnt		Repeatable Read		RS
  Mfg.AssemblyEnt		Read Committed		CS
  Mfg.BomEnt			Read Committed		CS
  Mfg.ComponentEnt		Read Committed		CS
  Mfg.LargeOrderEnt		Read Committed		CS
  Mfg.PartEnt			Read Committed		CS
  Orders.ItemEnt		Read Committed		CS
  Supplier.SupplierCompEnt	Read Committed		CS
  Supplier.SupplierEnt		Read Committed		CS
  
  
  The ItemEnt bean was cached for 20 minute intervals by setting
  is-read-only-bean=true and refresh-period-in-seconds=1200 in the
  sun-orders.xml deployment descriptor.
  Only the data inside the bean was cached.
  
  Repeatable read beans were accessed using DB2 isolation level RS
  Read committed beans were accessed using DB2 isolation level CS
Durability Requirement Info:
  To ensure database durability, RAID 1 (mirror disks)
  was used for the database files and logs on
  the four Sun StorageTek 3510 arrays.
  
  Each application server has a pair of mirrored disks (using
  Solaris Volume Manager) to provide durability for all
  the server logs and filestore for JMS persistence.
Storage Requirement Info:
  An 75 minute run at an injection rate of 5100 increased storage by 5707 MB
  This extrapolates to 100 GB of storage for a 24 hour run.
  The database is configured with 6132 GB of storage.
  Each Sun StorageTek 3510 FC Array was configured as a single RAID 1
  logical drive.
Argument Passing Semantics:
  Sun Java System Application Server 9.1 uses pass-by-value semantics by default.

Bill of Materials


Supplier  Description                                Product No.          Qty
--------  ----------------------------------------   ------------------   ---
Sun       SPARC Enterprise T5120, 1.4GHz, 8-core     SECAF111Z	           6
Sun	  8GB Memory Expansion (2x4GB)		     SESY2C1Z             48
Sun	  73GB 10K RPM 2.5" SAS Disk		     SESY3A11Z	          18
Sun	  DVD, 8X, RW				     SESY9DV1Z	           6
Sun	  Dual Port GigE UTP Low profile card        X7281A-2              6
Sun	  SE T5120 AC Power Supply                   SECY9PS11Z	           6
Sun       Solaris 10 8/07 Preinstalled               SESY9SA1Z	           6
Sun       SunSpectrum Upgrade: 3YGOLD, 24x7          W9D-T5120-8-24-3G     6

Sun       Sun Fire E6900 1.95GHz Bundle              SYS6900B-4-1950-Z     1
Sun       Unibrd: 4 USIV+ @ 1.95 GHz w/16GB          US4BRD-448-1950-Z     5
Sun	  D240 Media Tray			     540-4523		   1
Sun       PCI I/O Assembly SF Midrange Servers       X4051A                1
Sun       Sun GigaSwift Network Adapter              X4150A-2              10
Sun       Sun 2GB PCI Dual FC Ntwk Adaptor           SG-PCI2FC-QF2-Z       2
Sun       Sun Dual GigE + Dual SCSI                  X4422A-2              2
Sun	  AC Power Cable Option			     X3800A                1
Sun       SF E6900 O/S Upgrade: 3YGOLD, 24x7         W9D-E69-24-3G         1
Sun       SF USIV+ BD OS UPG 3YR GOLD, 24x7          W9D-S4BDPLUS-24-3G    6

Sun       Sun StorageTek 3510, 12 x 146GB, 1 RAID    XTA3510R01A1R1752Z    3
Sun       Sun StorageTek 3510, 12 x 73GB, 1 RAID     XTA3510R01A1R876Z     1
Sun       SunSpectum Upgrade: 3Y GOLD, 24x7          W9D-SE3510-24-3G      4

Sun	  Sun Fire X2100 M2 	 		     A84-GWZ1-H-512-JL8    1
Sun	  DVD-ROM Drive				     X5286A-Z		   1
Sun	  Localized Power Cord 			     X311L	           1
Sun       17" Entry Color Monitor                    X7204A                1
Sun       USB Keyboard & Mouse                       320-1271              1
Sun       SunSpectrum Upgrade: 3YGOLD, 24x7          W9D-A84-24-3G         1

Sun	  Sun Java System Application Server 9.1     ASE29-00P-B929	   6
          Each license includes Premium Support for 4 sockets for 1 year

IBM       DB2 UDB ENTERPRISE SERVER EDITION PROCESSOR  D518GLL            48
          LIC+SW MAINT 12 MO
IBM       DB2 UDB ENTERPRISE SERVER EDITION PROCESSOR  E00BILL            96
          SW MAINT RNWL 1 ANNIV




Other Benchmark Information
  The submission used round-robin DNS for load-balance of
  all network requests. The DNS server was hosted
  on the database server.
  
  This submission used the xerces implementation 2.6.2 provided
  with Sun Java System Application Server 9.1.

General Notes
The only errors in the driver log files were those that are normally generated
by this benchmark.

DB2 uses "Soft" checkpoint to ensure that no updates remain unflushed for
longer than the allowed time.

When DB2 UDB Server changes a database table with an update, insert, or delete
operation, the change is initially made in memory, not on disk. When there is
not enough space in the memory buffer to read in or write additional data
pages, DB2 UDB Server will make space by flushing some modified pages to disk.
Modified pages are also written to disk as part of the "Soft" checkpoint to
ensure that no updates remain unflushed for longer than the allowed time.
Before a change is made to the database, it is first recorded in the
transaction log. This ensures that the database can be recovered completely
in the event of a failure. Using the transaction log, transactions that
started but did not complete prior to a failure can be undone, and
transactions recorded as complete in the transaction log but not yet written
to disk can be redone.

DB2 UDB uses a write-ahead-logging protocol to guarantee recovery. This
protocol uses "Soft" checkpoint to write least-recently-used database
to disk independent of transaction commit. However, enough log information to
redo/undo the change to a database pages is committed to disk before the
database page itself is written. This protocol therefore renders checkpoint
unnecessary for DB2 UDB.

Network Switch: Cisco Catalyst 4506 10/100/1000 Switch - 48 ports
Contains: (1) WS-X4013+, (2) WS-X4424-GB-RJ45


For questions about this result, please contact the submitter: Sun Microsystems Inc.
For other inquiries, please contact webmaster@spec.org

Copyright © 2004 Standard Performance Evaluation Corporation

First published at SPEC.org on 21-Nov-2007