Co-locating multiple instances of WebSphere on scalable Sun servers

Sun has been designing and selling highly scalable servers for about two decades. It is interesting to see the progress of system architectures from large scale SMP boxes to CMT (server on a chip). Processor architectures certainly play a crucial role in making the progress. At the same time, software capabilities have to be increased with more inherent multi-threading to be able to leverage the scalability of these servers. Take a look at JVM performance improvements from version to version such as from JDK 5 to JDK 6. For a typical application server deployment, a single instance of JVM is not enough to drive a system to its full capacity. Multiple JVM instances are needed for higher system utilization (e.g. to make use of all available CPU's and memory).

Using the SPECjAppServer 2004 benchmark to test the IBM WebSphere Application Server (WAS) v6.1 and v7.0, we learned the following number of WAS instances needed to drive certain Sun servers to their full utilization (Note: I will use "processors" as "logical processors" herein that is reported by the psrinfo command on Solaris):

  • On a T2000 (1 CPU, 8 Cores/4 Threads (32 processors)), 1 WAS instance
  • On a T5120/T5220 (1 CPU, 8 Cores/8 Threads (64 processors)), 2 WAS intances
  • On a T5140/T5240 (2 CPU's, 8 Cores/8 Threads (128 processors)), 4 WAS instances
  • On a T5440 (4 CPU's, 8 Cores/8 Threads (256 processors)), 7 WAS instances.
These are just some examples on CMT servers and SPECjAppServer benchmark based results. We are aware that different applications have different workload demands and even the same application may have different resource requirements due to various stages in its lifecycle (i.e. Dev, Test/QA, Production). But, what I describe here can certainly be used as a guideline for doing things like capacity planning, etc.

We have real life experiences with our top Fortune 500 customers who have CMT servers as well as Sun Fire 6900, 25K, and SPARC Enterprise M5000-M9000 servers where hundreds of JVM's are being deployed. Many of our customers use these large systems for consolidating many smaller servers into just a couple or so to be more manageable in their data centers. A key difference with these larger enterprise class systems from rack mountable servers is vertical scaling -- they can have memory capacity as much as 4TB (i.e. M9000) and 64 quad-core CPU's. Yes, that's 4 Tera Bytes and 512 processors (64\*4\*2)! The challenge for us is to help enable our customers to be able to leverage such physical resources knowing many of these hardware capacity far exceeds software capabilities. Thus, we need to deploy many instances of the software to increase the system utilization level.

I shall point out the key things to be considered to achieve a reliable and scalable system environment for co-locating multiple WebSphere instances on scalable Sun servers:

You should also make sure other things like proper WAS Thread Pool Settings collectively. If you take the inventory of all configuration settings and tuning parameters of the co-existing software and provide adequate settings not exceeding the physical capacity, your systems will be more reliable and scalable. We have documented most of these best practices in our Redbook.

Comments:

Post a Comment:
Comments are closed for this entry.
About

Mostly pertaining to Cloud Computing, Application Infrastructure, Oracle Exastack, Exalogic, Solaris, Java and Sun servers for the enterprise!

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today