Data store performance
The performance of a data store, chosen as the message store for a messaging engine, can be affected by several factors such as providing the Java data base connectivity (JDBC) data source with sufficient connections. Use this information to help configure an optimal environment for a data store.
The workload that the messaging engine imposes on the relational database management system (RDBMS) is slightly different from usual database workloads, because the messaging engine performs mainly SQL INSERT and DELETE operations. Take this workload into consideration when using the tuning guidelines supplied by your RDBMS provider. The following information might also assist the database administrator.
Each messaging engine can request a large number of concurrent connections to the database. By design, a messaging engine uses many threads to perform database updates concurrently. Consider configuring the connection pool for the JDBC data source used by the data store with sufficient connections to cope with peak workloads. Your database administrator might have to change the database configuration to support this number of concurrent connections from the application server.
The performance of the data store influences messaging throughput to a significant extent. Throughput is usually limited by the write latency of the database log. Consider placing the database log on a fast, dedicated device configured for optimal write performance. Ideally, use a storage controller with a battery-backed memory cache so that the effects of disk rotation speed and seek latencies are not evident. For all except entry-level systems, use a RAID controller.
DB2 tip: To get the best performance from messages in the 3 KB to 20 KB range, we should consider putting the SIBnnn tables into a tablespace with 32 KB pages and adjusting the column width of the VARCHAR column to 32032 bytes.
Tune the JDBC data source of a messaging engine Tune messaging engine data stores