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 NON-COMPLIANT (NC) RESULT
Submitter:
Sun Microsystems Inc.
SPEC license # 6 Test date:
May-2006
Software Products
Sun Java (TM) Systems Application Server 9.0 Platform Edition
Jakarta Tomcat 5.5.16
Java (TM) 2 Platform Standard Edition Development Kit 5.0 Update 6 32-bit
Connector/J 3.1.13
MySQL 5.0.20 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

SPEC has determined that this result was not in compliance with the SPECjAppServer2004 run and reporting rules. Specifically, this result used a configuration which SPEC has determined is not in compliance with section 2.10.1 of the benchmark run rules and hence violates SPECjAppServer2004's atomicity requirements.

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: 430   Ramp Up Time: 900 seconds
# of Dealer Agents: 4   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 6   Steady State Time: 3,600 seconds
DB Load Injection Rate: 500   Trigger Time: 170 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 388,485 25.00%
Manage 389,422 25.06%
Browse 776,093 49.94%
Total # Dealer Transactions 1,554,000
Total # Manufacturing Transactions 1,012,333
Response Times Average Maximum 90th% Reqd
Purchase 0.16 14.24 0.20 2.00
Manage 0.18 15.23 0.40 2.00
Browse 0.16 14.90 0.20 2.00
Manufacturing 2.30 10.74 4.50 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 717.25

Sun Java (TM) Systems Application Server 9.0 Platform Edition
Vendor: Sun Microsystems, Inc. Availability: May-2006
CTS Version: CTS EE 5 Date Passed CTS: May-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 3.1.13
Vendor: MySQL Corporation Availability: May-2006
OS Name: Solaris 10 1/06 (64-bit)

MySQL 5.0.20 64-bit
Vendor: MySQL Corporation Availability: Mar-2006
OS Name: Solaris 10 1/06 (64-bit)

J2EE Application Servers
J2EE Product: Sun Java (TM) Systems Application Server 9.0 Platform Edition
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 5.0 Update 6 32-bit
JDBC Product: Connector/J 3.1.13
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 -Xms2500m -Xms2500m
-Xss12k -XX:+DisableExplicitGC -XX:ParallelGCThreads=8
-XX:LargePageSizeInBytes=2m -XX:+UseParallelOldGC
-DAllowManagedFieldsInDefaultFetchGroup=true

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

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.20 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=/disk1/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:5000M:autoextend
innodb_log_group_home_dir = /log/specdb/mysql/var/
innodb_log_arch_dir = /log/specdb/mysql/var/
innodb_checksums = 0
innodb_buffer_pool_size = 5000m
innodb_log_file_size = 1600M
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
[mysqldump]
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 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) Onboard 1000BaseT Ethernet
Memory (MB): 8192 Other Hardware: Sun StorEdge SE3320 with 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: Jan-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
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 StorEdge 3220 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 5GB of database storage.
  This extrapolates to less than 90GB for a 24 hour period.
  The Sun StorEdge 3320 Array drive capacity is 340GB 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	  Sun StorEdge 3320, 12x73GB, 1 RAID CONT    XTA3320R01A1T876	   1
Sun       SunSpectum Upgrade: 3Y GOLD, 24x7	     W9D-SE3310-24-3G	   1
Sun	  17" Entry Color Monitor		     X7147A		   1
Sun	  PS/2 Keyboard & Mouse			     #320-1261	           1

Sun       Sun Java System Application Server	     
	  Platform Edition 9.0 

Sun       Sun Java System Application Server	     SJSAS-PE9F-1PR	   9
	    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.

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 24-May-2006