“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..)
Java virtual machines operates using its heap memory. The more the users the more the requirement of the heap.
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.