Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.7.5 Clustered topology tuning<br />
One reason for deploying a clustered topology is to add more resources to system<br />
components that are bottlenecked as a result of increasing load. Ideally, you can scale up a<br />
topology incrementally to match the required load. The Business Process Manager Network<br />
Deployment (ND) infrastructure provides this capability. However, effective scaling still<br />
requires standard performance monitoring and bottleneck analysis techniques.<br />
The following list details several considerations and tuning guidelines for configuring a<br />
clustered topology. In the description, the assumption is that additional cluster members also<br />
imply additional server hardware.<br />
►<br />
►<br />
►<br />
4.7.6 Web services tuning<br />
If deploying more than one cluster member (JVM) on a single physical system, monitoring<br />
the resource use (processor cores, disk, network, and other components) of the system as<br />
a whole is important. Also monitor the resources that are used by each cluster member.<br />
With monitoring, you can detect a system bottleneck because of a particular cluster<br />
member.<br />
If all App Target members of a cluster are bottlenecked, you can scale by adding one or<br />
more App Target members to the cluster, backed by appropriate physical hardware.<br />
If a single server or cluster member is the bottleneck, consider additional factors:<br />
– A messaging engine in a cluster with a “One of N” policy (to preserve event ordering)<br />
might become the bottleneck. The following scaling options are available to correct<br />
this issue:<br />
• Host the active cluster member on a more powerful hardware server or remove<br />
extraneous load from the existing server.<br />
• If the messaging engine cluster services multiple buses, and messaging traffic is<br />
spread across these buses, consider employing a separate messaging engine<br />
cluster per bus.<br />
• If a particular bus is a bottleneck, consider whether destinations on that bus can<br />
tolerate out-of-order events. In this case, the cluster policy can be changed to allow<br />
workload balancing with partitioned destinations. Partitioning a bus also includes<br />
considerations for balancing work across the messaging engine cluster members.<br />
– A database server might become the bottleneck. Consider the following approaches to<br />
correct this issue:<br />
• If the database server is hosting multiple databases that are active (for example,<br />
BPMDB, CMNDB, PDWDB, BPEDB), consider hosting each database on a<br />
separate server.<br />
• If a single database is driving load, consider a more powerful database server.<br />
• Beyond these items, you can use database partitioning and clustering capabilities.<br />
If the target of the web services import binding is hosted locally in the same application<br />
server, you can further improve the performance by taking advantage of the optimized<br />
communication path that is provided by the web container. Normally, requests from the web<br />
services clients are sent through the network connection between the client and the service<br />
provider. For local web services calls, however, WebSphere Application Server offers a direct<br />
communication channel, bypassing the network layer completely.<br />
70 <strong>IBM</strong> Business Process Manager V8.0 Performance Tuning and Best Practices