Most large B2C enterprises perform, holiday readiness to make sure the site remains stable and can handle the holiday web traffic smoothly. As a part of the exercise multiple load test runs are performed and usually monitored in a performance environment with production data and any bottle necks and performance issues found during this are fixed.
Important Analysis pointers:
Java Garbage collection: If there are increases in response time in bursts. it can be attributed to Garbage collection.
The graphs for hits per second should follow a similar pattern to Throughput otherwise there is something in
Correlating failed transactions with errors.
Monitor CPU/IO/Memory during load tests: It is a good idea to run this every 30 seconds for the duration of the load tests. This is for App server and DB server.
vmstat - reports information about processes, memory, paging, block IO, traps, and cpu activity
iostat - Used for reporting CPU statistics and input/output statistics for devices, partitions and network filesystems (NFS)
Load Runner has 3 main components:
VU Gen (Virtual User Generator)
--Load generators are installed on multiple machines to spread the load for generating the traffic.
--Depending on the traffic required, this could change but usually 3-5
Load Runner Controller (Console)
--This is the main terminal that can be used to connect to consoles , Load scripts and run load runner tests.
Analysis
--This is used to view multiple charts and graphs for analysis data points from tests run.
Some Key Terminology when using Load Runner:
Virtual User & Distribution of virtual users: Virtual users are used to emulate the behavior of real users.
Transaction Mix: This is based on business scenarios. Usually this is divided among-st various scripts based on traffic patterns from web analytics (Omniture\Google\CoreMetrics, etc any of these)
Ramp up\Ram down: The load on the performance site is gradually increased and gradually decreased. Gradually increasing helps with cached pages for accurate test results.
Load is usually gradually increased and usually a 2-3 interval is provided to add virtual users.
Thinking Time: This is the time between 2 actions. In trying to emulate human behavior, it is the time, human takes to think between page clicks.
Total Duration of test = RampUp+Duration of load test+RampDown
Key Analysis parameters:
Response Time per Transaction: Time taken for the application to complete a transaction or a business scenario. This time includes Network Transmission+ Network Latency+Web Server processing time+App Server Processing time+ DB server Processing time.
This is very helpful parameter to determine during peak loads, who the system would really behave
Hits/Second: Number of requests hitting webs server per second. This is helpful in conjunction with transaction time to see, how the performance of the site behaves as the number of hits/sec increases.
Through Put: Is the amount of data in kilobytes received by a user per second
HTTP Response Counts: Most valid responses are 200, 303 (redirection) and It is a good idea to keep the tab on 403 (forbidden), 404 (page not found), 500 (Internal server error)
Error count: Keeps track of error counts, this is a good measure to make sure there are no application server errors, This is really helpful, if the correct build and database changes are not present in performance.
Important Analysis pointers:
Java Garbage collection: If there are increases in response time in bursts. it can be attributed to Garbage collection.
The graphs for hits per second should follow a similar pattern to Throughput otherwise there is something in
Correlating failed transactions with errors.
Monitor CPU/IO/Memory during load tests: It is a good idea to run this every 30 seconds for the duration of the load tests. This is for App server and DB server.
iostat - Used for reporting CPU statistics and input/output statistics for devices, partitions and network filesystems (NFS)
Load Runner has 3 main components:
VU Gen (Virtual User Generator)
--Load generators are installed on multiple machines to spread the load for generating the traffic.
--Depending on the traffic required, this could change but usually 3-5
Load Runner Controller (Console)
--This is the main terminal that can be used to connect to consoles , Load scripts and run load runner tests.
Analysis
--This is used to view multiple charts and graphs for analysis data points from tests run.
Some Key Terminology when using Load Runner:
Virtual User & Distribution of virtual users: Virtual users are used to emulate the behavior of real users.
Transaction Mix: This is based on business scenarios. Usually this is divided among-st various scripts based on traffic patterns from web analytics (Omniture\Google\CoreMetrics, etc any of these)
Ramp up\Ram down: The load on the performance site is gradually increased and gradually decreased. Gradually increasing helps with cached pages for accurate test results.
Load is usually gradually increased and usually a 2-3 interval is provided to add virtual users.
Thinking Time: This is the time between 2 actions. In trying to emulate human behavior, it is the time, human takes to think between page clicks.
Total Duration of test = RampUp+Duration of load test+RampDown
Key Analysis parameters:
Response Time per Transaction: Time taken for the application to complete a transaction or a business scenario. This time includes Network Transmission+ Network Latency+Web Server processing time+App Server Processing time+ DB server Processing time.
This is very helpful parameter to determine during peak loads, who the system would really behave
Hits/Second: Number of requests hitting webs server per second. This is helpful in conjunction with transaction time to see, how the performance of the site behaves as the number of hits/sec increases.
Through Put: Is the amount of data in kilobytes received by a user per second
HTTP Response Counts: Most valid responses are 200, 303 (redirection) and It is a good idea to keep the tab on 403 (forbidden), 404 (page not found), 500 (Internal server error)
Error count: Keeps track of error counts, this is a good measure to make sure there are no application server errors, This is really helpful, if the correct build and database changes are not present in performance.
