2.9. Optimizing Memory Usage in the Broker
Optimize message paging
By setting the page size attributes on the
policyEntry
element, you can tune the message paging to match the amount of memory available in the broker. For example, if there is very large queue and lots of destination memory, increasing the maxBrowsePage
attribute would allow more of those messages to be visible when browsing a queue.
Destination policies to control paging
The following destination policies control message paging (the number of messages that are pulled into memory from the message store, each time the memory is emptied):
maxPageSize
- The maximum number of messages paged into memory for sending to a destination.
maxBrowsePageSize
- The maximum number of messages paged into memory for browsing a queue .NoteThe number of messages paged in for browsing cannot exceed the destination's
memoryLimit
setting. maxExpirePageSize
- The maximum number of messages paged into memory to check for expired messages.
Automatic adjustment of store usage limit
If the broker is started and the amount of available space is less than the
storeUsage
limit, the runtime store usage limit is reset automatically and the broker starts. If the available disk space is very small, however, this can lead to a broker starting that cannot process messages. To avoid this happening, you can set the adjustUsageLimits
attribute to false
on the broker
element, which ensures that the broker does not start if the available disk space is less than the storeUsage
limit.
For example, you can set the
adjustUsageLimits
attribute as follows:
<broker adjustUsageLimits="false" ...> ... </broker>