9.2.2 Transport buffer

The underlying message transport of HAManager is a reliable publish/subscribe messaging service, known as Distribution and Consistency Services (DCS). A buffer is created to hold unprocessed incoming messages and outgoing messages that have not been acknowledged.

The default memory size is 10MB with the rationale to reduce memory footprint. As the buffer is shared with DRS for HTTP session replication and stateful session bean state replication, you may wish to increase the buffer size if your WebSphere environment has high replication demands. When an appserver is running low on the transport buffer, a HMGR0503I message is displayed in the SystemOut.log of the JVM logs. This is not an error message. It is simply an informational message that indicates a congestion event has occurred in the transport buffer. The messages that are not sent during the congestion are retried later or they will be sent as a batch to make use of the transport buffer more efficiently.

Congestion should normally only occur when doing a lot of session replication or when a large core group is started by simultaneously starting all members. Congestion can be reduced by tuning the buffer size.

The ideal setting is very dependant on load but during some internal benchmarks, we used buffer sizes of 80MB for a cluster that was processing 20,000 HTTP requests per second and each request resulted in 10k of session state to replicate. This is an extreme that very few customers would see in practice but gives an idea of the scale of things.

Important: The replication function was heavily tuned for the 6.0.2 release of WebSphere and we recommend at least that level to customers with heavy HTTP session replication needs.

Example 9-4 Informational message when the transport buffer is running low

HMGR0503I: The message path of the internal data stack named <data stack name> is highly congested. 

To change the transport buffer size, open the WAS console and click Servers -> Application server -> <AppServer_Name> -> Core group service (under Additional Properties). See Figure 9-3 for the configuration panel.

Figure 9-3 Change the transport buffer size of an appserver

Important: This setting is per appserver. We need to perform this change for all the appservers in the core group.


Next