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
Note:

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

The following values show the software versions that were used for both the data-load and multi-user benchmark-test environments:
  • 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.

Database server

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*
  • Default thread pool (For Single-User Manual Test Environment Only):
    • Minimum size: 20
    • Maximum size: 50
    • Thread inactivity timeout: 30000
  • WebContainer thread pool - for single-user manual test environment only:
    • Minimum size: 120
    • Maximum size: 120
    • Thread inactivity timeout: 60000
  • Data source custom properties:
    • webSphereDefaultIsolationLevel: 2
    • jdbcCollection: NULLIDR1
Operating system

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
TRIRIGA platform

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
Note: Versions 11.6 and 5.0

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