Ramp and Ramp down can greatly affect the "availability" aspect of the web and application servers.
*To be precise: RAMP up and RAMP down can affect your CPU utilization,Memory utilization and Response time.*
I will give you a very generic example. A server basically has a pool of worker threads created at start of the application. The pool size is generally specified by the server administrators. Assume server threadpool = 300, but this doesn't mean that 300 threads will be created during boot up, rather a minimum of 10(depending on MIN value set by the admin, it could be 20,30 ...) would be spawned during startup. Say each thread has a spawn creation time of 1 second and you ramp up 40 vusers in a second, now, since only 10 threads are readily available -- 30 more will have to be created(spawned) in order to server the rest of the threads. if 1 spawn activity takes 1 second -- creating of 30 worker threads would take 30 seconds(due to queuing). This is how your transaction response time gets affected. Also, if parallel creation of thread is enabled, then multiple
threads can be created simultaneously which can consume CPU and Memory resource heavily. You may see a huge spike in the graph.
Worst case, if resources are not available you may see threads being killed or timed out depending on the server configuration.
Hence, i always recommend you to ask your client to provide you the real world usage pattern report. Some clients may have applications which have huge user ramp up at specific time of the day (example:9:00am in the morning), probably around 30-40 users logging into the application in a couple of seconds. In such cases the server needs to tuned accordingly to
such extreme cases. If you complacently set ramp up as 2-3 seconds per user then the web/app servers will be unprepared to face the real world condition.
Thanks,
Asif
On Tuesday, 26 August 2014 13:57:07 UTC+5:30, karz wrote: