SPEC Seal of Reviewal SPECjAppServer®2004 Result
Copyright © 2004 Standard Performance Evaluation Corporation
Sun Java (TM) Systems Application Server 9.0 Platform Edition on SunFire X4100 Cluster with MySQL 5
720.56 SPECjAppServer2004 JOPS@Standard
Submitter:
Sun Microsystems Inc.
SPEC license # 6 Test date:
Apr-2007
Software Products
Sun Java (TM) Systems Application Server 9.0 Platform Edition Update Release 1 Patch 3
Jakarta Tomcat 5.5.16
Java (TM) 2 Platform Standard Edition Development Kit 5.0 Update 6 32-bit
Connector/J 5.0.5
MySQL 5.0.27 64-bit
Software Configurations
J2EE Application Servers
Emulator SW Config
Database SW Config
Driver SW Config Primary
Hardware Systems
J2EE AppServer HW
Database Server HW
Load Driver HW

System Configuration Diagram

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

SUT Configuration
J2EE Server Nodes: 3   DB Server Nodes: 1
J2EE Server CPUs: 12 cores, 6 chips (2 core/chip)   DB Server CPUs: 4 cores, 2 chips (2 cores/chip)
J2EE Instances: 3   DB Instances: 1
Other SUT Components:
    None

Benchmark Settings
Dealer Injection Rate: 432   Ramp Up Time: 900 seconds
# of Dealer Agents: 6   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 8   Steady State Time: 3,600 seconds
DB Load Injection Rate: 500   Trigger Time: 160 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 390,008 24.98%
Manage 390,385 25.01%
Browse 780,673 50.01%
Total # Dealer Transactions 1,561,066
Total # Manufacturing Transactions 1,032,947
Response Times Average Maximum 90th% Reqd
Purchase 0.14 18.54 0.10 2.00
Manage 0.13 16.63 0.20 2.00
Browse 0.15 15.68 0.10 2.00
Manufacturing 1.78 13.63 3.00 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 720.89

Sun Java (TM) Systems Application Server 9.0 Platform Edition Update Release 1 Patch 3
Vendor: Sun Microsystems, Inc. Availability: Apr-2007
CTS Version: CTS EE 5 Date Passed CTS: Apr-2006
OS Name: Solaris 10 1/06 (64-bit)
EJB Protocol: RMI/IIOP

Jakarta Tomcat 5.5.16
Vendor: Apache Software Foundation Availability: Mar-2006

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

Connector/J 5.0.5
Vendor: MySQL Corporation Availability: Mar-2007
OS Name: Solaris 10 1/06 (64-bit)

MySQL 5.0.27 64-bit
Vendor: MySQL Corporation Availability: Oct-2006
OS Name: Solaris 10 11/06 (64-bit)

J2EE Application Servers
J2EE Product: Sun Java (TM) Systems Application Server 9.0 Platform Edition Update Release 1 Patch 3
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 5.0 Update 6 32-bit
JDBC Product: Connector/J 5.0.5
Hardware: J2EE AppServer HW
# of Instances: 3
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:NewRatio=2 -XX:+AggressiveHeap -Xms2560m -Xms2560m
-Xss12k -XX:+DisableExplicitGC -XX:ParallelGCThreads=4
-XX:LargePageSizeInBytes=2m -XX:+UseParallelOldGC
-DAllowManagedFieldsInDefaultFetchGroup=true
-XX:-UseBiasedLocking
-XX:CompileThreshold=500

JDBC Pool (for EJBs): max-pool-size=120 steady-pool-size=80
cachePrepStmts=true prepStmtCacheSize=512 alwaysSendSetIsolation=false
useLocalSessionState=true useServerPreparedStmts=false useLocalSessionState=true useReadAheadInput=false useUnbufferedInput=false
elideSetAutoCommit=true useUsageAdvisor=false useReadAheadInput=false
useUnbufferedInput=false cacheServerConfiguration=true
HTTP: request-processing threads=12
JMS: ConnectionPool: max-pool-size=250
MDB Container: max-pool-size=32, steady-pool-size=0
Tunings in default-web.xml:
development=false, genStrAsCharArray=true
ORB:
thread-pool-1: max-thread-pool-size=8 min-thread-pool-size=8
specj-thread-pool: max-thread-pool-size=8 min-thread-pool-size=8

Emulator SW Config
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 5.0 Update 6 32-bit
Web Product: Jakarta Tomcat 5.5.16
Hardware: Load Driver HW
# of Instances: 1
Notes / Tuning Information
JVM Options: -server -Xmx2048m -Xms2048m -XX:+DisableExplicitGC -Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0
Emulator Software Configuration.

Database SW Config
DB Product: MySQL 5.0.27 64-bit
Hardware: Database Server HW
# of Instances: 1
Notes / Tuning Information
MySQL 5.0 Tuning in /etc/my.cnf
[mysqld]
sql-mode = IGNORE_SPACE
transaction-isolation = READ-COMMITTED
datadir=/data1/specdb/mysql/var
port = 3306
skip-locking
max_allowed_packet = 1M
max_connections=700
max_connect_errors=100
table_cache = 1024
sort_buffer_size = 2M
read_buffer_size = 2M
thread_cache = 8
query_cache_type = 0
thread_concurrency = 4
server-id = 1
innodb_data_home_dir = /disk1/specdb/mysql/var
innodb_data_file_path = ibdata1:10000M:autoextend
innodb_log_group_home_dir = /log1/specdb/mysql/var/
innodb_log_arch_dir = /log1/specdb/mysql/var/
innodb_checksums = 0
innodb_buffer_pool_size = 5000m
innodb_log_file_size = 1900M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 300
innodb_thread_concurrency = 1000
innodb_sync_spin_loops = 10
innodb_locks_unsafe_for_binlog = 1
innodb_max_dirty_pages_pct=15
innodb_support_xa=0
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout

Driver SW Config Primary
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 5.0 Update 6 32-bit
Hardware: Load Driver HW
# of Instances: 2
Notes / Tuning Information
JVM Options: -server -XX:+DisableExplicitGC -Xmx2048m -Xss128k
-Dnetworkaddress.cache.ttl=0 Dsun.net.inetaddr.ttl=0
-Djava.naming.provider.url=iiop://sjapps:3700
-Djava.naming.provider.url.pkgs=com.sun.enterprise.naming
-Dcom.sun.appserv.iiop.endpoints=sjapps1:3700,sjapps2:3700,sjapps3:3700
-Dorg.omg.CORBA.ORBInitialHost=sjapps -Dorg.omg.CORBA.ORBInitialPort=3700

J2EE AppServer HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire X4100 OS Name: Solaris 10 1/06 (64-bit)
Processor: AMD Opteron 285 Filesystem: UFS
MHz: 2600 Disks: 2x73Gb 10K RPM
# of CPUs: 4 cores, 2 chips, 2 cores/chip Network Interface: (4) 1000BaseT Ethernet
Memory (MB): 8192 Other Hardware:
L1 Cache: 64KB(I)+16KB(D) per core # of Systems: 3
L2 Cache: 1MB per core H/W Available: Nov-2005
Other Cache: OS Available: Jan-2006
Notes / Tuning Information

   

Database Server HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire X4100 OS Name: Solaris 10 11/06 (64-bit)
Processor: AMD Opteron 285 Filesystem: UFS
MHz: 2600 Disks: 2x73Gb 10K RPM
# of CPUs: 4 cores, 2 chips, 2 cores/chip Network Interface: (4) Onboard 1000BaseT Ethernet
Memory (MB): 8192 Other Hardware: Sun StorageTek 3510 array 12x73 10K RPM disks, 1RAID controller
L1 Cache: 64KB(I)+16KB(D) # of Systems: 1
L2 Cache: 1MB per core H/W Available: Nov-2005
Other Cache: OS Available: Nov-2006
Notes / Tuning Information
UFS Options for /log
noatime, nologging , forcedirectio
UFS Options for /disk1/specdb
noatime, nologging

Load Driver HW (non-SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire V40z OS Name: Solaris 10 1/06 (64-bit)
Processor: AMD Opteron 850 Filesystem: UFS
MHz: 2400 Disks: 4 x 36GB
# of CPUs: 4 cores, 4 chips, 1 core/chip Network Interface: (2) Onboard 1000BaseT Ethernet
Memory (MB): 8192 Other Hardware: Netgear 24-port Gigabit Switch Model GS524T
L1 Cache: 64KB(I)+64KB(D) # of Systems: 2
L2 Cache: 1MB H/W Available: Jul-2004
Other Cache: OS Available: Jan-2006
Notes / Tuning Information


Benchmark Modifications
Schema Modifications:
  Scripts to create the DB are included in the FDA.
  Two indexes were created on the M_largeorder table:
  CREATE UNIQUE INDEX M_lo_idx ON M_largeorder  (lo_id)
  CREATE UNIQUE INDEX M_OL_O_idx ON M_largeorder (lo_o_id, lo_ol_id)
  Added TABLE TXN_LOG_TABLE to support JMS transaction logging to database
  Created the primary indexes via the MySQL primary key syntax
Load Program Modifications:
  The load program was not modified

Benchmark Configuration Information
Isolation Requirement Info:
  BEAN				SPEC_REQUIREMENT	Deployment
  Corp.CustomerEnt		Repeatable Read		Sel-4-Upd
  Corp.CustomerInventoryEnt	Repeatable Read		Sel-4-Upd
  Mfg.InventoryEnt		Repeatable Read		Sel-4-Upd
  Mfg.WorkOrderEnt		Repeatable Read		Sel-4-Upd
  Orders.OrderEnt		Repeatable Read		Sel-4-Upd
  Orders.OrderLineEnt		Repeatable Read		Sel-4-Upd
  Supplier.POEnt		Repeatable Read		Sel-4-Upd
  Supplier.POLineEnt		Repeatable Read		Sel-4-Upd
  Supplier.SComponentEnt	Repeatable Read		Sel-4-Upd
  Util.SequenceEnt		Repeatable Read		Sel-4-Upd
  Mfg.AssemblyEnt		Read Committed		RC
  Mfg.BomEnt			Read Committed		RC
  Mfg.ComponentEnt		Read Committed		RC
  Mfg.LargeOrderEnt		Read Committed		RC
  Mfg.PartEnt			Read Committed		RC
  Orders.ItemEnt		Read Committed		RC
  Supplier.SupplierCompEnt	Read Committed		RC
  Supplier.SupplierEnt		Read Committed		RC
  
  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.
Durability Requirement Info:
  To ensure database durability, RAID 1 (mirror disks)
  was used for the database files and logs maintained
  on the Sun StorageTek 3510 Array.
  
  Each application server has a pair of mirrored disks
  (using Sun Fire integrated raid controller utility) to provide
  durability for the JMS messages.
Storage Requirement Info:
  The 80 minute run for this submission required less than 6GB of database storage.
  This extrapolates to less than 108GB for a 24 hour period.
  The Sun StorageTek 3510 Array drive capacity is 438GB of available storage when configured for RAID 1.
Argument Passing Semantics:
  Sun Java Systems Application Server 9.0 Platform Edition uses pass-by-value semantics by default.

Bill of Materials

Supplier  Description                                Product #            Qty
--------  ----------------------------------------   ------------------   ---
Sun	  Sun Fire X4100 (2x285,4x2GB,2X73GB)	     A64-EGB2-2H-8G-CB7	   3
Sun	  Solaris 10 RTU			     		           3
Sun  	  SunSpectrum Upgrade: 3YGOLD, 24x7	     W9D-A64-24-3G	   3

Sun	  Sun Fire X4100 (2x285,4x2GB,2X73GB)	     A64-EGB2-2H-8G-CB7	   1
Sun	  Solaris 10 RTU			            		   1
Sun	  Single-Port PCI Ultra320 SCSI HBA	     SGXPCI1SCSILM320-Z	   1
Sun  	  SunSpectrum Upgrade: 3YGOLD, 24x7	     W9D-A64-24-3G	   1

Sun       StorageTek 3510, 12 x 73GB, 1 RAID         XTA3510R01A1R876      1
Sun       SunSpectum Upgrade: 3Y GOLD, 24x7          W9D-SE3510-24-3G      1
Sun       17" Entry Color Monitor                    X7204A                1
Sun       USB Keyboard                               320-1271              1
Sun       USB Mouse                                  320-2632              1

Sun       Sun Java System Application Server                          
          Platform Edition 9.0 

Sun       Sun Java System Application Server	     SJSAS-PE9F-1PR	  18 
	    Platform Edition 9.0 
	    Premium Support per CPU for 1 year

MySQL	  MySQL Database 5.0			                 
MySQL	  MySQL Network Gold Support				   	   3
	    for 1 year




Other Benchmark Information
  The submission used round-robin DNS for load-balance of
  all HTTP network requests. The DNS server was hosted
  on one of the application servers.
  The submission used multiple endpoints to establish connections
  to the EJB tier using RMI/IIOP.
  
  This submission used the xerces implementation 2.6.2 provided
  with the Sun Java System Application Server 9.0 Platform Edition.
  The emulator used xerces implementation 2.7.1 provided with the Jakarta
  Tomcat 5.5.16
  

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

The MySQL Connector/J JDBC Driver is a type 4 driver.

XA 2-phase transactions were used to coordinate the interaction between
the database server and JMS server using Sun's Last Agent Logging
Optimization; the 1PC database transactions and XA logs are
written to the database in a single transaction.

Database checkpoints during the Measurement Interval were done by
using continuous (fuzzy) checkpoints, where MySQL database engine InnoDB
flushes modified database pages from the buffer pool in small batches.


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 27-Apr-2007