Internal lease benchmarks
Lease Management and Lease Accounting performance testing used a database that was loaded with approximately 17,000 lease abstracts and 24,000 leases with other large amounts of portfolio data to represent a large customer deployment of the lease application. The performance test indexes were applied to the data-load and benchmark-test environments to improve overall throughput and response times as a result of this project.
Performance environment
The performance environment consists of three hardware components based on the Advanced system configuration example in Tuning system architecture and hardware. The performance benchmark test was conducted by using a specific configuration of this environment:
- Application servers
- The application servers run most of the business logic. Application server processes are CPU-intensive and require sufficient RAM. The application tier consists of JavaServer Pages (JSP) and Java™ classes. The Java Platform, Enterprise Edition application servers provide a JSP container, a database connection pool, and transaction management services. Application servers are the physical manifestation of the application, or middleware, tier.
- Process servers
- The process servers are configured similarly to the application servers, but users do not log on to these servers. Process servers handle the asynchronous workflow requests that are queued from users or by the IBM® TRIRIGA® software. Process servers are the physical manifestation of the application tier.
- Database server
- The database server runs the database processes. The application tier communicates with the database tier by using JDBC connection pools. Database servers are the physical manifestation of the database tier.
Data load hardware environment
The following values describe the data load hardware environment. With this configuration, the resource use bottlenecks were eliminated to load lease batches of at least 1000 leases at a time.
- Database server:
- Number of vCPUs: 64 virtual CPUs
- CPU: Intel® Xeon® CPU E5-2686 v4 @ 2.3 GHz
- Storage: Storage Area network (SAN) attached
- Memory: 488 GB
- Network Interface Card (NIC): 1 GBit/sec
- Operating System (OS): CentOS Linux® 7.4, 64-bit
- Database: Db2 Enterprise Database Server 11.1.2.2, 64-bit
- Application Server virtual machine 1 of 1:
- Number of vCPUs: 4 virtual CPUs
- CPU: Intel® Xeon® CPU E5-2686 v4 @ 2.3 GHz
- Memory: 32 GB
- OS: CentOS Linux 7.4, 64-bit
- Application Server: WebSphere® Liberty Profile (TRIRIGA embedded)
- Java Version: Oracle Java 1.8.0_162
- Java virtual machine (JVM) Heap Size: 4096 MB
- Number of JVMs: 1
- Usage: Front-end access only
- Process Server virtual machine 1 of 3:
- Number of vCPUs: 36 virtual CPUs
- CPU: Intel® Xeon® Platinum 8124M CPU @ 3.0 GHz
- Memory: 72 GB
- OS: CentOS Linux 7.4, 64-bit
- Application Server: WebSphere Liberty Profile (TRIRIGA embedded)
- Java Version: Oracle Java 1.8.0_162
- JVM Heap Size: 6144 MB
- Number of JVMs: 1
- Usage: Non-PM data loads restricted to single user
- Process Server virtual machine 2 of 3:
- Number of vCPUs: 72 virtual CPUs
- CPU: Intel® Xeon® Platinum 8124M CPU @ 3.0 GHz
- Memory: 144 GB
- OS: CentOS Linux 7.4, 64-bit
- Application Server: WebSphere Liberty Profile (TRIRIGA embedded)
- Java Version: Oracle Java 1.8.0_162
- JVM Heap Size: 6144 MB
- Number of JVMs: 1
- Usage: Lease data loader restricted to data-load user and SCHEVENT user
- Process Server virtual machine 3 of 3:
- Number of vCPUs: 72 virtual CPUs
- CPU: Intel® Xeon® Platinum 8124M CPU @ 3.0 GHz
- Memory: 144 GB
- OS: CentOS Linux 7.4, 64-bit
- Application Server: WebSphere Liberty Profile (TRIRIGA embedded)
- Java Version: Oracle Java 1.8.0_162
- JVM Heap Size: 6144 MB
- Number of JVMs: 1
- Usage: System workflow processing restricted to system user
Multi-user benchmark test environment
The following values describe the multi-user benchmark-test hardware environment.
- Database Server:
- Number of vCPUs: 64 virtual CPUs
- CPU: Intel® Xeon® CPU E5-2686 v4 @ 2.3 GHz
- Storage: SAN attached
- Memory: 488 GB
- NIC: 1 GBit/sec
- OS: CentOS Linux 7.4, 64-bit
- Database: Db2 Enterprise Database Server 11.1.2.2, 64-bit
- Application Servers (VMs):
- Number of vCPUs: 16 virtual CPUs
- CPU: Intel® Xeon® Platinum 8124M CPU @ 3.0 GHz
- Memory: 32 GB
- OS: CentOS Linux 7.4, 64-bit
- Application Server: WebSphere Application Server 8.5.5.12
- Java Version: IBM Java 1.8.0 SR4 FP5, 64-bit
- JVM Heap Size: 4096 MB
- Number of VMs: 2
- JVMs per VM: 1
- Process and BIRT/Integration Servers (VMs):
- Number of vCPUs: 36 virtual CPUs
- CPU: Intel® Xeon® CPU E5-2686 v4 @ 2.3 GHz
- Memory: 72 GB
- OS: CentOS Linux 7.4, 64-bit
- Application Server: WebSphere Application Server 8.5.5.12
- Java Version: IBM Java 1.8.0 SR4 FP5, 64-bit
- JVM Heap Size: 6144 MB
- Number of VMs: 2
- JVMs per VM: 1
Although other values apply to older software versions, the following values describe the multi-user benchmark-test environment for IBM TRIRIGA 11.6 and IBM TRIRIGA Application Platform 5.0.
- Database Server:
- Number of vCPUs: 64 virtual CPUs
- CPU: Intel® Xeon® Platinum 8259CL CPU @ 2.5 GHz
- Storage: SAN attached
- Memory: 498 GB
- NIC: 1 GBit/sec
- OS: Red Hat® Enterprise Linux 9.4
- Database: Db2 Enterprise Database Server 11.5.8.0
- Application Server (VM 1 of 1):
- Number of vCPUs: 16 virtual CPUs
- CPU: Intel® Xeon® Platinum 8124M CPU @ 3.0 GHz
- Memory: 32 GB
- OS: Red Hat Enterprise Linux 9.3
- Application Server: WebSphere Application Server Liberty (IBM TRIRIGA embedded)
- Java Version: Oracle Java 17
- JVM Heap Size: 4096 MB
- Number of VMs: 1
- JVMs per VM: 1
- Process Server (VM 1 of 1):
- Number of vCPUs: 16 virtual CPUs
- CPU: Intel® Xeon® Platinum 8124M CPU @ 3.0 GHz
- Memory: 32 GB
- OS: Red Hat Enterprise Linux 9.3
- Application Server: WebSphere Application Server Liberty (IBM TRIRIGA embedded)
- Java version: Oracle Java 17
- JVM Heap Size: 6144 MB
- Number of VMs: 1
- JVMs per VM: 1
Software environment
- IBM TRIRIGA 10.5.3.2
- IBM TRIRIGA Application Platform 3.5.3.4
Key configurations
TRIRIGA uses standard settings and settings from the performance best practices.
The following settings and values identify the key tuning and configuration for the performance test environments.
The settings with asterisks (*) were modified from best practices to achieve a balance between response times and resource utilization.
For more information, see section IBM Db2 Database Server Tuning.
- Registry settings:
DB2_COMPATIBILITY_VECTOR: ORA
DB2_DEFERRED_PREPARE_SEMANTICS: YES
DB2_ATS_ENABLE: YES
DB2_USE_ALTERNATE_PAGE_CLEANING: ON
- Database Manager (DBM) configuration:
RQRIOBLK: 65535
AGENT_STACK_SZ: 1024
- Database (DB) configuration:
STMT_CONC: OFF
LOCKTIMEOUT: 30
LOGPRIMARY: 64
*LOGFILSIZ: 65535
*LOGSECOND: 48
*LOGBUFSZ: 8192
CATALOGCACHE_SZ: 2048
STRING_UNITS: CODEUNITS32
- Other settings:
db2 bind '<db2home>/bnd/db2clipk.bnd' collection NULLIDR1: REOPT(ONCE)
- Bufferpool Size:
AUTOMATIC
- DB connection pool:
- Minimum connections:
10
- Maximum connections:
100
*
- Minimum connections:
- Default thread pool (For Single-User Manual Test Environment Only):
- Minimum size:
20
- Maximum size:
50
- Thread inactivity timeout:
30000
- Minimum size:
- WebContainer thread pool - for single-user manual test environment only:
- Minimum size:
120
- Maximum size:
120
- Thread inactivity timeout:
60000
- Minimum size:
- Data source custom properties:
webSphereDefaultIsolationLevel: 2
jdbcCollection: NULLIDR1
For more information, see Tuning the operating system.
The following changes were applied to the application and process servers involved in the test:
net.ipv4.ip_local_port_range = 32768 61000
The following ulimit
changes were applied to all servers involved in the
test:
Max user processes 8192
Open files 131072
For more information on tuning and configuring the TRIRIGAWEB.properties
file,
see System properties.
Data-load environment:
- Application servers:
WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
- Lease load process servers:
WFAgentMaxThreads: 64
*WF_AGENT_MAX_ACTIVE_PER_USER: 64
*WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
- Data process server:
WFAgentMaxThreads: 32
*WF_AGENT_MAX_ACTIVE_PER_USER: 32
*WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
Multi-user benchmark test environment:
- Application servers:
WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
- Workflow process servers:
WFAgentMaxThreads: 64
*WF_AGENT_MAX_ACTIVE_PER_USER: 16
*WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
- BIRT and additional-agents process server:
WFAgentMaxThreads: 64
*WF_AGENT_MAX_ACTIVE_PER_USER: 16
*WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
Although other values apply to older software versions, the following values describe the multi-user benchmark-test environment for IBM TRIRIGA 11.6 and IBM TRIRIGA Application Platform 5.0.
For multi-user benchmark test environment:
- Application servers:
WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
- Workflow process servers:
WFAgentMaxThreads: 80
*WF_AGENT_MAX_ACTIVE_PER_USER: 70
*WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35
- BIRT and additional-agents process server:
WFAgentMaxThreads: 80
*WF_AGENT_MAX_ACTIVE_PER_USER: 70
*WF_INSTANCE_SAVE: ERRORS_ONLY
BIRT_MEMORY_USAGE_LIMIT: 35