-------------------------------------------------------------------------------- SPECjAppServer(R)2004 Result Copyright (C) 2004 Standard Performance Evaluation Corporation -------------------------------------------------------------------------------- Sun Java (TM) Systems Application Server 9.0 Platform Edition with Postgres 8.2 -------------------------------------------------------------------------------- 778.14 SPECjAppServer2004 JOPS@Standard -------------------------------------------------------------------------------- Submitter: Sun Microsystems Inc. SPEC license # 6 Test date: Jun-2007 -------------------------------------------------------------------------------- SUT CONFIGURATION -------------------------------------------------------------------------------- J2EE Server Nodes: 3 DB Server Nodes: 1 J2EE Server CPUs: 12 cores, 6 chips (2 cores/chip) DB Server CPUs: 8 cores, 1 chips (8 cores/chip) J2EE Instances: 3 DB Instances: 1 Other SUT Components: None -------------------------------------------------------------------------------- BENCHMARK SETTINGS -------------------------------------------------------------------------------- Dealer Injection Rate: 475 Ramp Up Time: 600 sec # of Dealer Agents: 4 Ramp Down Time: 300 sec # of Manufacturing Agents: 8 Steady State Time: 3,600 sec DB Load Injection Rate: 500 Trigger Time: 150 sec -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Dealer Transaction Mix Count Tx. Mix Purchase 421,634 25.05% Manage 420,273 24.97% Browse 841,415 49.99% Total # Dealer Transactions 1,683,322 Total # Manufacturing Transactions 1,117,975 Response Times Average Maximum 90th% Reqd Purchase 0.71 59.96 1.20 2.00 Manage 0.55 55.77 0.90 2.00 Browse 0.86 49.52 1.50 2.00 Manufacturing 2.00 13.25 4.00 5.00 Reproducibility Run (SPECjAppServer2004 JOPS) 779.93 -------------------------------------------------------------------------------- SOFTWARE PRODUCTS -------------------------------------------------------------------------------- Sun Java (TM) Systems Application Server 9.0 Platform Edition Update Release 1 Patch 3 Vendor: Sun Microsystems, Inc. Availability Date: Apr-2007 Date Passed CTS: Apr-2007 CTS Version: CTS EE 5 EJB Protocol: RMI/IIOP OS Name: Solaris 10 11/06 (64-bit) -------------------------------------------------------------------------------- Jakarta Tomcat 5.5.16 Vendor: Apache Software Foundation Availability Date: Mar-2006 -------------------------------------------------------------------------------- Java (TM) 2 Platform Standard Edition Development Kit 6.0 32-bit Vendor: Sun Microsystems, Inc. Availability Date: Dec-2006 OS Name: Solaris 10 11/06 (64-bit) -------------------------------------------------------------------------------- PostgreSQL JDBC TYPE IV 8.2 Vendor: PostgreSQL Global Development Group Availability Date: Aug-2007 OS Name: Solaris 10 11/06 (64-bit) -------------------------------------------------------------------------------- PostgreSQL 8.2.4 Vendor: PostgreSQL Global Development Group Availability Date: Apr-2007 OS Name: Solaris 10 11/06 (64-bit) -------------------------------------------------------------------------------- SOFTWARE CONFIGURATIONS -------------------------------------------------------------------------------- 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 6.0 32-bit JDBC Product: PostgreSQL JDBC TYPE IV 8.2 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 -Xss128k -XX:+DisableExplicitGC -XX:ParallelGCThreads=4 -XX:LargePageSizeInBytes=2m -XX:+UseParallelOldGC -DAllowManagedFieldsInDefaultFetchGroup=true -XX:-UseBiasedLocking -XX:CompileThreshold=500 -Dcom.sun.enterprise.server.ss.ASQuickStartup=false JDBC Pool : max-pool-size=250 steady-pool-size=90 statement_cache=true prepareThreshold=1 ssl=false 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=25 -------------------------------------------------------------------------------- Emulator SW Config JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 32-bit Web Product: Jakarta Tomcat 5.5.16 Hardware: Load Driver HW Primary (Emulator) # 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: PostgreSQL 8.2.4 Hardware: Database Server HW # of Instances: 1 Notes / Tuning Information Postgres tuning in postgresql.conf listen_addresses = * max_connections = 1000 shared_buffers=3GB temp_buffers = 1000 max_prepared_transactions = 450 work_mem=100MB maintenance_work_mem = 512MB max_fsm_pages = 208000 max_fsm_relations = 10000 vacuum_cost_delay = 50 bgwriter_delay = 200ms bgwriter_lru_percent=20.0 bgwriter_lru_maxpages=100 bgwriter_all_percent=3 bgwriter_all_maxpages=600 fsync = on wal_sync_method = fdatasync full_page_writes = off wal_buffers = 2300 commit_delay = 10 checkpoint_segments = 256 checkpoint_timeout = 300 checkpoint_warning = 99 enable_seqscan = off random_page_cost = 1.5 cpu_tuple_cost = 0.001 cpu_index_tuple_cost = 0.0005 cpu_operator_cost = 0.00025 effective_cache_size = 40GB stats_start_collector = off default_transaction_isolation = read committed deadlock_timeout = 1000 Postgres compile flags used GCC for SPARC compilers :- -fast -O4 -xtarget=ultraT1 Increase Shared Ram for Postgres :- #projadd -U postgres user.postgres #projmod -a -K "project.max-sem-ids=(priv,4k,deny)" user.postgres #projmod -a -K "project.max-shm-memory=(priv,4G,deny)" user.postgres Postgres was started using libumem :- LD_PRELOAD=/usr/lib/libumem.so; export LD_PRELOAD $POSTGRES_HOME/bin/pg_ctl -o -i -D $PGDATA -l /tmp/logfile start Postgres available from www.postgres.org Sun GCC for SPARC systems available at http://cooltools.sunsource.net -------------------------------------------------------------------------------- Driver SW Config JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 32-bit Hardware: Load Driver HW Primary (Emulator) # 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://papps:3700 -Djava.naming.provider.url.pkgs=com.sun.enterprise.naming -Dcom.sun.appserv.iiop.endpoints=papps1:3700,papps2:3700,papps3:3700 -Dorg.omg.CORBA.ORBInitialHost=papps -Dorg.omg.CORBA.ORBInitialPort=3700 -------------------------------------------------------------------------------- HARDWARE SYSTEMS -------------------------------------------------------------------------------- J2EE AppServer HW (SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire X4200 M2 Processor: AMD Opteron 2220 SE MHz: 2800 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 8192 L1 Cache: 64KB(I)+16KB(D) per core L2 Cache: 1MB per core Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 11/06 (64-bit) Disks: 2x73Gb 10K RPM Network Interface: (4) 1000BaseT Ethernet Other Hardware: # of Systems: 3 H/W Available: Sep-2006 O/S Available: Nov-2006 Notes / Tuning Information -------------------------------------------------------------------------------- Database Server HW (SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire T2000 Server Processor: UltraSPARC T1 MHz: 1200 # of CPUs: 8 cores, 1 chip, 8 cores/chip (4 threads/core) Memory (MB): 16376 L1 Cache: 16KB(I)+8KB(D) per core L2 Cache: 3MB per chip Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 11/06 (64-bit) Disks: 2x73Gb 10K RPM Ultra320 SCSI Network Interface: (4) Onboard 1000BaseT Ethernet Other Hardware: 1 SUN-StorageTEK 2540 (12x146GB 15000 RPM, 2 x raid controller) # of Systems: 1 H/W Available: Jan-2007 O/S Available: Nov-2006 Notes / Tuning Information UFS options for /disk1: noatime,forcedirectio,nologging UFS Options for /log: noatime,forcedirectio,nologging System Tuning in /etc/system : set pcie:pcie_aer_ce_mask=0x1 set autoup=900 set tune_t_fsflushr=1 set rlim_fd_max=260000 set rlim_fd_cur=260000 set maxphys=1048576 set ip:ip_squeue_fanout= 1 set ip:ip_squeue_bind = 0 set disable_ism_large_pages = 0x34 Network tuning in /etc/rc3.d/S99network 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 -------------------------------------------------------------------------------- Load Driver HW Primary (Emulator) (non-SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire V40z Processor: AMD Opteron 850 MHz: 2400 # of CPUs: 4 cores, 4 chips, 1 core/chip Memory (MB): 8192 L1 Cache: 64KB(I)+64KB(D) L2 Cache: 1MB Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 1/06 (64-bit) Disks: 2 x 36GB Network Interface: (2) Onboard 1000BaseT Ethernet Other Hardware: Netgear 24-port Gigabit Switch Model GS524T # of Systems: 2 H/W Available: Jul-2004 O/S Available: Jan-2006 Notes / Tuning Information -------------------------------------------------------------------------------- Load Satellite HW (non-SUT hardware) Hardware Vendor: Sun Microsystems, Inc. Model Name: Sun Fire V40z Processor: AMD Opteron 850 MHz: 2400 # of CPUs: 4 cores, 4 chips, 1 core/chip Memory (MB): 8192 L1 Cache: 64KB(I)+64KB(D) L2 Cache: 1MB Other Cache: OS Vendor: Sun Microsystems, Inc. OS Name: Solaris 10 1/06 (64-bit) Disks: 2 x 36GB Network Interface: (2) Onboard 1000BaseT Ethernet Other Hardware: Netgear 24-port Gigabit Switch Model GS524T # of Systems: 2 H/W Available: Jul-2004 O/S Available: Jan-2006 Notes / Tuning Information -------------------------------------------------------------------------------- BENCHMARK MODIFICATIONS -------------------------------------------------------------------------------- Schema Modifications: Scripts to create the DB are included in the FDA. fill factor was modified on tables Added TABLE TXN_LOG_TABLE to support JMS transaction logging to database Added primary keys to tables -------------------------------------------------------------------------------- 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) were used for the database files and logs maintained on the Sun StorageTek 2540 Array. The caches in the Array are battery backed (72 hours) 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 85 minute run for this submission required less than 4GB of database storage. This extrapolates to less than 70GB for a 24 hour period. The Sun StorageTek 2540 Array drive capacity is 876GB 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 X4200 M2 (2x2220 SE ,2X73GB) A87-KPZ22H8GCBA 3 Sun Solaris 10 RTU 3 Sun SunSpectrum Upgrade: 3YGOLD, 24x7 W9D-A65-24-3G 3 Sun Sun Fire T2000, 1x1.2 GHz, 16 GB mem T20Z108B-16GA2G 1 Sun 4 Gb Dual FC PCI-X Host Bus Adapter SG-XPCI2FC-QF4 1 Sun SunSpectrum Upgrade: 3YGOLD, 24x7 W9D-T2000-8-24-3G 1 Sun StorageTek 2540, 12 x 146GB, 12*RAID XTA2540R01A2E1752 1 Sun SunSpectum Upgrade: 3Y GOLD, 24x7 W9D-ST2540-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 PostgreSQL PostgreSQL 8.2 Database EnterpriseDB PostgreSQL support (premium) 3 -------------------------------------------------------------------------------- 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 Postgres JDBC driver is a Type 4 JDBC driver Recoverable 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 transaction log records are written to the database in a single transaction. Database checkpoints during the Measurement Interval were done every 300 secs as per checkpoint=300 in the postgresql.conf -------------------------------------------------------------------------------- For questions about this result, please contact the submitter: Sun Microsystems Inc. For other inquiries, please contact SPEC - Benchmark run on Tue Jun 05 15:56:40 PDT 2007 by SPECjAppServer2004 v1.08 - Result submitted on Wed Jun 6 03:03:00 EDT 2007 - Report generated by SPECjAppServer2004 Reporter v1.03 Copyright (C) 2004 Standard Performance Evaluation Corporation