+

Search Tips   |   Advanced Search

Core group scaling considerations

The amount of system resources, such as CPU and memory, that the high availability manager consumes does not increase linearly as the size of a core group increases. For example, the View Synchrony Protocol that the high availability manager uses requires a large amount of these resources to maintain a tight coupling over the core group members. Therefore, the amount of resources that a large core group consumes might become significant. View Synchrony Protocol resource requirements can vary considerably for different core groups of the same size. The amount of resources that the View Synchrony Protocol uses for a core group is determined by:

When setting up core group scalability, ensure that:

Consider implementing one or more of the following scalability techniques to scale the high availability manager in large cells, even if the system is operating properly. The two most basic techniques are:


Adjusting the size of a core group

Core group size directly effects three aspects of high availability manager processing that impact resource usage:


Distributing processes among multiple core groups

Use two basic techniques to minimize the amount of resources that the view synchrony and related protocols consume:

The key to limiting the high availability manager CPU usage is to limit the size of the core group. Multiple small core groups are much better than one large core group. If we have large cells, create multiple core groups.

The hardware on which we are running the product is also a factor in determining the core group size that is appropriate for the environment.

Split large core groups into multiple, smaller core groups. If the resulting core groups need to share routing information, we can use core group bridges to bridge the core groups together.


Core group sizes

We can reasonably determine core group sizes provided you initially perform the following tuning activities:

Provided that WAS network deployment is deployed on relatively modern hardware, CPU and memory are not constrained, applications are well behaved, the network is stable and factors affecting core group stability are addressed, such as network and memory issues, the following core group sizes can be considered.


Adjusting individual core groups based on the application mix and services used

We might need to further adjust Individual core groups based on the application mix and the high availability services that the core group members use.


Adjusting ephemeral port ranges

The number of sockets that a core group uses is usually not a major concern. Each core group member must establish a connection with every other member of that core group. Therefore, the number of connections grows exponentially (n-squared) because each connection requires two sockets, one on each end of the connection. Because multiple machines are typically involved, normally we do not have to be concerned about the number of sockets that a core group uses. However, if we have an abnormally large number of core group members running on a single machine, we might have to adjust the operating system parameters that are related to ephemeral port ranges. Most operating systems have different default behavior for ephemeral port ranges.

Avoid using ports in the ephemeral port range. Although this is not an incorrect configuration, if we define ports in this range, we can encounter unpredictable behavior with member to member communication within the coregroup.bprac


Related:

  • Core group View Synchrony Protocol
  • Core group discovery and failure detection protocols
  • Core group coordinator
  • Change the number of core group coordinators
  • Configure core group preferred coordinators
  • Create a new core group (high availability domain)
  • Disable or enable a high availability manager
  • Configure the default Discovery Protocol for a core group
  • Configure the default Failure Detection Protocol for a core group
  • When to use a high availability manager
  • Move core group members