SPEC Seal of Reviewal SPECjAppServer®2004 Result
Copyright © 2004 Standard Performance Evaluation Corporation
Sun GlassFish Enterprise Server v2 Update 2, SunFire X4150 Cluster with MySQL 5.0 on OpenSolaris 2008.05
1,197.10 SPECjAppServer2004 JOPS@Standard
Submitter:
Sun Microsystems Inc.
SPEC license # 6 Test date:
Sep-2008
Software Products
Sun GlassFish Enterprise Server v2 Update 2
Jakarta Tomcat 5.5.26
Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit
Connector/J 5.1.5
MySQL 5.0.67 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
Load Driver HW (Emulator)

System Configuration Diagram

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

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

Benchmark Settings
Dealer Injection Rate: 716   Ramp Up Time: 600 seconds
# of Dealer Agents: 5   Ramp Down Time: 300 seconds
# of Manufacturing Agents: 8   Steady State Time: 3,600 seconds
DB Load Injection Rate: 800   Trigger Time: 200 seconds

Detailed Results
Dealer Transaction Mix Count Tx. Mix
Purchase 647,580 25.01%
Manage 646,873 24.99%
Browse 1,294,487 50.00%
Total # Dealer Transactions 2,588,940
Total # Manufacturing Transactions 1,720,603
Response Times Average Maximum 90th% Reqd
Purchase 0.66 27.53 1.20 2.00
Manage 0.29 32.24 0.70 2.00
Browse 0.40 25.20 0.80 2.00
Manufacturing 1.80 22.92 2.50 5.00
Reproducibility Run (SPECjAppServer2004 JOPS) 1,197.99

Sun GlassFish Enterprise Server v2 Update 2
Vendor: Sun Microsystems, Inc. Availability: May-2008
CTS Version: CTS EE 5 Date Passed CTS: Feb-2007
OS Name: OpenSolaris 2008.05
EJB Protocol: RMI/IIOP

Jakarta Tomcat 5.5.26
Vendor: Apache Software Foundation Availability: Aug-2007

Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit
Vendor: Sun Microsystems, Inc. Availability: Jul-2008
OS Name: OpenSolaris 2008.05

Connector/J 5.1.5
Vendor: Sun Microsystems, Inc Availability: Oct-2007
OS Name: OpenSolaris 2008.05

MySQL 5.0.67 64-bit
Vendor: MySQL Corporation Availability: Aug-2008
OS Name: OpenSolaris 2008.05

J2EE Application Servers
J2EE Product: Sun GlassFish Enterprise Server v2 Update 2
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit
JDBC Product: Connector/J 5.1.5
Hardware: J2EE AppServer 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
Tunings in domain.xml:
JVM Options: -server -XX:MaxPermSize=192 -XX:+AggressiveHeap -XX:+AggressiveOpts
 -Xms2560m -Xms2560m -Xmn1024m
-Xss128k -XX:+DisableExplicitGC -XX:ParallelGCThreads=8
-XX:LargePageSizeInBytes=2m -XX:+UseParallelOldGC
-XX:-UseBiasedLocking -Xloggc:gc.log -XX:+PerfDataSaveToFile
-XX:CompileThreshold=500

JDBC Pool (for EJBs): max-pool-size=100 steady-pool-size=50
cachePrepStmts=true prepStmtCacheSize=512 alwaysSendSetIsolation=false
useLocalSessionState=true useServerPreparedStmts=false useLocalSessionState=true useReadAheadInput=false
elideSetAutoCommit=true useUsageAdvisor=false useReadAheadInput=false
useUnbufferedInput=false cacheServerConfiguration=true
General Tunings:
All Glassfish instances run in the FX class via the priocntl command

Emulator SW Config
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit
Web Product: Jakarta Tomcat 5.5.26
Hardware: Load Driver HW (Emulator)
# of Instances: 1
Notes / Tuning Information
JVM Options: -server -Xmx2048m -Xms2048m -XX:+DisableExplicitGC -XX:+AggressiveOpts
Emulator Software Configuration.
server.xml: maxThreads=1000

Database SW Config
DB Product: MySQL 5.0.67 64-bit
Hardware: Database Server HW
# of Instances: 1
Notes / Tuning Information
MySQL 5.0 Tuning in /etc/my.cnf (included in FDA)
[mysqld]
sql-mode = IGNORE_SPACE
transaction-isolation = READ-COMMITTED
max_allowed_packet = 1M
max_connections=300
max_connect_errors=100
table_cache = 6000
read_rnd_buffer_size = 2M
sort_buffer_size = 32k
thread_cache = 16
query_cache_size = 0M
thread_concurrency = 8
max_heap_table_size=200M
log-output = FILE
log-slow-queries=/tmp/mysql-slow.log
long_query_time = 1
innodb_data_home_dir = /data/mysql/var
innodb_data_file_path = ibdata1:10000M:autoextend
innodb_file_per_table
innodb_log_group_home_dir = /log/mysql/var/
innodb_checksums = 0
innodb_doublewrite = 0
innodb_buffer_pool_size = 5000m
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 1600M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 300
innodb_thread_concurrency = 0
innodb_sync_spin_loops = 40
innodb_locks_unsafe_for_binlog = 1
innodb_max_dirty_pages_pct=15
innodb_support_xa=0
innodb_flush_method = O_DIRECT

Driver SW Config Primary
JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 1.6.0_06 Performance Release 32-bit
Hardware: Load Driver HW
# of Instances: 2
Notes / Tuning Information
JVM Options: -server -XX:LargePageSizeInBytes=2m -XX:+AggressiveOpt -XX:+DisableExplicitGC
             -Xmx2048m -Xss128k
-Dnetworkaddress.cache.ttl=0 Dsun.net.inetaddr.ttl=0
-Djava.naming.provider.url=iiop://apps:3700
-Djava.naming.provider.url.pkgs=com.sun.enterprise.naming
-Dcom.sun.appserv.iiop.endpoints=app1:3700,app2:3700
-Dorg.omg.CORBA.ORBInitialHost=apps -Dorg.omg.CORBA.ORBInitialPort=3700
-Djava.util.logging.config.file=${JAS_HOME}/logging.properties

J2EE AppServer HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire X4150 OS Name: OpenSolaris 2008.05
Processor: Intel Xeon X5460 Filesystem: UFS
MHz: 3166 Disks: 2x73Gb 10K RPM
# of CPUs: 4 cores, 1 chip, 4 cores/chip Network Interface: (4) 1000BaseT Ethernet
Memory (MB): 8192 Other Hardware:
L1 Cache: 32KB(I)+32KB(D) # of Systems: 2
L2 Cache: 12MB I+D on chip H/W Available: Jan-2008
Other Cache: OS Available: May-2008
Notes / Tuning Information

   

Database Server HW (SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire X4150 OS Name: OpenSolaris 2008.05
Processor: Intel Xeon X5460 Filesystem: UFS
MHz: 3166 Disks: 8x73Gb 10K RPM
# of CPUs: 4 cores, 1 chip, 4 cores/chip Network Interface: (4) Onboard 1000BaseT Ethernet
Memory (MB): 8192 Other Hardware: null
L1 Cache: 32KB(I)+32KB(D) per core # of Systems: 1
L2 Cache: 12MB I+D on chip H/W Available: Jan-2008
Other Cache: OS Available: May-2008
Notes / Tuning Information
UFS Options for log and data
noatime, nologging
mysqld moved into the FX scheduling class via priocntl -s -c FX mysql-pid

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 5/08 (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: 8 Port ASANTE Switch
L1 Cache: 64KB(I)+64KB(D) # of Systems: 2
L2 Cache: 1MB H/W Available: Jul-2004
Other Cache: OS Available: May-2008
Notes / Tuning Information

   

Load Driver HW (Emulator) (non-SUT hardware)
Hardware Vendor: Sun Microsystems, Inc. OS Vendor: Sun Microsystems, Inc.
Model Name: Sun Fire X4200 M2 OS Name: Solaris 10 5/08 (64-bit)
Processor: AMD Opteron 2220 SE Filesystem: UFS
MHz: 2800 Disks: 2x73GB 10K RPM
# of CPUs: 4 cores, 2 chips, 2 cores/chip Network Interface: (4) Onboard 1000BaseT Ethernet
Memory (MB): 8192 Other Hardware: null
L1 Cache: 64KB(I)+16KB(D) # of Systems: 1
L2 Cache: 1MB per core H/W Available: Jan-2008
Other Cache: OS Available: May-2008
Notes / Tuning Information

   

Benchmark Modifications
Schema Modifications:
  Scripts to create the DB are included in the FDA.
  Extra indexes were created
  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)
  CREATE INDEX C_custci_idx ON C_customerinventory(ci_customerid);
  CREATE INDEX O_status_idx ON O_orders (o_status);
  CREATE INDEX O_oc_os_idx ON O_orders (o_c_id, o_status);
  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 6 of the 8 internal disks of the Sun Fire 4150.
  The internal raid controller used for the database and logs is equipped with a battery backup
  with capacity of 3 days
  
  Each application server has a pair of disks
  a slice of these disks was used to create a ZFS mirrored filesystem
  for JMS logs to ensure durability for the JMS messages.
  The application servers disks are connected via a battery backed up internal cache controller
Storage Requirement Info:
  The 80 minute run for this submission required less than 10GB of database storage.
  This extrapolates to less than 180GB for a 24 hour period.
  The SunFire 4150 is configured with 219 GB of Raid 1 storage.
Argument Passing Semantics:
  Sun GlassFish Enterprise Server v2 Update 2 uses pass-by-value semantics by default.

Bill of Materials

Supplier  Description                                Product #            Qty
--------  ----------------------------------------   ------------------   ---
Sun	  Sun Fire X4150 (1 * 4 Core Intel X5460)    B13-UE1-EC-4GB-JLB    2
Sun       73 GB 10000 rpm 2.5-Inch SAS Disk Drive    XRA-SS2CF-73G10K      2
Sun       4 GB (2 x 2 GB DIMMs)                      X6381A                2
Sun       Sun StorageTek PCIe SAS RAID,
          8 Port Internal, Includes Battery Backup   SGXPCIESAS-R-INT-Z    2
Sun	  OpenSolaris 2008.05			     		                    
Sun  	  SunSpectrum Upgrade: 3YGOLD, 24x7	     IWU-B13-24-3G         2
         
          
Sun	  Sun Fire X4150 (1 * 4 Core Intel X5460)    B13-UE1-EC-4GB-JLB    1
Sun       4 GB (2 x 2 GB DIMMs)                      X6381A                2
Sun       73 GB 10000 rpm 2.5-Inch SAS Disk Drive    XRA-SS2CF-73G10K      8
Sun       Sun StorageTek PCIe SAS RAID,
          8 Port Internal, Includes Battery Backup   SGXPCIESAS-R-INT-Z    1
Sun	  OpenSolaris 2008.05 
Sun  	  SunSpectrum Upgrade: 3YGOLD, 24x7	     IWU-B13-24-3G	   1

Sun       17" Entry Color Monitor                    X7204A                1
Sun       USB Keyboard                               320-1271              1
Sun       USB Mouse                                  320-2632              1

Sun       Sun GlassFish Enterprise Server 
          v2 Update 2                                                      2
Sun       MySQL Connector/J 5.1.5                                          2

Sun       Sun GlassFish Enterprise Server 
          v2 Update 2 
          Inc Premium Support per CPU for 1 year    ASE29-00P-B929	  12
	   	  
Sun	  MySQL Database 5.0			                           1
Sun	  MySQL Enterprise Gold Support				   	   3
	     for 1 year
                                        
Note:     As per Sec 4.1.3 of the SPECjAppServer2004 Run Rules, 2 additional
          73GB disk drives for the DB have been configured into the BOM to 
          meet the storage requirements for the Raid 1 DB stripe.
          This substitution is performance neutral.



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 GlassFish Enterprise Server v2 Update 2.

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 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 05-Nov-2008