Can it cope ? …Adding additional load to WebSphere

“just some thoughts and notes ….”

Additional load can have the effect at following places :

  • – Response times
  • – Availability
  • – JVM resources
  • – System Resources

Response time is how much it would take our application to serve user request. This is effected by no of users. If we are increasing no of users on the existing infrastructure, it might slow down the response as the existing resources needs to be adjusted to server all requests.

Availability can be defined as how much time application is available at its permissible performance level. more no of users can effect availability in terms of performance as well as unavailability as a system (downtimes, crash, restarts etc..)

JVM resources

Java virtual machines operates using its heap memory. The more the users the more the requirement of the heap.

System Resources

Memory and CPU are important for performance of the JVM. JVM’s operation is very dependent on Memory as the JVM heap will be allocated from this Memory. If there is not enough memory available on the Host, we cannot increase the JVM size.
If there is not enough memory in JVM , then it will lead to ‘out of memory’ expectations which leads to downtime.
Application needs CPU for processing. If there are more requests than the CPU can handle, then we see a CPU starvation which leads to requests waiting for CPU and going hung state which leads to downtime.

  • • It is always good to know, for many users the present system is forecasted/designed when it went live.
  • • How many users do we serve now.
  • • What is the present acceptable response time of the application.
  • • Are the any recent unplanned downtimes which are due to incidents. Are these related to any system or JVM resources
  • • Are the new users being added same as the existing ones or do they use a different functionality
  • • It is always not just the system resources that need to be increased to add more load to the application.
    • o Sometimes, a single JVM might give slow responses even if system resources are available. In this case, we might need to add additional JVM
    • o sometimes existing JVM size may not be enough. in this case we need to increase the JVM size which requires system memory.

Catch it before you get caught .. the art of monitoring : part-1 : Introduction

When you live in London, it’s a fact of life that you will be ‘caught on camera’ up to 100 times a day. Though most  of this ‘monitoring’ is for security purpose, London is indeed the capital of CCTV :-).
So when it comes to your production environments of websphere, what do you monitor and what will you catch for alerting?
This is just an introduction to what to expect in this series….
It is a fundamental understanding that WebSphere platform is based on Java standards and uses Java Virtual Machine is for its operation. Also WebSphere products will run on Operating systems such as Linux, Unix, Windows, Zo/s etc..  By reading the previous statement, you will get an idea that you should be monitoring ‘Operating System’, ‘Java’ and WebSphere related parameters and their working.
note: As usual all my articles are notes, not a full tutorial or documents. So my notes would give you an idea of what you need to do but not what you should do.

Difference between High Availability and Work Load management

Work Load management – How you distribute the load and manage it.
High Availability – How much time your solution/application is available.

Say you have an application. You define that this application must be available 364 days in a year. That is application’s availability. How do you achieve this? Create a failover system, backup plan, monitoring etc ..

Now you need the response time to be 1-2 seconds. This is not covered in above statement of availability. How do you achieve this then? you take multiple servers and distribute the incoming load among them to maintain the response time you need.

uptime vs Availability

Take an example of your laptop. When you open too many application it will be slow. Open few more applications .. what happens? It just hangs but still your laptop is ON. Do you consider it a workable environment ?

A system is running doesn’t mean it is meeting the defined responsetimes. When you have more users on the application .. you may see a very slow response or it might hung. So uptime and availability are not same.

So, How is availability defined?
The percentage of time, when a system will be able to fully meet the load demand. This means it is the amount of time when your application is meeting responsetimes specified.