InfoCenter Home >
7: Multimachine management >
7.1: Using WebSphere Application Server in a multimachine environment >
7.1.3: Multimachine topologies >
7.1.3.3: Vertical scaling sample topology

7.1.3.3: Vertical scaling sample topology

Overview

Vertical scaling refers to setting up multiple application servers, typically by using clones, on a machine.

In this simple example, vertical scaling is done by creating multiple clones of an application server on Machine A. Although this example shows vertical scaling on a single machine, you can implement vertical scaling on more than one machine in a configuration.  (The Advanced Edition application server run time must be installed on each machine.) Combine vertical scaling with the other topologies described in this section to boost performance and throughput.

Typical use

Vertical scaling offers the following advantages:

  • More efficient use of the machine's processing power. An instance of an application server runs in a single Java Virtual Machine (JVM) process.  However, the inherent concurrency limitations of a JVM process prevents it from fully utilizing the processing power of a machine. Creating additional JVM processes provides multiple thread pools, each corresponding to the JVM associated with each application server process. This avoids concurrency limitations and enables the machine's processing power to be fully used. 

    Vertical scaling provides a straightforward mechanism for creating multiple instances of an application server, and hence multiple JVM processes.  This enables the application server to make the best possible use of the processing power of the host machine.

  • Load balancing.  Vertical scaling topologies can make use of the WebSphere Application Server workload management facility.
  • Process failover.  A vertical scaling topology also provides failover support among application server clones. If one application server instance goes offline, the other instances on the machine continue to process client requests.

Single machine vertical scaling topologies have the drawback of introducing the host machine as a single point of failure in the system.  However, this can be avoided by using vertical scaling on multiple machines.

Instructions

To set up a vertical scaling topology, use the administrative client to configure a set of application server clones that reside on the same machine. See Article 7.2, Managing workloads, for more information on cloning an application server. To set up vertical scaling, you need only perform the tasks pertaining to local clones.

It is recommended that you plan vertical scaling configurations ahead of time. However, since they do not require any special installation steps, you can always implement them later on an as-needed basis.

When you are deciding how many clones to create on a machine, you need to take several factors into account:

  • The version of the Java development software. Version 1.2 and above of the IBM Java 2 Software Development Kit (SDK) handles parallel JVM processes better than earlier versions.
  • How the application is designed.  Applications that make use of more components require more memory, limiting the number of clones that can be run on a machine.
  • The hardware environment. Vertical scaling is best done on machines with plenty of memory and processing power.  However, eventually the overhead of running more clones cancels out the benefits of adding them.

The best way to ensure good performance in a vertical scaling configuration is to tune a single instance of an application server for throughput and performance, then incrementally add clones.  Test performance and throughput as each clone is added. Always monitor memory use when you are configuring a vertical scaling topology and do not exceed the available physical memory on a machine.

Go to previous article: Multi-tiered system sample topology Go to next article: Horizontal scaling with clones sample topology

 

 
Go to previous article: Multi-tiered system sample topology Go to next article: Horizontal scaling with clones sample topology