-------------------------------------------------------------------------------- SPECjAppServer(R)2004 Result Copyright (C) 2004 Standard Performance Evaluation Corporation -------------------------------------------------------------------------------- Sun Java (TM) System Application Server 9.1 with Postgres 8.2 -------------------------------------------------------------------------------- 813.73 SPECjAppServer2004 JOPS@Standard -------------------------------------------------------------------------------- Submitter: Sun Microsystems Inc. SPEC license # 6 Test date: Jul-2007 -------------------------------------------------------------------------------- SUT CONFIGURATION -------------------------------------------------------------------------------- J2EE Server Nodes: 2 DB Server Nodes: 1 J2EE Server CPUs: 8 cores, 4 chips (2 cores/chip) DB Server CPUs: 8 cores, 1 chips (8 cores/chip) J2EE Instances: 2 DB Instances: 1 Other SUT Components: None -------------------------------------------------------------------------------- BENCHMARK SETTINGS -------------------------------------------------------------------------------- Dealer Injection Rate: 487 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: 180 sec -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Dealer Transaction Mix Count Tx. Mix Purchase 440,855 25.03% Manage 439,611 24.96% Browse 880,874 50.01% Total # Dealer Transactions 1,761,340 Total # Manufacturing Transactions 1,168,101 Response Times Average Maximum 90th% Reqd Purchase 0.26 11.98 0.60 2.00 Manage 0.28 10.70 0.60 2.00 Browse 0.29 9.59 0.60 2.00 Manufacturing 1.94 9.80 2.75 5.00 Reproducibility Run (SPECjAppServer2004 JOPS) 815.44 -------------------------------------------------------------------------------- SOFTWARE PRODUCTS -------------------------------------------------------------------------------- Sun Java (TM) System Application Server 9.1 Vendor: Sun Microsystems, Inc. Availability Date: Sep-2007 Date Passed CTS: Sep-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 Update 2 32-bit Vendor: Sun Microsystems, Inc. Availability Date: Jul-2007 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) System Application Server 9.1 JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 2 32-bit JDBC Product: PostgreSQL JDBC TYPE IV 8.2 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:+AggressiveHeap -Xms2560m -Xms2560m -Xmn1560m -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 -DAllowMediatedWriteInDefaultFetchGroup=true -XX:+AggressiveOpts -Dcom.sun.ejb.containers.readonly.relative.refresh.mode=true JDBC Pool: max-pool-size=250 steady-pool-size=90 statement_cache=true prepareThreshold=1 ssl=false HTTP: thread-count=26 acceptor-threads=2 Transaction Service: logging to jdbc/SPECDB MDB Container: max-pool-size=32, steady-pool-size=0 ORB (thread-pool-1): max-thread-pool-size=45 -------------------------------------------------------------------------------- Emulator SW Config JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 2 32-bit Web Product: Jakarta Tomcat 5.5.16 Hardware: Load Driver HW Primary (Emulator) # of Instances: 1 Notes / Tuning Information JVM Options: -server -XX:LargePageSizeInBytes=2m -XX:+AggressiveOpts -Xmx2048m -Xms2048m Emulator Software Configuration. server.xml: maxThreads=3000 -------------------------------------------------------------------------------- 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=3500MB 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 Sun Studio 12 :- -xO3 -xarch=v8 -xspace -W0,-Lt -W2,-Rcond_elim -Xa -xildoff -xc99=none -xCC 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 -------------------------------------------------------------------------------- Driver SW Config JVM Product: Java (TM) 2 Platform Standard Edition Development Kit 6.0 Update 2 32-bit Hardware: Load Driver HW Primary (Emulator) # of Instances: 2 Notes / Tuning Information JVM Options: -server-XX:LargePageSizeInBytes=2m -XX:+AggressiveOpts -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 -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: 2 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 and /disk2 : 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: null # 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: null # 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. Disk caches on all internal disks are set to write through. -------------------------------------------------------------------------------- Storage Requirement Info: The 75 minute run for this submission required less than 5GB of database storage. This extrapolates to less than 97GB 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 System Application Server 9.1 uses pass-by-value semantics by default. BILL OF MATERIALS -------------------------------------------------------------------------------- Supplier Description Product # Qty -------- ---------------------------------------- ------------------ --- Sun Sun Fire X4200 M2 (2x2220 SE ,2X73GB) A87-KPZ22H8GCBA 2 Sun Solaris 10 RTU 2 Sun SunSpectrum Upgrade: 3YGOLD, 24x7 W9D-A65-24-3G 2 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 9.1 Sun Sun Java System Application Server 9.1 SJSAS-PE9F-1PR 12 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.1 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 record are written to the database in a single transaction. Database checkpoints during the Measurement Interval were done every 300 secs as per checkpoint_timeout=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 Sun Jul 01 22:06:03 PDT 2007 by SPECjAppServer2004 v1.08 - Result submitted on Wed Jul 4 03:03:00 EDT 2007 - Report generated by SPECjAppServer2004 Reporter v1.03 Copyright (C) 2004 Standard Performance Evaluation Corporation