SPECjAppServer2001 Result Sybase Enterprise Application Server 4.2 on Dell PowerEdge 4600 Metric: 202.12 BOPS@DualNode 332.73 US$/BOPS@DualNode Submitter: Sybase, Inc. (http://www.sybase.com), SPEC license # 82, Test date: Nov-2002 EJB Container Avail: Feb-2003, EJB Container JVM Avail: Sep-2002 -------------------------------------------------------------------------------- Benchmark Settings -------------------------------------------------------------------------------- Orders Injection Rate: 117 # of Order Agents: 1 # of Manufacturing Agents: 1 DB Load Injection Rate: 117 Ramp Up Time: 600 seconds Ramp Down Time: 300 seconds Steady State Time: 1800 seconds Trigger Time: 30 seconds Total System Cost: US$67,252 -------------------------------------------------------------------------------- Detailed Results -------------------------------------------------------------------------------- Order Transaction Mix Count Tx. Mix New Order 105,137 49.91% Change Order 42,132 20.00% Order Status 42,287 20.08% Customer Status 21,084 10.01% Total # Order Transactions 210,640 Total # Manufacturing Transactions 153,185 Response Times Average Maximum 90th% Reqd New Order 0.57 4.98 1.30 2.00 Change Order 0.22 1.22 0.50 2.00 Order Status 0.10 0.74 0.30 2.00 Customer Status 0.21 0.74 0.50 2.00 Manufacturing 2.40 12.52 4.25 5.00 Reproducibility Run (BOPS) 202.29 -------------------------------------------------------------------------------- Software Descriptions -------------------------------------------------------------------------------- EJB Container Name: Sybase Enterprise Application Server 4.2 Vendor: Sybase, Inc. Available: Feb-2003 Instances: 1 Passed CTS: Jan-2002 Protocol: IIOP JVM Name: Java HotSpot(TM) Server VM version 1.4.1-rc-b19 JVM Vendor: Sun Microsystems, Inc. JVM Available: Sep-2002 Tuning Information - Server maximum connections set to 4000. - Following properties are set for database connection cache. * Maximum connections in database cache set to 250. * CHARSET_CONVERTER_CLASS=com.sybase.jdbc2.utils.TruncationConverter - Created 3 Thread monitors MfgMonitor, OrderMonitor, and GeneralMonitor. OrderMonitor and GeneralMonitor threads limit was set 20, and MfgMonitor was set to 65. These monitors are enabled for the following beans. * MfgMonitor: WorkOrderSes, ReceiveSes, LargeOrderSes * OrderMonitor: CartSes, OrderCustomerSes, OrderSes * GeneralMonitor: BuyerSes, ReceiverSes, SequenceSes - Enabled tlc.sort property on InventoryEnt. - Timeout set to 0 for all entity beans. - Server maximum http connections set to 1900. - Timeout set to 5 seconds for BuyerSes bean. JVM Tuning Information 1. The memory parameters minimum and maximum heap size are set to 868M. 2. The garbage collection parameters NewSize and MaxNewSize are set to 300M. -------------------------------------------------------------------------------- Supplier Domain Container Name: Sybase Enterprise Application Server 4.2 Vendor: Sybase, Inc. Available: Feb-2003 JVM Name: Java HotSpot(TM) Server VM version 1.4.1-rc-b19 JVM Vendor: Sun Microsystems, Inc. JVM Available: Sep-2002 Tuning Information Runs in the same process as the EJB Container. JVM Tuning Information Runs in the same JVM as EJB Container. Same tuning options as disclosed for EJB Container apply. -------------------------------------------------------------------------------- Emulator Container Name: Sybase Enterprise Application Server 4.2 Vendor: Sybase, Inc. Available: Feb-2003 JVM Name: Java HotSpot(TM) Server version 1.4.1-rc-b19 JVM Vendor: Sun Microsystems, Inc. JVM Available: Sep-2002 Tuning Information 1. Turned off keep-alive for http listener. 2. The maximum connections limit set to 2000 and maximum http connections limit set to 1000. JVM Tuning Information The memory parameter minimum heap size is set to 868M. -------------------------------------------------------------------------------- Database Name: Sybase Adaptive Server Enterprise 12.5.0.1 Vendor: Sybase, Inc. Available: Sep-2002 Tuning Information Default online engines at startup set to 4. Number of user connections set to 400. Default and max network packet size set to 2048 Bytes. Procedure Cache set to 64000 (2KB unit). Turned OFF DONEINPROC tokens as follows: dbcc tune(DONEINPROC,0). TCP NO DELAY enabled (set to 1). Number of open objects set to 4000. Max memory set to 400000 (2KB units). Database Logical pagesize set to 4KB. Created four local cache partitions of size 150MB. Disabled recovery logging optimizations as follows. dbcc trace(4012) dbcc trace(3444) Set "trunc. log on checkpoint" on database. -------------------------------------------------------------------------------- JDBC Name: Sybase jConnect for JDBC version 5.5 Vendor: Sybase, Inc. Available: Sep-2002 Tuning Information Used Sybase CMP driver wrapper (com.sybase.ejb.cmp.SybaseDriver), a part of the Sybase CMP runtime which is layered over top of the jConnect driver. Set CMP Connection cache property CMP_DRIVER.MAXIMUM_BATCH_STATEMENTS to 6. -------------------------------------------------------------------------------- Other Software Name: Vendor: Available: Tuning Information -------------------------------------------------------------------------------- Hardware Descriptions -------------------------------------------------------------------------------- Sybase Enterprise Application Server (1 system) Hardware Vendor: Dell Corporation Model Name: PowerEdge 4600 Processor: Intel Xeon MHz: 2048 # of CPUs: 2 cores, 2 chips, 1 core/chip Memory (MB): 1024 L1 Cache: L2 Cache: 512KB Other Cache: OS Vendor: Microsoft Corporation OS Name: Windows 2000 Server Disks: 1x18GB 10K RPM Ultra-160 SCSI Network Interface: (2) 100BaseT Ethernet NIC Other Hardware: None # of Systems: 1 H/W Available: Sep-2002 O/S Available: Sep-2002 Notes / Tuning Information Disabled Integrated NIC. Enabled Point to Point connection using Intel Pro/100S NIC to database server host. Enabled Point to Point connection using Intel Pro/100S NIC to driver (also emulator) host. -------------------------------------------------------------------------------- Sybase Adaptive Server Enterprise Database Server (1 system) Hardware Vendor: Dell Corporation Model Name: PowerEdge 4600 Processor: Intel Xeon MHz: 2048 # of CPUs: 2 cores, 2 chips, 1 core/chip Memory (MB): 1024 L1 Cache: L2 Cache: 512KB Other Cache: OS Vendor: Microsoft Corporation OS Name: Windows 2000 Server Disks: 4x18Gb 10K RPM Ultra-160 SCSI Network Interface: 100BaseT Ethernet NIC Other Hardware: # of Systems: 1 H/W Available: Sep-2002 O/S Available: Sep-2002 Notes / Tuning Information Integrated PowerEdge Expandable RAID Controller, Version 3, Dual Channel (PERC 3/Di). Disabled Integrated NIC. Enabled Point to Point connection using Intel Pro/100S NIC to application server host. -------------------------------------------------------------------------------- Load Driver (1 system) Hardware Vendor: Dell Model Name: PowerEdge 4600 Processor: Intel Xeon MHz: 2048 # of CPUs: 1 core, 1 chip, 1 core/chip Memory (MB): 1024 L1 Cache: L2 Cache: 512KB Other Cache: OS Vendor: Microsoft Corporation OS Name: Windows 2000 Server Disks: 1x18GB Network Interface: 10/100BaseT Other Hardware: # of Systems: 1 H/W Available: Sep-2002 O/S Available: Sep-2002 Notes / Tuning Information Disabled Integrated NIC. Enabled Point to Point connection using Intel Pro/100S NIC to the application server host. Driver JVM: Sun J2SDK Version 1.4.1-rc-b19 -------------------------------------------------------------------------------- Benchmark Modifications -------------------------------------------------------------------------------- Schema Modifications: None -------------------------------------------------------------------------------- Load Program Modifications: Modified LoadCorp.java, LoadOrds.java, LoadMfg.java, and LoadSupp.java to change batchsize to 10 to work around a Sybase JDBC driver limitation. Modified source included in the full disclosure archive. -------------------------------------------------------------------------------- Reference Bean Modifications: No changes were made to beans reference implementations. -------------------------------------------------------------------------------- Benchmark Configuration Information -------------------------------------------------------------------------------- Persistence Mode Used: CMP mode of persistence was used for all beans. -------------------------------------------------------------------------------- Isolation Requirement Info: The SPECjAppServer entity beans were deployed using the following logical isolation levels (using the EAServer 'cmp_iso_level' configuration property). In all cases, if a transaction is rolled back due to deadlock (when using pessimistic locking), or rolled back due to changes that are detected by the optimistic concurrency control mechanisms, the transaction is automatically retried. Some entities used Commit Option B, some used Commit Option C. In all cases, ejbLoad is called on each entity instance before it is used in any transaction. In some cases, ejbLoad may obtain data from an in-memory cache instead of the DBMS, as explained in detail below. repeatable_read, using selectWithLock (shared lock at select time) Using Sybase ASE "select ... holdlock". Mfg: WorkOrderEnt Supplier: SComponentEnt repeatable_read, using selectForUpdate (exclusive lock at select time) Using "no-change-update before select" - Sybase ASE does not support select ... for update" directly. Util: SequenceEnt Mfg: InventoryEnt repeatable_read, using row-level timestamp Each table has an additional 'ts' (database-level timestamp) property which is loaded at select time. When the entity is updated, deleted or verified (at commit time if unchanged by the transaction), the current timestamp value in the DBMS is checked against the original loaded timestamp. If there is a mismatch (or if the row has already been deleted), the transaction is rolled back. Order: OrderEnt, OrderLineEnt Supplier: POEnt, POLineEnt read_committed, with no locks, no commit-time verification Mfg: LargeOrderEnt read_committed_with_cache, using row-level timestamp Like read_commited, using row-level timestamp. However, the row data may sometimes be loaded from an in-memory cache in the application server instead of a SQL select. The update, delete or commit-time verify steps all ensure that the transaction is rolled back if it used stale cache data. Corp: CustomerEnt Orders: OrderCustomerEnt repeatable_read_with_cache, using table-level timestamp and query cache with verify ejbLoad and finder methods are satisfied from in-memory cache (if possible). A separate timestamp table (ref_ts) contains a single timestamp value that is updated any time there is an insert, delete or update on any of the referenced tables. The timestamp is updated using database triggers, which are automatically created by the CMP runtime. A commit-time verify step ensures that no changes (insert, delete or update) have occurred to any of the referenced tables during the transaction. If any changes occur in any of the referenced tables, the transaction is rolled back. Corp: DiscountEnt, RuleEnt Mfg: AssemblyEnt, BomEnt, ComponentEnt, PartEnt Orders: ItemEnt Supplier: SupplierEnt, SupplierCompEnt -------------------------------------------------------------------------------- Durability Requirement Info: Hardware RAID Level 1 disk mirroring is used to ensure durability of the disk used for database logs. -------------------------------------------------------------------------------- Storage Requirement Info: A 45 minute run at injection rate 117 increased storage by 81MB. Given a linear growth during an 8 hour run the growth would be 864MB. The database data device size is 16GB and log device size is 1.6GB. Both are sufficient size for running benchmark for 8 hours. Further details in schema/database.stats of the full disclosure archive. -------------------------------------------------------------------------------- Argument Passing Semantics: Pass-by-Value -------------------------------------------------------------------------------- Other Benchmark Information -------------------------------------------------------------------------------- xerces.jar: The same jar as included with SPECjAppServer2001 kit. This jar was copied to $JAGUAR/java/lib for automatic loading when the EAServer starts. Network Routing: No hardware or software was used for network routing as we used point to point connections between the hosts. -------------------------------------------------------------------------------- General Notes -------------------------------------------------------------------------------- No errors were reported during the final or reproducibility run. -------------------------------------------------------------------------------- For questions about this result, please contact the submitter: Sybase, Inc. (http://www.sybase.com) For other inquiries, please contact SPEC Benchmark run on Thu Nov 07 11:34:43 PST 2002 by SPECjAppServer2001 v1.12 Result submitted on Thu Nov 14 03:03:03 EST 2002 Report generated by SPECjAppServer2001 Reporter v1.09 Copyright (C) 2002 Standard Performance Evaluation Corporation