Load runner Facts
1. if we donot have baseline timings for an application then we should run the scripts for one
users and then comapre that timings with the load response time.
users and then comapre that timings with the load response time.
Goal of Performance Testing
The goal of performance testing is not finding bugs, but to remove the bottlenecks from the application and improve the efficiency.
Before doing a performance testing we basically need to know the following points –
1. Expected no of concurrent users or HTTP connections with your application
2. Acceptable response time for your pages
2. Acceptable response time for your pages
For performance tuning basically we have two approach.
In Approach1(white-box), we can do the following,
Code Analysis, We can search for poor algorithms or looping which is the reason for inefficiency.
Database Analysis, We can use query optimizers and profilers to optimize the database.
Hardware & Network, We can use utilities such as top, iostat to monitor hardware resources and ntop, netstat to monitor the network and Sockets.
Database Analysis, We can use query optimizers and profilers to optimize the database.
Hardware & Network, We can use utilities such as top, iostat to monitor hardware resources and ntop, netstat to monitor the network and Sockets.
In Approach2(black-box), for a Web application, testers will use tools that simulate concurrent users/HTTP connections and measure the response times automatically. If the response time does not meet your expectations tuning has to be done at application/hardware/database level.
In Tuning,
First we need to enhance the application code efficiency, then we can optimize the database.
If still your application doesn’t meet your requirements then the following steps will help you.
1. Using cache mechanisms.
2. Publish highly requested pages statically, so that they don’t hit the database.
3. Scaling Web servers horizontally via load balancing.
4. Scaling database servers horizontally and split them into read/write servers and read-only
servers.
5. Scale the servers vertically by adding more hardware resources (CPU,RAM)
1. Using cache mechanisms.
2. Publish highly requested pages statically, so that they don’t hit the database.
3. Scaling Web servers horizontally via load balancing.
4. Scaling database servers horizontally and split them into read/write servers and read-only
servers.
5. Scale the servers vertically by adding more hardware resources (CPU,RAM)
Points to remember,
we should take care such that one variable is modified at a time and redo the measurements.
Functionally the application should be well tested and must be in good quality. i.e., the software under test is already stable enough so that performance testing process can proceed smoothly.
No comments:
Post a Comment