Load Runner Versions: 8.0, 8.1, 9.0, 9.1, 9.5 and 11 Load Runner version 11.0 supports windows operating system. Load Runner 9.

5 Released in 2009 New Features  Protocol Advisors  Newly added array functions Load Runner Components: 1. VU Generator: used to generate/develop/enhance the vuser business scripts for all the scenarios which are in scope c language. 2. Controller : used to execute scripts with multiple users 3. Analysis: Validate the test execution results with the expected behavior i.e. (SLA) 4. Load Generator: It generates the amount of vusers to run on the server. 5. Agent Process: It establishes a communication between the load generator and controller Virtual User Generator  Controller  load generator  agent process  analysis Virtual user Generator:
This component is used to generate the script for each business process or scenario with the supported protocol.

Protocol Advisor:
This is a new feature of Load Runner 9.5 and it identifies the supported protocols by the application under test or the business process. WebTours URL http://127.0.0.1:1080/WebTours/ username/password : jojo/bean By using a protocol advisor, we identified the below types of protocols that supports for the application business proces. Ajax (click and script) Web (HTTP/HTML) Selecting an appropriate protocol: 1. Protocol advisor has identified two protocols supported by application under test but we have to use only one protocol for performance testing. 2. It would be better to go with Web protocol first and then go for ajax if it does not support web lets 3. The reasons to select web protocol is quite obvious, the licence cost for generating virtual users is of ration 1:10 for web and ajax and also memory constraints, Web protocol consume 2MB where as Ajax protocol consumes 10 MB per virtual user

Select the protocol as web (HTTP/HTML) to generate the script:

Recording Modes:
Load Runner has two types of recording modes

HTML Based Recording:
1. 2. It generates the script for HTML Source of the web page. Generates web vuser functions for each user action on the web page

3.

Functions in html recording are web_link, web_submit_form, web_url, web_submit_data

URL Based Recording: 1. It generates script for non html resources like .jpg, .bmp, .gif and css files.
2. 3. It generates separate web functions for each non html resource on a web page. Functions it supports are Web_url, web_submit_url, web_custom_request

Note: It is recommended to user html based recording over url based recording as it focuses on user actions. Correlation:
Correlation is handle the data generated by server There are two types of correlation process that supports load runner.  Automatic Correlation  Manual Correlation Automatic Correlation: Handle server generated data with the help of tool functionalities is called automatic correlation 1. Scan script for correlation – generate the script for end to end business scenario, run the script and I observed a problem in handling sessions ids generated by the script ie an error with session while logging into application. 2. Select > View > Scan Script for correlation> The differentiate values between the recording and replay will display under correlation results 3. Select the value and click correlate 4. It will automatically insert the correlated function with all the arguments 5. The correlation function web_reg_save_param( "WCSParam_Diff1", "LB=userSession value=", "RB=>", "Ord=3", "IgnoreRedirections=Yes", "Search=Body", "RelFrameId=1.2.1", LAST );)

Second method: creating a correlation rule
1. 2. 3. 4. 5. 6. Enable correlation in recording settings Create new application and create new rule Assign the left boundary and right boundary values and define the ORD number Generate the script with end to end business actions It will automatically insert the correlation function with all the arguments doing the script recording When u reply the script, it should successfully run without any session issues

A file with differences between the two scripts is displayed ie. now select the other script..Manual Correlation: 1. . a dialog will open. Identify correlated values: record same scenario twice and save each script. From the Wdiff we can figure out the values that could be correlated. Go to Tools>Compare with Script from one of the saved scripts. The differences are are highlighted in yellow lines.Wdiff.

important thing to note while comparison is that only server generated values have to be considered for correlation. 2. x-y co-ordinates. in order to capture the server generated value. Then identify the ordinal value of the correlated value.. not all the differences such as think time. Capture the server generated value: use correlated function web_reg_save_Param() web_reg_save_param( "ParamName". we have to search in the previous client request. "IgnoreRedirections=Yes". LAST ). ie. this is sent by client to server. say in the script a function is requesting the server with a session value. "RelFrameId=". "Ord=". "Search=Body". "RB=>".Identify the required correlated value from the differences. Go to view > Tree Search for the correlated value in the response. identify the left boundary and right boundary of the correlated value.) The sessionid or session value is generated by the server. the position in which the correlated value is nothing but ord value . so in order to pass the session id dynamically to the current function. Then. if exists then list them down in the notepad. we have to go to the previous function in the script. Copy the identified correlated value. "LB= ". Search if there are similar tags existing in the response with same left and right boundary. ie.

Correlated Functions Arguments: Correlated function lr_reg_save_parm() can save into a variable or an array based on ord value if the ord value is specific say 1 then the value would be saved into a vaiable. city: rndNum1 = rand()%cityCount+1. the values would be stored as array Arguments: a. Randomly selecting values from load runner parameter or correlation array parameter When you user ord = all. rndNum2 = rand()%cityCount+1. So. If ord is all ie."ORD=3". web_reg_save_param("sessionID". a dialog with all the parameters would be listed. sprintf(toCityParm. correlated parameter captures list of values in an array. .Go to script view. To select a random value from the available range use the below syntax cityCount = atoi(lr_eval_string("{city_count}")). sprintf(toCity.5 1. it captures the first position value between the given boundaries.rndNum2). ORD: it is the ordinal value of the correlated data."RB=>". It captures a specific index value from the array list lr_parmarr_idx(“arrayparameter”. sprintf(fromCityParm. All the multiple values given in the note pad are reflected in the parameter list dialog. a dialog opens with multiple options. and click edit with note pad option and give multiple values and then save it. right click on the value and select replace with parameter. 2. RB: It is the right boundary of the correlated data d. Parameter name: It Saves the data matching the given boundary b. ORD=2 It captures the second position value between the given boundaries. ORD=all It captures all the position values between the given left and right boundaries. cityCount = atoi(lr_eval_string("{city_count}"))."{city_%d}".LAST). Select the parameter created above.. Replay the script and verify the log as well as results file 3."LB=<input type=hidden name=userSession value=".rndNum1). enter the parameter name and select file as parameter type. ie. To calculate the length of the given array use the below syntax arrPrmcnt = atoi(lr_eval_string(“arrayparm_count”)). 4. insert the correlated function with all the arguments before the previous request."%s". GoTo > vusers>Parameters list. index) lr_parmarr_random(“arrayparameter”)  It takes a random value from the available array range lr_paramarr_len (“arrayparameter”)  Returns the length of the array passed as parameter Note: all the above array functions are available from loadrunner 9. It defines a position or occurrence of the correlated value between the give left and right boundaries Example: ORD=1."{city_%d}". select a value in the script.. use the below randomized function to select the random value from the array. Parameterization: Passing different set of inputs instead of original values in the script Sequential each iteration: Parameterize a value in the script. ord=all then. LB: It is the left boundary of the correlated data c.lr_eval_string(toCityParm)). When you replay the script the given parameter will capture the data at run time Save it into variable: By default it saves the new value into the given parameter for a specific ord number ii) we need to save a required value into the separate variable whenever ord = all Replace the variable at all the places of original values in the script.

. Parameter simulation daialog is opened.Then select next row as “sequential” and update value on as “each iteration” and then click “Simulate Parameter” button.

Select number of virtual users and Number of iternations to run and click on “simulate” button. Sequential Once  Then select next row as “sequential” and update value on as “Once” and then click “Simulate Parameter” button. this is the drawback of sequential iterations ie…for each iteration the vuser would be sequentially assigned but the vusers are same in each iteration.A single sequential parameter value will be assigned for all the iterations done by the vuser Note: In all the sequential combinations the data which is passed for the first vuser. . for each iteration the vusers are same. the same date would be assigned to remaining vusers. If above screen shot is observed.

The new random parameter value will be updated for each iteration of the script execution ie. the parameter value passed for a virtual user is different in each iteration.Random each iteration: Then select next row as “Random” and update value on as “Each Iteration” and then click “Simulate Parameter” button.. .

A single random parameter value would be assigned for all the iterations done by the vuser .Random Once: Then select next row as “Random” and update value on as “Once” and then click “Simulate Parameter” button.

additional options are enabled in the parameter list dialog. This is where we allocate the block size..Unique each iteration  “Select next row” as “Unique” and “update value on” as “Each Iteration” and then click “Simulate Parameter” button. the next vuser would be assigned values from 11-20 in the file and so on. The unique parameter value would be assigned for each iteration of the script execution . So if we mention the range for each vuser ie nothing but block size. “Allocate Vuser values in the controller” would be enabled. Here. say if we select “Allocate value for each vuser”. load runner itself would allocate the block size based on number of iterations. If we select “Autmatically allocate block size”. when we say we want unique value for a vuser that means a value given for a vuser should be unique across iterations and should not be used by the other vusers. as 10 first vuser would be assigned 1-10 valules from the file.

the file size should be 5*10 i.e. each occurrence would send different data for every occurrence. It would update a new parameter value for each occurrence of the parameter file in the script. 50 Unique Once  A single parameter value would be assigned for all the iterations done by the vuser Each Occurrence: When same Parameter is used multiple times in an action.Block Size: Allocate the block size for each user based on the iterations File Size: Allocate the parameter values in a file based on number of users and iterations for example if there are 5 vusers in 10 iterations. .

dat. . Web_find(): It is also one type of text check functions to validate the given text on a web page.Multi column Datafiles: It supports the parameter file types as . either pass or fail or stop. LR_PASS: Returns the status as PASS LR_FAIL: Returns the status as FAIL Check Points: Two types of check points are available in load runner  Text Check Point – Validates the given text on a web page using two functions Web_reg_find(textToFind) : One type of check function to validate. Syntax: Web_find(stepname.txt.status): LR_AUTO: Automatically returns the status of end transaction.”what=textToVerifty”. . this function we user savecount argument to capture the occurrence of the given text on a web page.LAST) web_find No option is available to record the text by default during script recording This function is written after the action functions or after requesting server We need to enable.csv Transaction Points: Insert transaction points to measure the response time of user actions. Image and text check in Runtime Settings > Internet Protocol> Preferences > Enable Image and text check Web_reg_find It records the title of the page by default by havig advance option in record setting This function is written before the action functions or befor requesting server No need to enable any option to verify during script run or play back  Image Check Point . Start Transaction: lr_start_transaction(*char parmName): ApplicationName_ScenarioName_TransactionNum_Action End Transaction: Lr_end_transaction(transactionname.

1) 2) Manual Scenario 2) Goal Oriented Scenario Manual Scenario: Create the controller scenario based on the number of virtual users Goal Oriented Scenario: Create the controller scenario based on the below specified goal Goal Types: 1. 2. 4. 5.CONTROLLER: In this component we will design and execute the multi user performance business secenarios There are two types of scenarios can be designed in load controller scenario. 3. Virtual Users Hits per Second Transactions per Second Transaction Response Time Pages per Minute .

Configuration: for web protocol the recommended users are 1 for 2MB of RAM and for 2GB 500 members. We will add the same script and assign each load generator b. Some times its fail to connect to the destination PC’s load runner the possible reasons could be either the machine with the given ip address is not started or the agent process software is either not installed or not running on the destination machine. and how many users should be used on the generator? Load generators gernerates the amount of vusers to run the script to simulate real word behavior. Assigning the multiple load generators into a single script: a.Execution Process or Summary: 1. . Load runner VTS(Virtal Table Server): we want to run single script on three different generators. Load generator can be configured either in windows or in Unix We can configure load generator from other machines in a controller. When first vuser of the first load generator he picks the usernames from the vts server but when the second vuser comes. I mean only from run time settings. Upload all the scripts into the controller which are in scope. now right click on the block and insert one action each. We will assign the multiple load generators into a single line of script using a coma separator Select the script. Define the vuser load for each script(user mix) Assign the load generator to generate vusers load(How many users should be generated on a load generator?) How do you define how many load generators to be used. click on 4. we place the user data on vts server. not from the script. Define the standard runtime settings for each script a) Run Logic: To Define the number of iterations for Actions not and it will not be applicable for Init and End method of the script. Running different actions in the script with different iterations. Then insert blocks equal to the number of actions in the script using Insert Block button. Based on system configuration of load generator machine generates the load from each load generator. the first user in vts table gets deleted and second vuser would replace it and the vuser takes the first row. the above script has only one action even if there are multiple actions in the script the same number of iterations are applicable to the actions. 50% of the memory is used for virtual users and 50% for services to run. Block Iterations: Number iterations set above ie 20 is applicable for all the action. 3. 2. to do that first delete all the actions from the run time settings.

then the in the dialog box displayed give the block iterations. Think Time: It’s a user waiting time between the transaction executions. . right click the action and select Properties option.After inserting actions to the blocks. Log: It captures the behavior of script executon into a log file. Note: The recommended log option is send messages only when an error orrurs. Pacing: It is the user waiting time between the iteration executions.

It consumes low system resources as single driver program is created from all VUsers.Miscellaneous: 1. . Run Vuser as a thread –In thread communication. a single driver program is created for all vusers in the system. Run Vuser as a process – In process oriented communication. Note: It’s always recommended to select run user as a thread option. Error Handling a. Multithreading a. each vuser will be generated using a separate driver program. Continue on error b. Fail open transactions on lr_error_message c. Generate Snapshot on error It is recommended to select the option “Generate Snapshot on error” 2.exe’s b. for multiple . Speed Simulation: In this we can select the bandwidth to user in the executions. It consumes more system resources.

Browser Emulation: In this we can define all the browser level enhancements 1. 3. Check for newer versions of stored pages every visit on the page. Cache URLs requiring cintent(HTMLs) b. Proxy: A proxy is a middleware server to validate the request and responses from one network to another network . Clear cache on each iteration 2. Download non-HTML resources Simulate a new user on each iteration a. Simulate Browser Cache a.

User the filter to block unnecessary URL’s in the execution .Preferences: Advanced options has the following important timeouts Download filters: 1.

Configure the project SLA (Service Level Agreement) 1. Select Windows Resources option under Available graphs or drag the option and drop it on the graph Right click on the “Windows Resources” option. the service will often run in privileged mode to gain access to system-private data.. RampDown  Define ramp down(stop vusers) It downs the vusers from server using the below two options. a. Generate the required number of ip addresses in corresponding load generator Enable ip spoofer in load controller scenario ie. 2. When a Windows system service in called. 1.Z Note: Always the recommended option is slow rampup Define the steady state period to run all vusers on server Run until completion: it runs vusers on server until completion of the iterations. We can set rampup from the Simultaneously: It initializes all the vusers on the server at the same time Slow RampUp: It initializes the given amount of users on server with the specified interval time We can give the ramp up by clicking on start vusers in the global schedule. i.ipaddress and login details of the system in which the server is set up. 11. 10.It initializes the vusers and server with the given interval time. Defien RampUp time: RampUp. 3. Windows uses process boundaries for subsystem protection in addition to the traditional protection of user and privileged modes. Scenario > Enable Ip Spoofer in load controller scenario Server Side Metrics Configuration: System level monitors and server level monitoring: Windows System Monitor: 1. Unlike some early operating systems. such as page faults or interrupts.e. Note: We need to define the fixed number of iterations to design the scenario for run until completion.. b. Save the results Click on Results settings Save the results with the following format ApplicationName_Load_PerfTestType_Date ArabianBank_100Users_LoadTest_12072011 Ip Spoofing: It assigns one ip address to each virtual user running in the execution. select “Add Measurements” option Addd Server machine details in “Window Resources” dialog. Note: In this case it’s not necessary to specify iterations because it will automatically repeat the iteration for given time duration. Click “New” in Service Level Agreement Then proceed with selecting multiple options based on the need.Content Check: It is used to verify the given text on all the user accessing web pages 5. Calls to the system can be explicit or implicit. 7. Simultaneous ramp down. Counters % idle time % privileged time Description % Idle Time is the percentage of time the processor is idle during the sample interval % Privileged Time is the percentage of elapsed time that the process threads spent executing code in privileged mode. Some work done by Windows on behalf of the application might appear in Object Processor . Run for duration: It runs all the vusers on server with the given time duration. Such data is protected from access by threads executing in user mode. slow ramp down 6.

it is not an average. User mode is a restricted processing mode designed for applications. Pages Input/sec is the rate at which pages are read from disk to resolve hard page faults. Page Writes/sec is the rate at which pages are written to disk to free up space in physical memory. If the paging file is enlarged. and displays the average percentage of busy time observed during the sample interval. It does not include deferred procedure calls (DPCs). immediately available for allocation to a process or for system use. such as the system clock. These devices normally interrupt the processor when they have completed a task or require attention. and must be retrieved from disk. in incidents per second. is designed for operating system components and allows direct access to hardware and all memory. Compare the value of Memory\\Pages Reads/sec to the value of Memory\\Pages Input/sec to determine the average number of pages read during each operation. Committed Bytes is the amount of committed virtual memory. It is measured in number of pages faulted per second because only one page is faulted in each fault operation. disk drivers. It is calculated by measuring the duration of the idle thread is active in the sample interval. This counter is a primary indicator of the kinds of faults that cause system-wide delays. Available MBytes is the amount of physical memory. Normal thread execution is suspended. There can be one or more paging files on each physical drive. Committed memory is the physical memory in use for which space has been reserved in the paging file should it need to be written to disk. network interface cards. and the ratio is reduced). which are counted separately. This counter displays the current percentage value only.% processor time % user time Interrupts/sec Memory Available Mbytes Committed Bytes % Committed Bytes in use Page Faults/sec Page reads/sec Page writes/sec Page Input/sec other subsystem processes in addition to the privileged time in the process. divided by the duration of the sample interval.) Most processors can handle large numbers of soft faults without significant consequence. so they are likely to hold data. privileged mode. It includes read operations to satisfy faults in the file system cache (usually requested by applications) and in non-cached mapped memory files. divided by the duration of the sample interval. creating a background of interrupt activity. without regard to the number of pages written in each operation. This counter displays the difference between the values observed in the last two samples. This counter displays the average busy time as a percentage of the sample time. not code. Hard page faults occur when a process refers to a page in virtual memory that is not in its working set or elsewhere in physical memory. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory. The commit limit is determined by the size of the paging file. This value is an indirect indicator of the activity of devices that generate interrupts. Page Faults/sec is the average number of pages faulted per second. in bytes. When a page . free and zero page lists. (Each processor has an idle thread that consumes cycles when no other threads are ready to run). The operating system switches application threads to privileged mode to access operating system services. and integral subsystems. the mouse. it is not an average. and subtracting that value from 100%. The system clock typically interrupts the processor every 10 milliseconds. can cause significant delays. environment subsystems. % User Time is the percentage of elapsed time the processor spends in the user mode. at which the processor received and serviced hardware interrupts. data communication lines. It is equal to the sum of memory assigned to the standby (cached). in Megabytes. refer to MSDN and/or the System Performance and Troubleshooting Guide chapter in the Windows Server 2003 Resource Kit. without regard to the number of pages retrieved in each operation. It is calculated by monitoring the time that the service is inactive. However. This counter is the primary indicator of processor activity. Hard page faults occur when a process references a page in virtual memory that is not in working set or elsewhere in physical memory. This counter shows write operations. It shows the number of reads operations. This counter displays the difference between the values observed in the last two samples. which require disk access. and other peripheral devices. hence this is also equal to the number of page fault operations. This counter displays the last observed value only. and subtracting that time from interval duration. the commit limit increases. Pages are written to disk only if they are changed while in physical memory. For a full explanation of the memory manager. Interrupts/sec is the average rate. Committed memory is the physical memory which has space reserved on the disk paging file(s). hard faults. % Processor Time is the percentage of elapsed time that the processor spends to execute a non-Idle thread. % Committed Bytes In Use is the ratio of Memory\\Committed Bytes to the Memory\\Commit Limit. The alternative. Page Reads/sec is the rate at which the disk was read to resolve hard page faults. and must be retrieved from disk.

of the paged pool. Disk Write Queue Length is the average number of write requests that were queued for the selected disk during the sample interval. This counter displays the last observed value only. % Processor Time is the percentage of elapsed time that all of process threads used the processor to execution instructions. Windows writes more pages back to disk to free up space when physical memory is in short supply. regardless of the amount of space allocated in each call. so it can be compared to other counts of pages. in bytes. so it might not equal Process\\Pool Nonpaged Bytes\\_Total. and must remain in physical memory as long as they are allocated. % Disk Time is the percentage of elapsed time that the selected disk drive was busy servicing read or write requests. it is not an average. For good performance. It is the sum of Memory\\Pages Input/sec and Memory\\Pages Output/sec. It also includes requests in service at the time of the collection. not code. This counter shows the number of pages. Avg. Avg. it is likely that this will be consistently high. it is not an average. but must remain in physical memory as long as they are allocated. The paged pool is an area of system memory (physical memory used by the operating system) for objects that can be written to disk when they are not being used. without conversion. and can be compared to other counts of pages. an area of system memory (physical memory used by the operating system) for objects that can be written to disk when they are not being used. This counter displays the last observed value only. This counter displays the last observed value only. Virtual space is finite. It includes pages retrieved to satisfy faults in the file system cache (usually requested by applications) non-cached mapped memory files. a thread is the object that executes instructions. of memory that this process has allocated that cannot be shared with other processes. it is not an average. in bytes. disk read queue length Avg. An instruction is the basic unit of execution in a computer. of the nonpaged pool. Private Bytes is the current size. and a process is the object created when a program is run. and the process can limit its ability to load libraries. It is measured in numbers of calls to allocate space. it is not an average. Memory\\Pool Nonpaged Bytes is calculated differently than Process\\Pool Nonpaged Bytes. but if there is a sustained load on the disk drive. Virtual Bytes is the current size. This is a instantaneous snapshot. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. regardless of the amount of space allocated in each call. Code executed to handle some hardware interrupts and trap conditions are included in this count. so it might not equal Process\\Pool Paged Bytes\\_Total.Page Output/sec Pages/sec Pool Nonpaged Allocs Pool Nonpaged Bytes Pool Paged allocs Pool paged Bytes Physical disk % disk time % idle time Avg. Current Disk Queue Length is the number of requests outstanding on the disk at the time the performance data is collected. not an average over the time interval. It is measured in numbers of calls to allocate space. It is counted in numbers of pages. A high rate of pages output might indicate a memory shortage. an area of system memory (physical memory used by the operating system) for objects that cannot be written to disk. without conversion. such as Memory\\Page Faults/sec. Pool Paged Bytes is the size. so they are likely to hold data. Pool Nonpaged Bytes is the size. This counter might reflect a transitory high or low queue length. of the virtual address space the process is using. The nonpaged pool is an area of system memory area for objects that cannot be written to disk. Compare the value of Memory\\Pages Input/sec to the value of Memory\\Page Reads/sec to determine the average number of pages read into memory during each read operation. this difference should average less than two. Pages are written back to disk only if they are changed in physical memory. This counter is a primary indicator of the kinds of faults that cause system-wide delays. but other concurrent requests are awaiting service. in bytes. % Idle Time reports the percentage of time during the sample interval that the disk was idle. in bytes. Pool Nonpaged Allocs is the number of calls to allocate space in the nonpaged pool. Pages/sec is the rate at which pages are read from or written to disk to resolve hard page faults. Multispindle disk devices can have multiple requests that are active at one time. Requests experience delays proportional to the length of this queue minus the number of spindles on the disks. . This counter displays the last observed value only. Pool Paged Allocs is the number of calls to allocate space in the paged pool. Disk Read Queue Length is the average number of read requests that were queued for the selected disk during the sample interval. Memory\\Pool Paged Bytes is calculated differently than Process\\Pool Paged Bytes. the system tries to read multiple contiguous pages into memory to maximize the benefit of the read operation. disk write queue length Current disk queue length Process % processor time Private bytes Virtual bytes is faulted. Pages Output/sec is the rate at which pages are written to disk to free up space in physical memory.

this counter shows ready threads only. A sustained processor queue of less than 10 threads per processor is normally acceptable. pages are left in the Working Set of a process even if they are not in use. This is an instantaneous count. Connections Established is the number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT. Threads is the number of threads in the computer at the time of data collection. if a computer has multiple processors. Connections Active is the number of times TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state. If free memory in the computer is above a threshold. There is a single queue for processor time even on computers with multiple processors. you need to divide this value by the number of processors servicing the workload. not an average over the time interval. plus the number of times TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state. If they are needed they will then be soft-faulted back into the Working Set before leaving main memory. The Working Set is the set of memory pages touched recently by the threads in the process. this counter counters. Configure the project SLA’s . Each process represents the running of a program. Unlike the disk counters. Processes is the number of processes in the computer at the time of data collection. not an average over the time interval. Step10. not threads that are running. dependent of the workload. Processor Queue Length is the number of threads in the processor queue. Connection Failures is the number of times TCP connections have made a direct transition to the CLOSED state from the SYN-SENT state or the SYN-RCVD state. When free memory falls below a threshold. A thread is the basic executable entity that can execute instructions in a processor. Therefore. in bytes. pages are trimmed from Working Sets. of the Working Set of this process. This is an instantaneous count.Working set System Processor queue length Processes Threads TCPv4 Connection failures Connections active Connections established Working Set is the current size.

.

.

.

.

Save the results IP spoofing .Step11.

Generate the required number of IP addresses in corresponding load generator 2. Enable IP Spoofer in load controller scenario Server side metric configuration System/OS/Hardware level metrics Windows system: .It assigns one IP address for each user running in the execution. 1.

Object Processor Memory Counters % idle time % privileged time % processor time % user time Interrupts/sec Available Mbytes Committed Bytes % Committed Bytes in use Instances All instances No instances .

disk read queue length Avg. disk write queue length Current disk queue length % processor time Private bytes Virtual bytes Working set Processor queue length Processes Threads Connection failures Connections active Connections established All instances All instances No instances No instances .Physical disk Process System TCPv4 Page Faults/sec Page reads/sec Page writes/sec Page Input/sec Page Output/sec Pages/sec Pool Nonpaged Allocs Pool Nonpaged Bytes Pool Paged allocs Pool paged Bytes % disk time % idle time Avg.

System level monitoring using Perfmon .

.

per second. per second.sh file Note: To Copy the data from Unix machine to Windows machine and vice versa use WinScp utility. 7. 3. 5. 3. Errors per second while sending Ethernet packets. Average number of processes simultaneously in Ready state during the last minute. 4. 2. Outgoing Ethernet packets per second. 10. per second. 6. we have to run different scripts in Unix to monitor the performance counters. Number of processes being swapped-out from memory. CPU Utilization System Mode CPU Utilization User mode CPU utilization Interrupt rate Page in Rate Page out rate Memory Paging rate Swap in rate Swap out rate Average Load Collision Rate Context switch rate Disk Traffic Incoming Packets error rate Incoming packets rate Outgoing Packets error rate Outgoing packets rate CPU Counter CPU Utilization System Mode CPU Utilization User mode CPU utilization User mode CPU utilization Page in Rate Page out Rate Paging Rate Swap-in-rate Swap-out-rate Average Load Collision Rate Context Switch Rate Disk Traffic Incoming Packets error rate Incoming Packets rate Outgoing Packets error rate Outgoing Packets rate Description Percent of time that the CPU is utilized. Number of device interrupts per second. 4. Number of device interrupts per second. . 16. Number of pages read to physical memory. Collisions per second detected on the Ethernet. per second. Note: UNIX does not have a built in utility to monitor the counters. 13.. per second. Number of switches between processes or threads. Number of pages read to physical memory or written to pagefile(s). 15. 11. per second. Rate of disk transfers. 14. 8. Number of processes being swapped-in to memory. Number of pages written to pagefile(s) and removed from physical memory. 17. 12. Percent of time that the CPU is utilized in system mode. 2.UNIX OS Level Monitory 1. rstat daemon process should run in Unix box. 9. Note: To collect the UNIX resources through a controller. Unix Performance Monitoring using shell files: 1. Connect to the UNIX box using a putty Go to the directory where the monitory scripts are located Run all the . Errors per second while receiving Ethernet packets. Percent of time that the CPU is utilized in user mode.sh files before starting of the execution It collects the separate log files for each individual .