Best Practices for System Performance

Based on customer feedback, the PDF format of the Best Practices for IBM TRIRIGA Application Platform 3.5.x System Performance is replaced with this more easily navigable wiki format. See the Table of contents below. Versions of this document written for earlier TRIRIGA releases are available on the Versions tab of this page.

Tip: To provide feedback on these best practices, add a comment to this page.

Best Practices for IBM TRIRIGA Application Platform 3.5.x System Performance

Use these System Performance best practices to improve the performance of applications based on the IBM® TRIRIGA® Application Platform 3.5.x. 

While these guidelines provide optimal performance in the lab test environment, your environment might require different settings. The settings in this wiki can be used as a guideline or as a starting point, and then monitored and tuned to your specific environment.

TRIRIGA has a long and successful history in the world marketplace. Over the years, TRIRIGA has incorporated many new features, grown in complexity, and integrated with other complex software systems. Small, medium, and large organizations implement TRIRIGA in increasingly complex ways. For many customers, TRIRIGA is now a global, enterprise-wide implementation that is in use by thousands of users.

The larger and more complex the deployment of TRIRIGA is, the more challenging it is for you to keep TRIRIGA performing well for your users. Because some of the greatest challenges are faced by those who deploy these products across large, global enterprises, this document has a special focus on improving performance in advanced enterprise configurations.

Note:  Deployments in virtualized environments such as VMware® might not see the same performance benefits from the recommendations made in these best practices. Using shared resources in virtualized environments is not recommended for optimal performance. Use dedicated CPU and memory resources instead. In addition, internal testing has shown that putting the TRIRIGA database in a virtualized environment such as VMWare can have significant performance impacts. These impacts increase rapidly with larger workloads. While some customers run their TRIRIGA database successfully in a virtual machine, IBM strongly recommends dedicated unvirtualized hardware for optimal performance. If you deploy TRIRIGA on VMware, see the following tuning guides available from VMware:

Table of contents

1    Introduction

1.1       IBM TRIRIGA Support for performance related concerns

1.2       IBM TRIRIGA version identification

1.3       IBM TRIRIGA product documentation

1.4       Best Practices as a cooperative effort

1.5       Quality Assurance and testing

1.6       Factors in system performance

1.7       Performance Testing and Tuning in Implementation Project Plans

1.8       IBM TRIRIGA infrastructure

2    Network considerations

2.1       Network Speed Throughput Test

2.2       Using Citrix or Windows Terminal Server

2.3       Using compression techniques to improve performance

2.3.1    HTTP compression

2.3.2    Hardware compression using network appliances

3    System architecture and hardware considerations

3.1       Scalability factors

3.2       Basic system configuration

3.3       Typical system configuration

3.4       Advanced system configuration

4    Operating system configuration

4.1       Server Configuration

4.1.1    Red Hat Linux configuration

4.1.2    Windows configuration

4.2       Client configuration

5    Database server tuning and maintenance

5.1       Oracle Database

5.1.1    Oracle Licensing considerations

5.1.2    Oracle RAC considerations

5.2       IBM DB2 Database

5.3       Microsoft SQL Server Database

5.3.1    Server and memory considerations

5.3.2    Snapshot isolation

5.3.3    Implicit conversions

5.3.4    Sparse columns          

5.4       General database tuning

5.4.1    Indexing

5.4.2    Custom performance tuning indexes

5.4.3    Tablespaces

5.4.4    Query tuning

5.4.5    Database server virtualization

5.5       Database maintenance

5.5.1    Database Statistics

5.5.2    Reorganizing tables and indexes

5.5.3    Multi-byte Character Set considerations

5.5.4    Archiving and deleting historical data

5.5.5    DB2 automatic buffer pool size / auto extends

5.5.6    DB2 Diagnostic Log

6    Application Server tuning

6.1       Generic recommendations

6.1.1    Initial / maximum heap size values

6.1.2    Connection pool

6.2       IBM WebSphere Application Server (Full Profile)

6.2.1    Generic JVM arguments

6.2.2    Thread pool tuning recommendations

6.2.3    DB2 JDBC data sources tuning recommendations

6.3       IBM HTTP Server tuning

6.4       Oracle WebLogic Server

6.5       HTTP compression

6.6       Load balancing

7    IBM TRIRIGA tuning

7.1       System properties


7.1.2    Agents

7.2       Reserve performance

7.3       Report performance

7.3.1    Home Page Portal sections

7.3.2    Query Sort Order

7.3.3    Query/Report optimization

7.3.4    Field and extended formulas

7.3.5    Advanced reporting (BIRT)

7.4       Workflow performance

7.5       Integration framework

7.5.1    Integration Workflow Processing and Performance

7.6       Performance Considerations when Building or Updating Applications

7.7       Graphics Section Performance

8    TRIRIGA Anywhere considerations

8.1       MobileFirst Server tuning

8.1.1    IBM WebSphere Application Server tuning

8.1.2    IBM HTTP Server tuning

8.2       TRIRIGA Application Server tuning

8.3       TRIRIGA Anywhere Work Task Management application settings

8.3.1    System properties

8.3.2    Security and Groups

8.4       Device considerations

9    Troubleshooting and monitoring performance

9.1     Troubleshooting performance problems

9.1.1  Setting up a standalone application server for debugging

9.1.2  WebSphere Performance Monitoring Infrastructure (PMI)

9.1.3  TRIRIGA Application Platform logging

9.1.4  Displaying garbage collection statistics on the server

9.1.5  Apply the latest patches

9.2     Performance problem determination

9.2.1  Problem determination techniques

App server memory footprint & diagnosing out of memory 

9.2.2  Problem determination tools

9.3     Monitoring the system

9.3.1  Monitoring tools

10    Information gathering for Support