-------------------------------------------------------------------------------- SPECjAppServer(R)2004 Result Copyright (C) 2004 Standard Performance Evaluation Corporation -------------------------------------------------------------------------------- Sybase Enterprise Application Server 6.0.2 Advanced Edition -------------------------------------------------------------------------------- 652.95 SPECjAppServer2004 JOPS@Standard -------------------------------------------------------------------------------- Submitter: Sybase Inc. SPEC license # 82 Test date: Jun-2007 -------------------------------------------------------------------------------- SUT CONFIGURATION -------------------------------------------------------------------------------- J2EE Server Nodes: 1 DB Server Nodes: 1 J2EE Server CPUs: 4 cores, 2 chips DB Server CPUs: 4 cores, 2 chips J2EE Instances: 1 DB Instances: 1 Other SUT Components: PowerConnect 5324 Managed Switch -------------------------------------------------------------------------------- BENCHMARK SETTINGS -------------------------------------------------------------------------------- Dealer Injection Rate: 395 Ramp Up Time: 600 sec # of Dealer Agents: 1 Ramp Down Time: 300 sec # of Manufacturing Agents: 1 Steady State Time: 3,600 sec DB Load Injection Rate: 400 Trigger Time: 600 sec -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Dealer Transaction Mix Count Tx. Mix Purchase 350,896 24.97% Manage 351,575 25.02% Browse 702,898 50.02% Total # Dealer Transactions 1,405,369 Total # Manufacturing Transactions 945,236 Response Times Average Maximum 90th% Reqd Purchase 0.55 30.10 1.10 2.00 Manage 0.42 86.64 0.60 2.00 Browse 0.75 29.23 1.60 2.00 Manufacturing 1.14 93.44 1.50 5.00 Reproducibility Run (SPECjAppServer2004 JOPS) 695.73 -------------------------------------------------------------------------------- SOFTWARE PRODUCTS -------------------------------------------------------------------------------- Sybase Enterprise Application Server 6.0.2 Advanced Edition Vendor: Sybase Inc. Availability Date: Jun-2007 Date Passed CTS: Aug-2006 CTS Version: 1.4 EJB Protocol: RMI/IIOP OS Name: Windows Server 2003 (64-bit) Standard Edition -------------------------------------------------------------------------------- Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03) 64-bit Vendor: Sun Availability Date: Nov-2006 OS Name: Windows Server 2003 (64-bit) Standard Edition -------------------------------------------------------------------------------- BEA JRockit(R)5.0JDK(R27.1.0-109)(64-bit) Vendor: BEA Systems Availability Date: Nov-2006 OS Name: Windows Server 2003 (64-bit) Standard Edition x64 -------------------------------------------------------------------------------- iAnywhere JDBC Driver 10.0.1 Vendor: iAnywhere Availability Date: Apr-2007 OS Name: Windows Server 2003 (64-bit) Standard Edition x64 -------------------------------------------------------------------------------- SQLAnywhere 10.0.1 x32 Vendor: iAnywhere Availability Date: Apr-2007 OS Name: Windows Server 2003 (64-bit) Standard Edition -------------------------------------------------------------------------------- SOFTWARE CONFIGURATIONS -------------------------------------------------------------------------------- J2EE Application Server J2EE Product: Sybase Enterprise Application Server 6.0.2 Advanced Edition JVM Product: Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03) 64-bit JDBC Product: iAnywhere JDBC Driver 10.0.1 Hardware: J2EE AppServer HW # of Instances: 1 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 JVM Flags: -server –XX:CompileThreshold=500 –XX:+PrintCompilation –XX:+UseParallelGC –XX:ParallelGCThreads=4 –XX:+UseParallelOldGC –Xms5000m –Xmx5000m –XX:NewSize=2500m –XX:MaxPermSize=128m –verbose:gc –XX:+PrintGCDetails –XX:+UseLargePages Refer to attached documents for additional configuration details set following environment variable before starting Application Server set DJC_USER_JVM_ARGS=-Ddjc.disableExUtil.printStack=true -------------------------------------------------------------------------------- Emulator SW Config J2EE Product: Sybase Enterprise Application Server 6.0.2 Advanced Edition JVM Product: Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03) 64-bit Hardware: Load Driver HW # of Instances: 1 Notes / Tuning Information JVM Flags: -Xms4M -Xmx512M -XX:+UseLargePages -------------------------------------------------------------------------------- Database SW Config DB Product: SQLAnywhere 10.0.1 x32 Hardware: Database Server HW # of Instances: 1 Notes / Tuning Information DB startup command: dbsrv10.exe -c3500m -ch3500m -gm300 -gn150 -gr120 specdb.db -------------------------------------------------------------------------------- Driver SW Config JVM Product: BEA JRockit(R)5.0JDK(R27.1.0-109)(64-bit) Hardware: Load Driver HW # of Instances: 1 Notes / Tuning Information -Xms4096M -Xmx4096M org.specj.jappserver.driver.http.HttpResponseParser.class was modified in the driver. Modification was to handle uppercase hex digits (A-F) in chunked encoding Please refer to attached source code and updated driver jar file -------------------------------------------------------------------------------- HARDWARE SYSTEMS -------------------------------------------------------------------------------- J2EE AppServer HW (SUT hardware) Hardware Vendor: Dell Model Name: PowerEdge 2900 Processor: Intel Xeon processor 5160 MHz: 3000 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 16384 L1 Cache: 32KB(I)+32KB(D) on chip, per core L2 Cache: 4MB on chip, shared Other Cache: OS Vendor: Microsoft Inc. OS Name: Windows Server 2003 (64-bit) Standard Edition Disks: 1x73GB Network Interface: (2) 1000BaseT Ethernet Other Hardware: # of Systems: 1 H/W Available: Jul-2006 O/S Available: Mar-2005 Notes / Tuning Information Using regedit.exe modify Registery contents: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters property: MaxUserPort type: reg_dword value: 65534 value type: decimal property: TcpTimedWaitDelay type: reg_dword value: 30 value type: decimal Using Control Panel/System/Advanced setup: - Processor scheduling optimized for Programs - Memory usage optimized for Programs - Virtual page file of 24GB Using Local Area Connection Properties for Network Adapter set: Maximize data throughput for network applications Start ODBCManager using command odbcad32.exe On User DSN page select Add button On ODBC tab put the "DataSource name" as specdb On Database tab put "Server Name" and "Database Name" as specdb On Network tab Select TCP/IP and configure parameter "HOST= To support Large Pages on Windows make following config changes 1. select Control Panel -> Administrative Tools -> Local Security Policy 2. select Local Policies -> User Rights Assignment 3. double click "Lock pages in memory", add users and/or groups 4. reboot the machine -------------------------------------------------------------------------------- Database Server HW (SUT hardware) Hardware Vendor: Dell Model Name: PowerEdge 2900 Processor: Intel Xeon processor 5160 MHz: 3000 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 16384 L1 Cache: 32KB(I)+32KB(D) on chip, per core L2 Cache: 4MB on chip, shared Other Cache: OS Vendor: Microsoft OS Name: Windows Server 2003 (64-bit) Standard Edition x64 Disks: 8x146GB SAS 15K Network Interface: (2) 1000 BaseT Ethernet Other Hardware: # of Systems: 1 H/W Available: Jul-2006 O/S Available: Mar-2005 Notes / Tuning Information Using regedit.exe modify Registery contents: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters property: MaxUserPort type: reg_dword value: 65534 value type: decimal property: TcpTimedWaitDelay type: reg_dword value: 30 value type: decimal Using Control Panel/System/Advanced setup: - Processor scheduling optimized for Programs - Memory usage optimized for Programs - Virtual page file of 24GB Using Local Area Connection Properties for Network Adapter set: Maximize data throughput for network applications To support Large Pages on Windows make following config changes 1. select Control Panel -> Administrative Tools -> Local Security Policy 2. select Local Policies -> User Rights Assignment 3. double click "Lock pages in memory", add users and/or groups 4. reboot the machine -------------------------------------------------------------------------------- Load Driver HW (non-SUT hardware) Hardware Vendor: Dell Model Name: PowerEdge 6850 Processor: Dual Core Intel Xeon 7041 (4 HW threads/chip) MHz: 3072 # of CPUs: 4 cores, 2 chips, 2 cores/chip Memory (MB): 16384 L1 Cache: 12KB(I)+16KB(D) on chip, per core L2 Cache: 2048KB(I+D) on chip, per core Other Cache: OS Vendor: Microsoft OS Name: Windows Server 2003 (64-bit) Standard Edition Disks: 1x73GB Network Interface: 2x(2)1000BaseT Other Hardware: # of Systems: 1 H/W Available: Feb-2005 O/S Available: Mar-2005 Notes / Tuning Information Using regedit.exe modify Registery contents: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters property: MaxUserPort type: reg_dword value: 65534 value type: decimal property: TcpTimedWaitDelay type: reg_dword value: 30 value type: decimal Using Control Panel/System/Advanced setup: - Processor scheduling optimized for Programs - Memory usage optimized for Programs - Virtual page file of 24GB Using Local Area Connection Properties for Network Adapter set: Maximize data throughput for network applications Start ODBCManager using command odbcad32.exe On User DSN page select Add button On ODBC tab put the "DataSource name" as specdb On Database tab put "Server Name" and "Database Name" as specdb On Network tab Select TCP/IP and configure parameter "HOST= To support Large Pages on Windows make following config changes 1. select Control Panel -> Administrative Tools -> Local Security Policy 2. select Local Policies -> User Rights Assignment 3. double click "Lock pages in memory", add users and/or groups 4. reboot the machine -------------------------------------------------------------------------------- BENCHMARK MODIFICATIONS -------------------------------------------------------------------------------- Schema Modifications: 1) Additional table ref_tv table was created to support the use of tableVersion for "reference" table 2) Column order of primary key for S_purchase table was modified to (pol_po_id, pol_number) to avoid table scan. This change does not affect the index semantics or index node storage size. 3) Column order of primary key for M_bom table was modified to put b_line_no before b_comp_id. This would be the Sybase recommended schema for such an index (to avoid inefficient index scans for cases where you want to find the BOM rows for a particular b_assembly_id and b_line_no). Due to the fact that this table is cached in this submission, this change is 100% performance neutral (for the submitted results). This change does not affect the index semantics or index node storage size. 4) Explicit "null" and "not null" indicators added where they were absent (as the default for Sybase ASE databases is "not null" whereas the DB load script assumes columns can be "null" by default). The automated tool that was used for this also reordered the columns effectively randomly (due to Java HashMap distribution of column names in the internal data structures used by the schema generation tool). 5) Added two extra indexes on M_largeorder to avoid inefficient queries. 6) version column added to all tables for optimistic concurrency. 7) o_version column added to C_customer to support parent versioning. 8) for_update column added to some tables for exclusive locking. 9) Database triggers were added for versioning and cache invalidation (these triggers are not active when the application server accesses the database, they are to ensure that ad-hoc database updates from other applications will retain database integrity). 10) Added to schema to set max_cursor_count and max_statement_count to 0 Please refer to attached Schema for details. -------------------------------------------------------------------------------- Load Program Modifications: No modifications done BENCHMARK CONFIGURATION INFORMATION -------------------------------------------------------------------------------- Isolation Requirement Info: For full documentation of configuration properties, see Config/docs/com.sybase.djc.ant.SetPropertiesTask.html. CustomerEnt isolationLevel is RepeatableReadWithCache using versionColumn for optimistic concurrency also using allowVerifyWithCache (this relies on database trigger) CustomerInventoryEnt isolationLevel is RepeatableReadWithCache using parentVersion and versionColumn for optimistic concurrency AssemblyEnt isolationLevel is ReadCommittedWithCache using tableVersion for optimistic concurrency BomEnt isolationLevel is ReadCommittedWithCache using tableVersion for optimistic concurrency ComponentEnt isolationLevel is ReadCommittedWithCache using tableVersion for optimistic concurrency InventoryEnt isolationLevel is RepeatableReadWithCache using versionColumn for optimistic concurrency also using allowVerifyWithCache (this relies on database trigger) LargeOrderEnt isolationLevel is ReadCommitted PartEnt isolationLevel is ReadCommitted WorkOrderEnt isolationLevel is RepeatableReadWithCache using versionColumn for optimistic concurrency ItemEnt isolationLevel is ReadCache using cacheTimeout for cache invalidation OrderEnt isolationLevel is RepeatableReadWithCache using parentVersion and versionColumn for optimistic concurrency also using allowVerifyWithCache (this relies on database trigger) OrderLineEnt isolationLevel is RepeatableReadWithCache using parentVersion and versionColumn for optimistic concurrency POEnt isolationLevel is RepeatableReadWithCache using versionColumn for optimistic concurrency POLineEnt isolationLevel is RepeatableReadWithCache using versionColumn for optimistic concurrency SComponentEnt isolationLevel is RepeatableReadWithCache using versionColumn for optimistic concurrency also using allowVerifyWithCache (this relies on database trigger) SupplierCompEnt isolationLevel is ReadCommittedWithCache using tableVersion for optimistic concurrency SupplierEnt isolationLevel is ReadCommittedWithCache using tableVersion for optimistic concurrency SequenceEnt isolationLevel is RepeatableRead using selectWithUpdateLock for pessimistic lock PartEnt isolationLevel is ReadCommitted using tableVersion for optimistic concurrency -------------------------------------------------------------------------------- Durability Requirement Info: Database Server Hardware is configured as Dual Raid array and redo logs are duplicated on on both raid array disks. J2EE Application Server does not have any such requirement (JMS messages are stored in the database) -------------------------------------------------------------------------------- Storage Requirement Info: A 60 minute run at Injection rate of 420 increased Storage by 1105.63 MB. Extrapolating for 24 hours we need 26535 MB. System is configured with 584GB of hard drive. -------------------------------------------------------------------------------- Argument Passing Semantics: Sybase Enterprise Application Server 6.0.2 uses Pass-by-value as required by the EJB Specifications BILL OF MATERIALS -------------------------------------------------------------------------------- Supplier Description Product # Qty -------- ------------------------------------------- ---------------- --- Sybase Enterprise Application Server v6.0.2 60872 1 Enterprise Support: 3 Years 24x7 Support with Response time of less then 30 minutes iAnywhere SQLAnywhere 10.0.1 19861 1 Enterprise Support: 3 Years 24x7 Support with Response time of less then 30 minutes Dell Dual Core Xeon Processor 5160 4MB Cache, 222-3395 2 3.00GHz, 1333MHz FSB, PE 2900 Dell Dual Core Xeon 2nd Processor 5160, 311-6232 2 4MB Cache, 3.00GHz 1333MHz FSB, PE 2900 Dell 16GB 533MHz (8x2GB), Dual Ranked DIMMs 311-5735 2 Dell Broadcom TCP/IP Offload EngineNot Enabled 430-1765 2 Dell 146GB, SAS, 3.5-inch 15K RPM Hard Drive 341-3031 8 Dell 73GB, SAS, 3.5-inch 15K RPM Hard Drive 341-3029 1 Dell PERC 5/i, Integrated Controller Card 341-3018 2 Dell Intel PRO 1000PT Cu, Dual PortPCIe, NIC 430-0959 2 Dell 6X DVD-ROM for PowerEdge 2900 313-4312 2 Dell Bezel for Rack Configuration PE 2900 313-3914 2 Dell Electronic Documentation and 310-7402 2 OpenManage CD Kit, PE2900 Dell Integrated SAS/SATA RAID 341-3000 1 10 PERC 5/i Integrated Dell 73GB, SAS, 3.5-inch 15K RPM Hard Drive 341-3029 1 Dell Integrated SAS/SATA RAID 1 PERC 5/i 341-2998 1 Integrated Dell Rack Chassis with Sliding Rapid/Versa 310-7488 2 Rails, Universal for PowerEdge 2900 Dell GOLD Enterprise Support: 960-9252 2 7x24 Escalation Manager, Hw/Sw Tech Phone Support, Enterprise Command Center, 3Yr Dell GOLD Enterprise Support: 970-4770 2 4 Hour 7x24 Onsite Service with Emergency Dispatch, Init YR Dell Dell Hardware Warranty Plus Onsite 984-1467 2 Service Initial YR Dell GOLD Enterprise Support: 960-9002 2 4 Hour 7x24 Onsite Service with Emergency Dispatch, 2YR Ext Dell SHIPPING AND HANDLING, 009-4364 2 WORKSTATIONS,OPTIPLEX, LATITUDEand SERVERS Dell Redundant Power Supply with Y-Cord 310-7405 2 for PowerEdge 2900 Dell Dell Hardware Warranty, Extended 3 YR 984-1469 1 Microsoft Windows Server 2003 Standard Edition P73-01418 2 (64-bit), With 3 years Software Assurance included -------------------------------------------------------------------------------- OTHER BENCHMARK INFORMATION -------------------------------------------------------------------------------- This submission uses Xerces implementation 2.8.0 which is provided with Sybase Enterprise Application Server 6.0.2 -------------------------------------------------------------------------------- General Notes -------------------------------------------------------------------------------- The errors in the driver log files were those that are normally generated by this benchmark, optimistic concurrency rollback, and communication failures SQLAnywhere is configured to run checkpoints to ensure that no updates remained unflushed longer then allowed time. Enterprise Application Server is configured to cache data into memory. Triggers are provided from DB to reflect any change of data on the DB. Cache size is configured using configuration files. The configuration files are attached with the results Errors in loline.err and plannedline.err and emulator.err due to first read on a newly opened socket sometimes (under high load) returning -1, even though the server hasn't closed the socket. Also on client, socket write errors and connections reset by peer due to server's first read on newly opened socket failing (resulting in server closing the socket because it thinks the client has gone). Our best explanation of this is the JVM or Windows OS being unable to handle the occasional new socket connection within some time period when the server is particularly heavily loaded (during ramp-up in particular). Errors in dealer.err due to optimistic concurrency failure. (transaction rolled back as a result of version conflict). Some transaction rollbacks can result in NullPointerExceptions in the driver, due to it not expecting the rollbacks. -------------------------------------------------------------------------------- For questions about this result, please contact the submitter: Sybase Inc. For other inquiries, please contact SPEC - Benchmark run on Mon Jun 25 13:21:57 EDT 2007 by SPECjAppServer2004 v1.05 - 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