WAS v8.5 > Tune performance > Tune Service integration > Tune messaging engine data storesControlling the memory buffers used by a messaging engine
Every messaging engine manages two memory buffers containing messages and message-related data. We can improve the interaction of a messaging engine with its data store by tuning the properties that set the sizes of the two buffers.
We can set the following properties to improve the interaction of a messaging engine with its data store:
- sib.msgstore.discardableDataBufferSize
- The size in bytes of the data buffer the messaging engine uses to contain data for which the quality of service attribute is best effort nonpersistent. Default is 320000, which is approximately 320 kilobytes.
- The discardable data buffer contains all data for which the quality of service attribute is best effort nonpersistent. That data comprises both data that is involved in active transactions, and any other best effort nonpersistent data the messaging engine has neither discarded nor consumed. The messaging engine holds this data entirely within this memory buffer and never writes the data to the data store. When the messaging engine adds data to the discardable data buffer, for example when the messaging engine receives a best effort nonpersistent message from a client, the messaging engine might discard data already in the buffer to make space. The messaging engine can discard only data not involved in active transactions. This behavior enables the messaging engine to discard best effort nonpersistent messages.
- Increasing the size of the discardable data buffer allows more best effort nonpersistent data to be handled before the messaging engine begins to discard messages.
- sib.msgstore.cachedDataBufferSize
- The size in bytes of the data buffer the messaging engine uses to contain data for which the quality of service attribute is better than best effort nonpersistent and that is held in the data store. Default is 320000, which is approximately 320 kilobytes.
- The purpose of the cached data buffer is to optimize the performance of the messaging engine by caching in memory the data the messaging engine might otherwise have to read from the data store. As it writes data to the data store and reads from the data store, the messaging engine attempts to add that data to the cached data buffer. The messaging engine might discard data already in the buffer to make space.
- sib.msgstore.transactionSendLimit
- Maximum number of operations the messaging engine includes in each transaction. For example, each JMS send or receive is an operation that counts towards the transaction send limit. The default value is 100.
The messaging engine uses approximate calculations to manage the data it holds in the memory buffers. Neither of the DataBufferSize properties gives an accurate indication of the amount of memory the messaging engine consumes in the JVM heap. The messaging engine can consume considerably more heap storage than the DataBufferSize properties indicate.
To set the properties of a messaging engine to improve its interaction with its data store, use the dmgr console to complete the following steps:
- In the navigation pane, click Service integration -> Buses -> bus_name -> [Topology] Messaging engines -> engine_name -> [Additional Properties] Custom properties.
- Type the name of the property to set.
- Type the value to set for that property.
- Click OK.
- Save your changes to the master configuration.
Remember: When you change any of these properties, the new values do not take effect until you restart the messaging engine.
Related
Set tuning properties of a messaging engine
Tune the JDBC data source of a messaging engine
Set tuning properties by editing the sib.properties file
Reference:
Service integration custom properties
Related information:
Custom properties [Collection]
Custom properties [Settings]