Load Testing is a process of end to end performance tests under anticipated production load. The objective such tests are to determine the response times for various time critical transactions and business processes and ensure that they are within documented expectations (or Service Level Agreements – SLAs). Load tests also measures the capability of an application to function correctly under load, by measuring transaction pass/fail/error rates. An important variation of the load test is the Network Sensitivity Test, o loʻo tuʻufaʻatasia ni vaega o le WAN i totonu o se uta suʻega ona o le tele o faʻaaogaina o loʻo lafoina i tua atu o se tasi LAN.
Avega Suʻega o suʻega tetele, manaʻomia le tele o faʻamatalaga mai le pisinisi, so that anticipated activity can be accurately simulated in a test environment. If the project has a pilot in production then logs from the pilot can be used to generate ‘usage profiles’ that can be used as part of the testing process, and can even be used to ‘drive’ large portions of the Load Test.
Load testing must be executed on “today’s” production size database, and optionally with a “projected” database. If some database tables will be much larger in some months time, then Load testing should also be conducted against a projected database. It is important that such tests are repeatable, and give the same results for identical runs. They may need to be executed several times in the first year of wide scale deployment, to ensure that new releases and changes in database size do not push response times beyond prescribed SLAs.
What is the purpose of a Load Test?
The purpose of any load test should be clearly understood and documented. A load test usually fits into one of the following categories:
- Quantification of risk. – Determine, through formal testing, the likelihood that system performance will meet the formal stated performance expectations of stakeholders, such as response time requirements under given levels of load. This is a traditional Quality Assurance (QA) ituaiga suʻega. Note that load testing does not mitigate risk directly, but through identification and quantification of risk, presents tuning opportunities and an impetus for remediation that will mitigate risk.
- Determination of minimum configuration. – Determine, through formal testing, le faʻatulafonoina o tapulaa o le a faʻatagaina le faiga e faʻatautaia le faʻataunuʻuina aloaia faʻamoemoega o paʻaga – i fafo atu meafaigaluega, software and the associated cost of ownership can be minimized. This is a Business Technology Optimization (BTO) ituaiga suʻega.
O a galuega poʻo faʻagaioiga gaioiga e tatau ona faʻataʻitaʻi?
Ole siata oi lalo o loʻo faʻamatala mai ai mea e filifilia ai le gaioiga o gaioiga ma gaioiga e aofia i se suʻega.
|Faavae mo le aofia ai i Load Load Test||1 Faamatalaga|
|Maualuga taimi fefaʻatauaiga||The most frequently used transactions have the potential to impact the performance of all of the other transactions if they are not efficient.|
|Mission Critical transactions||The more important transactions that facilitate the core objectives of the system should be included, as failure under load of these transactions has, by definition, the greatest impact.|
|Read Transactions||At least one READ ONLY transaction should be included, so that performance of such transactions can be differentiated from other more complex transactions.|
|Update Transactions||At least one update transaction should be included so that performance of such transactions can be differentiated from other transactions.|
Example of Load Test Configuration for a web system
The following diagram shows how a thorough load test could be set up using LoadRunner.
The LoadRunner controller is capable of displaying real-time graphs of response times as well as other measures such as CPU utilization on each of the components behind the firewall. Internal measures from products such as Oracle, E avanoa foi le WebSphere mo le mataituina i taimi o suʻega.
Ina ua maeʻa se suʻega, O le Suʻesuʻega afi e mafai ona faʻaosofia ai se tele o kalafi ma fesoʻotaʻiga e fesoasoani e suʻe ni gaioiga o faʻafitauli.
Fetuunaiga Faigofie Suʻega Faigofie mo se upega tafailagi
In this simplified load test, the controller communicates directly to a load generator that can communicate directly to the load balancer. No WinRunner PC is utilized to measure actual user experience. The collection of statistics from various components is simplified as there is no firewall between the controller and the web components being measured.
Reporting on Response Time at various levels of load.
Expected output from a load test often includes a series of response time measures at various levels of load, faataitaiga 500 tagata faʻaaogaina, 750 tagata faʻaaogaina ma 1,000 tagata faʻaaogaina. It is important when determining the response time at any particular level of load, faʻatautaia le faiga i se tulaga mautu mo se tele o le taimi aʻo leʻi faia ni faʻatonuga.
Faataitaiga, se ala agai i luga 500 e faʻaaoga e le tagata ni minute se sefulu, but another ten minutes may be required to let the system activity stabilize. Taking measurements over the next ten minutes would then give a meaningful result. The next measurement can be taken after ramping up to the next level and waiting a further ten minutes for stabilization and ten minutes for the measurement period and so on for each level of load requiring detailed response time measures.