Home
Replay a Testcase
Contents
1. A webperormance The Load Te gives a varji formation about a load test The summary section is the first and v peak users simulated hits sec etc The server statistics are included in t Load Configuration b server CPU load and memory usage had an impact on performance Testcases Summary Estimated 38 Create Account 1 Confidenc o Create Contact 2 100 Peak User Add Note 3 39 Summary View Note 4 Start Tix Web Pages 2 34 PM 10 11 07 Durati Testcase Create Account 1 TEER a Testcase Create Contact 2 Total test aM Tecteace Add Nate 2 706 Total hits 88 767 Peak hits sec 120 0 The contents of the report are designed to be self explanatory they include text surrounding the graphs and charts to explain their meanings Advanced Configuration Guide Advanced Testcase Configuration The Web Performance wizards have been developed to automatically configure testcases for the majority of web based systems especially those based on popular application frameworks However some appli cation frameworks and custom coded applications use techniques that are not yet recognized by the wiz ards The goal of this tutorial is to help you determine what part of the testcase needs further configuration and demonstrate how to make the necessary changes
2. download 7 Instance number to extract from 1 1 Store to User State Variable url 2 Store to User State Variable param am adas soy Comet en TARA E Assume extracted value is never URL Encoded v Recorded Response lt li gt lt a class Lod href oad testing eh u our lt strong gt Screencasts lt strong gt lt a gt lt li gt i 7 lt ul gt lt div gt lt div gt param download WPLoadTester_Win32 exe Matching against Data Sources In rare cases usually involving JSON or XML service requests it may be necessary to place a constraint on a match group rather than storing it to a user variable Typically the constraint is a user state variable that has been extracted from an earlier transaction When matching against a datasource the extractor edit dialog will not be able to predict success or failure of the match Therefore extractors of this type are more difficult to build and test than other regular expression extractors and should be avoided unless there is a clear need Processors Processors are further processing steps which are performed before or after a transaction is completed Page Refresh Processors Some pages use refresh controls to force a user s web browser to refresh a page periodically For example progress bars may use a refresh command within the page to simulate a browser polling a URL until the process completes and a page is returned without the ref
3. 1 Store to User State Variable url Apply Content Decoding HTML XML _ E Assume extracted value is never URL Encoded v Recorded Response lt div id panels gt lt ul gt lt li gt lt a class tl selected href load testing gt Web Performance lt strong gt Load Testing lt strong gt lt a gt lt li gt lt li gt lt a class t2 href AJAX gt Made for lt strong gt AJAX lt strong gt lt a gt lt li gt lt li gt lt a class t3 href load testing dema gt Learn with our lt strong eens g gt lt a gt lt li gt lt li gt lt a class nav download href UEA ARITE eel ESA elite takes gt Downlo lt ul gt lt div gt ie v Value selected for extraction url download release 4x download download WPLoadTester_Win32 exe Using Multiple match groups More advanced regular expressions that contain multiple match groups may also be used In the example below two match groups are specified in the regular expression and two variable names are provided cor responding to each match group Extract Value from Content Please select how you would like the value to be located in a response during replay v Extractor Type Choose the type of extractor to create String Delimited Regular Expression Script Extractor Parameters The match group will be extracted into the specified user state variable Regular Expression class nav download href
4. SO Os OS O OQ O 5 T Q O H OQ initiated connection to dell2 81 17099451 started request for 20102672 completed request for 20102672 connection opened to C CYS O ee i OD tomcat gif OQ O oe a Oo Dp tomcat gif a E O oe KR QD dell2 81 tion CG 3 6 O oe al O tarted request for tion OQ O oe AD E e amp Q O oe a a ae 2 282 tarted response for ection 20102672 286 TSE completed response for nection 20102672 TTP 1 1 200 OK 0 01 314 WPE completed page 0 14 CNC closed connec ion 20102672 4 CNC closed connec tion 17099451 0 01 314 BCE completed testcase BC Casel Additionally the full contents of each transaction response are saved in files called TO txt Tn txt full request and response including the start line tomcat gif O G O oe KR oO po tomcat gif Q O 5 OO w w Corre ee CO tion to dell2 8 OQ C O oe 5 5 ec gt gt W ct f tion to dell2 81 ec OQ Oo 5 jakarta banner gif jakarta banner gif PAGE http dell2 81 both request and These files contain the headers and con Tee Cent any parts of the request are modified from the original before sending to
5. It should look like set the workspace location osgi instance area noDefault osgi instance area workspace osgi instance area user home WPWorkspaceNN osgi instance area C Temp WPWorkspace There are a number of options for this setting 1 2 noDefault this allows Analyzer to choose automatically it will use the folder described above by default workspace simply entering a folder name will cause Analyzer to create a subfolder with the chosen name under Analyzer s installation folder In this example it would result in C Program Files WPLoa dTesterNN workspace user home WPWorkspaceNN this will cause Analyzer to use a folder inside the user home folder with the specified name In this example it would result in C Documents and Set tings lt username gt WPWorkspaceNN The last option is to specify a fully qualified path to the folder where the workspace has been moved to Note that on Windows systems the backslash characters must be doubled since the backslash is the escape character for this configuration file Configuring Memory Usage If you receive an out of memory error try the following to reduce memory usage Close unused repositories Delete unneeded testcases from open repositories Close unused editors Delete unneeded replays from testcases Close unused views In the Status View select the Garbage Collection icon Run the Repository Cleanup Wizard Change the Load
6. Toolbars The toolbars provide shortcuts to the most common operations in the Navigator and Editor Editors and Charts The Testcase Editor displays the recorded testcase as a tree of pages and URLs The testcase can be sorted by the size and duration columns to quickly find the slowest pages and URLs in the testcase An icon at the beginning of each row differentiates web pages from text files images forwards and errors Secure transactions SSL are indicated by a lock icon at the beginning of the URL column The editor can also dis play the performance differences between two replays of a testcase The Dataset Editor displays and edits the data and settings for a Dataset The Performance Trend chart shows the changes in page size and duration over multiple replays of a test case It is opened from either the Navigator pop up menu or the drop down menu in the editor Detailed inspection views e Content view renders the content of web pages images and other resources when they are selected in the editor e Headers view displays the HTTP request and response headers for the page URL selected in the editor Errors view lists any errors encountered during the recording or replay of a testcase e Replay view indicates the status of the replay in progress Fields view displays the HTTP fields that can be associated with modifiers Validators view displays size and content validators applied to a Web Page or Transaction in a Test
7. Q What cloud providers are supported by Web Performance Load Tester A Load Tester currently supports Amazon EC2 Q How many engines can I run A By default the Amazon EC2 account is limited to 20 instances thereby limiting you to 20 load engines in your performance test if your account has no other instances running You can augment this by opening addi tional accounts and configuring these accounts in Load Tester Alternatively you may contact Amazon and request an increase in your limits Q How can share an EC2 account among several testers and avoid conflicts between the engines started by each tester A Create a unique security key in your EC2 account for each tester When configuring the Amazon account in Load Tester s preferences each tester should specify their security key Load Tester will then only rec ognize the engines created by that tester with that security key when it starts up and only add those engines to the Engines View Q Should start and stop the engines for each test or leave them running A That is entirely up to you If you will be running many tests during the workday you may save time by leav ing them running until your day is complete The load engines have been tested to run for weeks at a time without degradation in performance Q Where are the load engines located A Load Tester currently supports Amazon in four regions US east US west EU west and AP southeast The US datacente
8. address MBS ROCKVALE DR ad User State Variable name address_id 2 Currently extraction of JSON content is performed using specialized regular expressions Load Tester may choose the wrong element in some cases for example when identically named elements are presented in arbitrary order or when correct selection of an element depends on a complex query over the available data Please understand that while other types of auto configuration performed by Load Tester are highly reliable so much so that we recommend that test case developers completely ignore automatically configured fields the correctness of auto configuration in JSON content can not in general be guaranteed If you have a test case that you feel Load Tester should be able to automatically recognize please consider submitting a copy of that test case on our support tracker Finally there may be cases where Load Tester will not notice JSON content inside a request In particular the content may be hidden inside a query parameter or form field or the content type header may for some reason indicate that the content is something other than JSON However the user can mark any field as JSON content by using the Parsers tab in the field edit dialog XML Load Tester will automatically recognize XML content in any HTTP request body with an appropriate Con tent type header or any form field that successfully parses as XML When this happens each XML ele
9. the server e g data replacement the file will reflect these changes exactly as they were sent to the will reflect server the unencrypted content For SSL transactions the content Performance Goals Performance Goals allow you to express the level of performance that is desired for web pages and trans actions in a testcase This goal is expressed in seconds or milliseconds and is evaluated against the total duration of the web page or transaction When a performance goal has been applied to a page or trans action the status of the performance relative to the goal will be displayed in relevant places in the user inter face such as the testcase editor and the reports Web Performance Load Tester allows configuration of performance goals individually for each page and transaction in a testcase or for an entire testcase The goals may be configured in three different places depending on the scope of goal you wish to apply By default a page performance goal will be applied to each testcase when it is recorded using the value supplied in the Recording Configuration Wizard in the Record menu Applying performance goals on individual pages or transactions Individual performance goals are applied in the properties dialog for the web page or transaction which can be accessed via the pop up menu lay Window Help Pv b gt 00 po po b ovo eS e ANY DNN view my blog 23 _ DNN view my blog
10. 00 00 307 started response for http webperformanceinc com 00 00 489 Content validation Failed the content abcdefghijkimnop was not Found on the page 00 00 517 transaction Failed for http webperformanceinc com connection handler 1 Content validation Failed the content fabcdefghijklmnop was not Found on the page 00 00 539 closed connection to webperformanceinc com 80 connection handler 1 re NAMAN CAS initinkend annackian kai puchrnnwFawrmanenine emna DN gt In order to activate the replay logging feature the view must be activated before starting the replay This means that it must have been opened at some point prior to starting the replay it does not need to be visible at that time the replay starts After the replay is complete the log may be viewed at any future time by select ing the Event Log view and then selecting the replay in the testcase editor The log may be exported by clicking in the log area copying the content using Ctrl A select all and Ctrl C copy and then pasting the log into the desired application Servers View For more information about server monitoring see the Introduction to Server Monitoring page The Web Performance line of products are capable of monitoring two important metrics on your server s CPU utilization and memory usage You may make the appropriate configurations to configure these metrics through the Servers View C
11. Before beginning it is important to note a few points e Determining exactly which part of the testcase is not yet configured correctly may require detailed knowledge of the application it is a good idea to get the application developers involved e Ifa working testcase is not achieved at the end of this tutorial please contact Web Performance sup port for further assistance e When you achieve a working testcase please consider submitting it to Web Performance support with a description of the configuration changes required to get it working This will help us improve our auto matic configuration wizards Overview This process usually involves 3 steps 1 Find the exact cause of the problem 2 Analyze what needs to be different in the underlying HTTP transactions to fix the problem 3 Make the necessary configuration changes in the testcase The next three sections of the tutorial will describe these three steps in more detail and give some hints on how to accomplish them The remaining sections are examples of solving some specific problems with various combinations of the techniques described Finding the problem When searching for the source of the configuration problem you should start by using the Replay feature rather than running a load test When performing a replay the software will save all the content received from the server much like a recording allowing you to review the content of each page and inspect the d
12. For a description of the various metrics collected please see the Server Metrics section Windows Most performance counters for Windows machines are also available to developers using Perfmon Counter Name CPU Processor _Total Processor Time Context switches sec Process Queue Length Memory Page reads sec Page Writes sec Memory Page Writes sec Cache Memory Allocation PhysicalDisk _Total Idle Time Calculation taken as 100 counter value PhysicalDisk _Total Disk Writes sec Network Counters Note for values coming from a Network Interface the Server Monitoring Agent will record the sum of all instances excluding the local loop back interface Packets Received sec Network Interface interface name Packets Received sec Network Interface interface name Packets Sent sec Network Interface interface name Bytes Sent sec Linux Performance counters for Linux are calculated by examining the following values if available Some counters may be measured from multiple sources in which case a source will be selected which appears applicable to the current kernel Counter Name File o Relevant lines columns Processor Counters CPU proc stat Line cpu 4th numeric column is idle time Memory Counters Memory proc meminfo Lines MemTotal MemFree Buffers Cached Cache Memory Allocation proc meminfo Lines MemTotal Cached SwapCached Ratio Major Page Faults proc vmstat Line pgmajfault
13. LA Use HTTP 1 1 se HTTP 1 1 through proxy connections fultimedia O Always show Internet Explorer Radio bar Play animations Play sounds Play videos O Show image download placeholders Show pictures Smart image dithering Printing gt Restore Defaults e Push the OK buttons until you return to the browser e Skip down to Step 3 Firefox 3 6 4 and later Newer versions of Firefox use Windows sytemwide proxy settings so begin by following the instructions to configure the Windows proxy above Once you have done this make sure that Firefox is actually configured to respect these settings e Select the Options item from the Too s menu in some versions select the Preferences item from the Edit menu e Select the Advanced section icon at the top and select the Network tab Configure Proxies to Access the Internet 5 No proxy Auto detect proxy settings for this network Manual proxy configuration HTTP Proxy Port Use this proxy server for all protocols SSL Proxy ETP Proxy Gopher Proxy SOCKS Host SOCKS v4 SOCKS v5 No Proxy for localhost 127 0 0 1 Example mozilla org net nz 192 168 1 0 24 Automatic proxy configuration URL Reload oe e Firefox Before 3 6 4 e Select the Options item from the Too s menu in some versions select the Preferences item from the Edit menu e Select the Advanced section icon at the top and select the Network tab Connectio
14. This setting determines whether or not the load test will collect metrics for each URL in your testcase Dis abling this value will greatly reduce the amount of data collected by the load test while enabling it will pro vide more detailed information about each individual component within a web page Page and test level data are always recorded Record Detailed Page Durations This setting determines whether or not the load test will record the duration of every page during the load test Disabling this value will greatly reduce the amount of data collected by the load test while enabling it will provide more detailed information about the performance of the pages Terminate test immediately when completed Causes the load test to terminate when the allotted time for the test has finished Normally the test will give each virtual user a chance to complete their testcase logging them off from the test site if applicable Ena bling this option will cause all virtual users to cease running regardless of how far along they are in the page Note that an active test may be halted in a similar fashion by pressing the red stop button in the Status View Error Recording Number of Descriptions This setting limits the number of error description strings that are recorded during a load test per testcase Entering a large number may provide more information about errors when needed and it may also increase memory usage significantly Number of
15. _quantity 1 admissions 0 department MCVFEES ca product JSON _quantity 1 admissions 0 department MCVFEES category M _quantity JSON 1 admissions JSON 0 category JSON MCVFEES datetime JSON 3 21 2011 Whenever Load Tester s Application State Management tool runs it will search for incoming name value pairs that have matching outgoing name value pairs This search works only for JSON numbers and strings and only for identical matches When the ASM tool detects a match it will automatically configure the test case to transmit the value it received The screenshot below shows such a segment of JSON content The address_id and address fields in this test case were provided by the web server in a separate response not shown extracted and routed dynam ically into all subsequent requests For many users this will completely automate test case development Some users will need to add some custom configuration to simulate complex application logic Edit field Choose a datasource for the field _billing Datasource Encoding Parsing Value Datasource Text with replaced regions v Edit Data Source Select the type of Data Source that should be used Javascript Encoder transformation of User Variab Dekecnete User Variable address_id 2 Name Recorded Value address_id 33875999000 _same_as_par address 4735 ROCKV i address_id 33875999000 _same_as _par
16. tinue filling in new rows by typing new entries and pressing the lt RETURN gt key Press the lt TAB gt key to fin ish editing the last new entry Reloading a dataset There are two options for reloading a dataset from an external file automatic and manual The Reload button will attempt to automatically re import a dataset using the settings that were originally used to import the dataset the first time If an error occurs or the dataset was not originally imported then the manual method must be used The manual reload button beside the Reload button will open the dataset import dialog If the dataset was originally imported from a file those settings will be preset in the dialog If not the dialog will have the settings last used to import a dataset Editing dataset fields The Edit Fields button will open the Edit Dataset Fields dialog which is similar to the New Dataset dialog shown in the Datasets section QJ Edit Dataset Fields i x Name Users Fields Username Password Remove OK Cancel This allows the creation or removal of fields in the dataset A field may be effectively moved by deleting it and adding a new field at the end with the same name Filling fields with generated data The Fill button allows the selected field to be filled with generated values Select the field to be filled by pressing the field name column heading in the table Then press the Fill button to open t
17. 00 101 00 00 049 200 http counte logo_top5 gif 4 00 00 00 020 200 http webper howmany gif 4 00 00 00 010 200 http s webper home_off gif 3 00 200 http s webper company _off gif 4 00 00 00 010 200 http s webper products_off gif 2 00 00 00 040 200 http fwebper sales_off gif 4 00 00 00 010 200 http fwebper support_on qif 1 00 00 00 010 200 http fwebper download_off gif 4 00 00 00 010 http fwebper library _off gif 4 00 00 030 4 00 00 030 200 http webp ev To display the changes in performance of web pages over more than two replays open the Testcase Report For example selecting the Open Report item from the Testcase Editor menu Then navigate to the Trend section of the report E Web Performance x Trend Save Testcase Report Web Performance wing took Performance Trends This section illustrates the change in page performance duration and size over time Page Duration 10 0 N ul 5 0 Page Duration sec 2 5 0 0 0 1 2 3 4 5 6 7 8 9 10 11 recording replay a Load Testing Software Web Performance Inc Website Load Testing Software Web Performance Inc 1 2444 1682 1392 1202 2584 5799 2453 1202 2614 681 1332 711 1523 691 3596 1472 921 2063 1182 1362 580 611 641 560 Run a Load Test The first step is to create a Load Configuration Select the testcase in the Navigator and from the pop up menu choos
18. Allow these Domains and exclude all others example com example com Add Domain Remove Domain V Deny these Domains cdn example com Add Domain Remove Domain Remember settings where applicable Cancel If the Remember settings option has been checked the domain restrictions will be remembered in future recordings even if the advanced recording dialog box is not invoked 2 http example edu X G X e example edu domain not eligible for recording Global Transaction Blocking Preferences The Transaction Blocking Preferences screen may be accessed by selecting Window Preferences and then selecting Web Performance Recording Transaction Blocking To block all transactions with a selected server simply press Add Host next to the Hosts section and enter the name of the server as it appears in the URL In order to specify a subdomain just include a in front of the domain name and all hosts ending with that domain will be blocked If only blocking for a specific URL is desired press the Add URL option next to the URLs section and enter the full URL of the resource to be blocked When finished editing the blocked resources press OK to save the configuration The rules entered will take affect in future recordings and transactions matching the rules provided will be omitted from those recordings type filter text General He
19. If the URLs are not important to the testcase such as images or links for link tracking click analysis etc they can be deleted from the testcase using the Cut item in the pop up menu for the transaction These URLs can be added to the URL blocking list see the Blocking Undesired Transactions section of the man ual If all the URLs for a particular server host name should be ignored you can use the Host name blocking list also described in the Blocking Undesired Transactions section Testcase Analysis FAQs How can determine the total size of a web page including images and scripts 1 Record the pages 2 In the Editor check the Size column 3 Expand the page in the tree to see the sizes of individual resources on the page How can I examine the HTTP headers my server is returning 1 Record some pages from your server 2 Open the Headers view 3 Select the page or URL of interest in the Editor How can see the cookies my browser is sending to a web server The cookies are sent between browser and server in the Cookie and Set Cookie headers See the Headers HowTo How can determine if my web pages are getting faster or slower Follow these steps in the Quick Start Guide 1 Create a recording 2 Replay a testcase 3 Analyze the Performance Changes How can find the slowest pages on my website 1 Record the pages of your website 2 In the Editor click the Duration column to sort the recording by page durat
20. Preferences a lol x type filter text Load Test Ovo Help al Install Update Default Sample Period sec fi 0 Live chart samples fi oo Web and XML Web Performance I Record URL metrics V Record detailed page durations Baseline Report l Terminate test immediately when completed do not allow users tc F Browser Client Certificates Configuration Wizar a mn R Diagnostics gt Error Recording Dialogs Number of descriptions fioo File Upload IP Aliasing Number of pages fio Licenses Load Test Trace Logging Load Test Report Number of users to log E Performance Goals Location of log files Proxies SaaS pu Recording Atmp tracelag Server Checklist Think Time Timeout sage Socket Activity Timeout use 0 for no timeout fo seconds To one Default Sample Period Specifies a default value for the frequency at which data metrics snapshots are recorded in seconds The default value will be used when a new load test configuration is created Live Chart Samples Specifies the number of points to plot in each chart while a test is under way Increasing this value will allow each chart to show data for a greater length of time but may increase the amount CPU load required by each chart as it is animated This setting has no effect when reviewing data from a previous test Record URL metrics
21. When a replay is selected the view changes slightly to show errors encountered during the replay During a replay if the Errors View and Testcase Editors are active it is dynamically updated as each page completes except in fast replay mode then it is updated when the replay finishes over Past Everton RM 9 errors in replay 10 04 AM 2 8 06 replay Time Description URL 00 00 00 Reply size validation Failed the content size 20195 did not match the expected value of 20188 00 00 00 404 Object Not Found http idell graphics buttons 00 00 00 404 Object Not Found http Hidell graphics buttons 00 00 00 404 Object Not Found http dell graphics buttons 00 00 00 404 Object Not Found http idell graphics buttons 00 00 00 404 Object Not Found http idell graphics buttons 00 00 00 404 Object Not Found http fdell qraphics buttons 00 00 00 404 Object Not Found http tdell7 jgraphics buttons 00 00 10 Content validation Failed the content abcdefg was not found on the page http dell company html Loadtest errors When a loadtest is running the errors view is continually updated with any errors that occur during execution of the test If the data associated with the error was recorded an icon is present in the description field Presence of the icon indicates that it is possible to go directly to the Testcase Editor to view the URL corresponding to the error by selecting error in the table then selecting the D
22. but only have one hundred of these active at any given time The software license describes the number of simultaneous virtual users which are different from how many user identities exist From a technical point of view when you have for example 100 active virtual users it is really describing the level of concurrency 100 users are active at one time The user iden tities though will be swapped out as needed to maintain 100 concurrent test cases From the point of view of a virtual user when a test case finishes it repeats that test case using a new user identity How many simultaneous virtual users you need to simulate depends on a number of factors starting with how you express your web site s capabilities Please refer to the hardware requirements for more infor mation One thing to keep in mind that performance testing starts with testing your individual back end machines Most large web sites scale by adding web servers and application servers Setting up a large multiple server performance test takes significantly more time and resources than setting up a single server test For that reason you may want to start testing with a small number of virtual users on an individual test server For detailed background information about doing performance tests on a web server check out our mini_ book reviews or Call for more information Recommended Reading While Web Performance Load TesterTM makes it as easy as possible to do web performan
23. configuring and verifying each testcase the next step towards a load testis to create a load configuration Select the Check Balance testcase in the Navigator and then select the Create Load Con figuration item from the pop up menu G web Performance Load Tester File Edit Repository Record Play Window Help ldoqgd S 8 u gt o E accounts XN I Lifespan Testcase BankServiceDemo wpt Testcases El H Datasets Edit E accoun C5 Load Confit 9 Open Repository ca Glose Repository E New Repository Ez Save Repository Recently Used Record New Testcase T Create Empty Testcase Test Duration Virtual Users Run for 3 minutes Start with 5 users Sample period 10 seconds IV Increase by 5 users every 1 minute s I Limitto io users total Start 15 maximum users estimated FF Select testcase to add x dp Testcase Weight oy Speed Think Time VU Start Delay Redirect Check balance 100 100 5Mbps Recorded Random 1 Running the load test At this point the hard work is done Push the start button to start the load test The test will add 5 VUs each minute if you are using a demo license it will stop at 10 VUs for the last min ute of the test When the test is complete the results screen will look something like this Check balance _ accounts 3 Load Configuration 1 9 15 06 3 46 PM Load Confi
24. j HTTP 127 0 0 1 gt 2525 Secure 127 0 0 1 2526 FIF Socks Use the same proxy server for all protocols Exceptions Do not use proxy server for addresses beginning with Y Use semicolons to separate entries OK Cancel In the Proxy Settings dialog Windows must be provided with the address the analyzer is configured to listen to In the HTTP fields enter 127 0 0 1 for the address and the HTTP port number configured in Step 1 for the port number Under certain configurations you may have to try substituting the machine name localhost for the address 127 0 0 1 In the Secure fields enter 127 0 0 1 for the address and the SSL port number configured in Step 1 for the port number Note that the Secure line may not always be the 2nd line Itis also important to clear any entries in the Do not use proxy server for addresses beginning with field these could prevent the browser from using the recording proxy press the OK button The final step in the browser configuration is to configure the HTTP connection for the browser for a proxy using the Advanced tab of the same Options Dialog Make sure that the Use HTTP 1 1 through proxy con nections option is turned ON Internet Options Ed General Security Content Connections Programs Advanced Settings Always Hover Never CJ Use inline AutoComplete for Web addresses Use smooth scrolling HTTP 1 1 settings
25. let us suppose that the HTML document contains a Javascript fragment google ad client pub 1971486205579989 In this case only part of the value of the field has been declared in the source of the script The full value is determined at a later point in time by concatenating the prefix ca with the variable value declared In order to play back this case the detector should only detect the dynamic fragment This may be accomplished in our example using the following detector configuration Parameter Value detector sdd detector name Example Ad Client ID Detector string prefix google_ad_client string suffix p field name client fragment pattern pub d 10 In this case the additional field fragment pattern allows this detector to use a dynamic value defined by the HTML to replace pub 1971486205579989 within the value ca pub 1971486205579989 Variable Field String Delimited Detectors Like the String Delimited Detector this detector requires both a prefix and a suffix However the variable name may be substituted anywhere into the prefix or suffix by including the string 0 without the quotes wherever the name should be substituted Single quotes must also be entered twice where used For example Suppose the fields TX_ID and TS_ID were assigned in a page using a snippet of javascript code written as s setField TX_ID 1234 7 setField TS_ ID 56789 Then the Variable Delimited Detector could be conf
26. see the section on Customizing a Testcase With a scripting based load tester you d have to find each dynamic variable and where it is used and con figure it by hand if it is supported at all A typical application could have hundreds of dynamic variables which means developing the test case can take days even if you understand the scripting language Load Tester s Application State Management wizard automatically finds and configures each dynamic variable for you It locates where the variable is first used and configures a parser to extract that value at runtime and then detects where the value is used and configures data replacement so that each virtual user gets its own unique runtime value Starting the Application State Manager The Application State will normally be automatically configured by the Testcase Configuration wizard before a replay can be attempted To run the wizard again at a later time select the testcase in the Navigator or open the testcase in the Testcase Editor and select the Configure Application State option from the pop up menu or toolbar 5 lta 4 Application State Management Configure Dynamic Fields in test case Value increment loop The Application State Management wizard will configure your testcase for application state variables that are generated by the server under the covers in complicated web based applications Note that this does not cover data that was input by the user t
27. shown as 200 the number of virtual users you can simulate is limited by the speed and memory of the play back machine so that the actual number of virtual users generated is potentially lower than the value in the potential field E Load Configuration 1 g Test Duration Virtual Users Run for 4 minutes v Start with 50 gt users Run maximum repeats z zj R V I ncrease by 50 v users over 1 v minutes v Data Collection ee Start Sample period 10 seconds nd Suny E minutes 2 imi 90 V Detailed Page Durations M Haire Mb gt eae ore V Individual URL Metrics 100 maximum users Select testcase to add Testcase Weight Speed Think Time VU Start Delay Repeats recording 4 100 100 5Mbps Recorded Random 1 n a Test Length Duration can be specified in units of hours minutes or days The duration of the test should change depend ing on your testing goals If you are just trying to get an idea of the speed of certain operations on your site useful performance information can be gained for tests that are a few minutes long You can then tweak parameters in scripts or machine configuration and see if it has an effect on performance If however you are trying to stress your web site to see if anything breaks you ll want to run the test over a longer period of time Alternatively itis also possible to have a test stop after repeating a fixed number of times This approach allows the test to continue r
28. this detector will replace the value by the discovered assignment If PARTIAL this detector will only replace the value ifa DEFINITE assignment for the same field was not found If omitted this field defaults to PARTIAL content_type pattern Specifies a regular expression which constrains on which pages the detector will look to find the value If this pattern is specified then this detector will only search for field assignments within pages that have a Content Type containing this expression For example content _type pa ttern text html1 will cause the detector to only search within HTML documents If this expres sion is not specified the detector will search all available transactions for a match groups count The number of capture groups specified in the search pattern If this value is omitted it assumed to be 1 groupN name pattern Specify this pattern to constrain by name which fields group N will be considered a valid assignment for For example consider a testcase with two fields name value quantity 1 ctri 00 1 And a search pattern search pattern lt input name ctrl1 d 2 value d gt Using this pattern the value 1 will be extracted which can match either field By specifying groupl name pattern ctr1l d 2 this detector will only assign the extracted value to the field ctrl 00 groupWN value pattern Specify this pattern to constrain by recorded value which fields group N will be considered a valid assignment
29. this is considered a security hazard so when the browser detects this sit uation it will display a warning message stating that it cannot verify the identity of the server This is a good thing If it didn t then other programs might do what Analyzer does in order to steal your personal infor mation To proceed with recording you can simply accept the certificate and continue with the recording This will not adversely affect Analyzer s ability to record your session but it might produce recordings with response times that are significantly longer than a normal user would see because of the time it takes you to dismiss the warning dialog If a site uses multiple servers such as most large banking and e commerce sites the security warning may be displayed multiple times How to suppress the warning messages Analyzer generates an internal root certificate that is used to sign all of the fake server certificates This root certificate may be imported into your browser as a trusted root certificate authority This will allow your browser to automatically accept the certificates that are presented by Analyzer without displaying a warning message Note that the internally generated root certificate is unique to your computer this ensures that the certificate could not be used in a server spoofing security breach unless the attacker had already gained access to your computer and stolen the certificate To suppress the warning message
30. you may specify the source file as the output file You can specify any number of load engines and or server monitors by separating them with semicolons like this engine1 example com engine2 example com engine3 example com Optionally this command can also save a copy of the report in zip format Support Request The Support Request is used to send a question or issue to the Web Performance Support team or attach files to an existing issue ory Record Play Window Help E Introduction The Support Request Form is available Sam 2 Help Contents from the Support Request item on the Help j ftest Getting Started menu is Support Request gt Software Updates l i About Web Performance Analyzer On the first page of the support wizard you choose to create a new issue or attach files to an existing request If attaching files to an existing issue use the exact number received in the e mail when the issue was created e g WPA 111 or WPL 222 Once an e mail address is entered you may proceed to describ ing the issue and attaching files to the support request If an error occurs while sending the request please visit our website and manually submit the form as described in the next section Manual support request submission Support request can be submitted on the Support Section of our website You must create an account in order to submit a request Once you have an account login and sel
31. 1 231 614 bytes Title DotNetNuke Blogs gt Home 1 DotNetNuke default css module css Undo container cs Reda skin css 1 portal css 1 o Cut WebResour Copy dnncore js 1 Copy URL dnn js 1 B Paste dnn xml js 1 i Paste As New Pac dnn dom pos dnn xmlhttp j dnn controls ScriptResou te Properties ScriptResource axd 2 qradient_DkBlue The picture below shows the a transaction configured with an individual performance goal The dialog for setting an individual page goal is similar Edit View In 5 lll my TD fi fi Import Export lt E iy iy ii fi ii fin x Edit Transaction properties Edit the properties associated with the transaction http dotnetnuke dnn Portals _default default css Name default css 1 Performance Goal C Use testase goal C No default goal Custom goal fi sol milliseconds Applying performance goals to all pages or transactions in a testcase Apply performance goals to each page or transaction in a testcase in the above manner can be repetitive if the goal is the same for every page To eliminate this work a page or transaction performance goal may be specified for the entire testcase It will be applied to every page or transaction that is configured to use the testcase goal this is the default setting The goals may be configured on the testcase properties dialog acce
32. 3 http fcounter2 hitslink com statistics asp v 18s 2078 amp gt Connections Datasets This table shows details about each connection established during the replay 1 Connection number starting at 0 2 hostname 3 connection state 4 number of transactions performed on the connection 5 current URL being processed Datasets tab This shows each of the dataset rows that is currently in use by the Virtual User VU during the replay Users password 123 username dave Connections Datasets In the above example the Virtual User is using one dataset Users The dataset has two fields password and username and the currently selected row has values 123 and dave for those fields Menu actions These actions are available from the Replay View menu Yio Al v Remember dataset position Reset dataset state Remember dataset position When a VU replays a testcase and it has modifiers configured to pull values from a dataset the position of the row in the dataset is automatically advanced when the row is returned This allows a testcase to be replayed multiple times with different data This setting is on by default Turning it off will cause the VU to start at the beginning of each dataset when the replay begins Reset dataset state This action forces the VU to reset the next position of each dataset to the beginning Rows currently in use are not affected Fields View The Fields View
33. 9 22 AM 8 15 05 replay Web Performance Inc 91830 boftware Web Performance Inc 75744 boftware Web Performance Inc 79106 a B Spat Web Performance Testing Inc 1 83033 q Support Web Performance Testing Inc 2 65015 Support Web Performance Testing Inc 3 To easily see the performance differences between two replays or a replay and the original recording select the Compare to menu item in the Testcase Editor menu The testcase editor adds new columns that show the changes in the size and duration of each page and URL in the testcase Our Public Website Compare to 10 Mbit 1 Mbit 512 Kbps 128 Kbps 56 Kbps Hide comparison Show changes as 1 55 PM 8 24 05 replay aa vs Web Performance 121 bytes aie 13 269 sec 00 00 828 sec elapsed a Title i Status URL E a i Load Testing Software Web Perforr 91803 00 02 453 00 00 009 200 http webper Website Load Testing Software We 75720 4 00 01 182 4 00 00 341 200 http webper Website Load Testing Software We 79082 4 00 01 282 00 00 121 200 http webper B Support Web Performance Testing Eo Ee eee eee E Support Web Performance Test 00 00 230 00 00 140 200 http webper wpistyle css 4 00 00 041 00 00 001 200 http webper viewlet js 4 00 00 051 00 00 009 200 http webper bg3 aif 4 00 00 00 020 200 http webper clear gif 4 00 00 00 001 200 http webper statistics asp 4
34. Configure gt User Identity item from the pop up menu in the Navigator e Selecting the Configure gt User Identity option in the Edit menu e Selecting the User Identity option from the Configuration button on the toolbar Manually Configuring Form based Usernames and Passwords Although the User Identity Wizard works for almost all cases sometimes the user needs to manually con figure a testcase for web form authorization The first step is to examine the recorded testcase and find the fields where the authentication form is submitted For complex applications it helps to determine the field names ahead of time possibly from the application developers You can then use the Fields View to con figure the username and password fields Repository Cleanup Wizard The Repository Cleanup Wizard will guide you through cleaning up excessive data from your repository This allows for reduced memory utilization by the application and also provides a way to archive old infor mation To start the wizard right click on your repository in the Navigator View select the Tools menu and select Cleanup xl Cleanup Repository Please select a location to backup your repository file This wizard will assist you in removing information from your wpt file Previous information may be removed in order free up available memory It is strongly recommended that your current file be saved to an alternate location before proceeding File server1 tes
35. Delete Author author width 60 show false Modified timestamp width 100 show false Page Title pagetitle width 200 show false URL url width 400 show false Rename Column v Sort VISIDIE LO Name name width 137 Type type width 83 shc Datasource datasource v Recorded Value recorded Transaction Title txntitle Name Name Type Datasource Recorded Value Transaction Title 87838 g v Filter Filter Text Name Filter Value The Fields View will now show only those hostnames with amazon in them The fields can then be multi selected ctrl A to select all and edited choose Edit from the pop up menu The Field Editor dialog will appear Edit field Choose a datasource for the field Hostport gt a Datasource Encoding Host port Recorded Value multiple values Datasource Tetconstant 4 Host port a os amazon com O Host port Host port Host port Each of the host port fields will appear on the left 1 and all will be initially selected The options on the right will reflect that selection In this example the selected fields have more than one value so the Recorded Value field indicates that condition 2 To change all the values to another single value simply edit the text 3 To configure for example the field names to be determined dynamically at runtime based on a pre c
36. E Any of the Request or Response header values can be changed by double clicking in the Value column and typing the new value Request headers may also be edited using the modifier configuration below Configuring Modifiers on Headers Modifiers can be added changed or removed from HTTP request headers using the Edit HTTP header dialog which is opened by double clicking on the modifier icon This dialog is similar to the Edit HTTP Request line URL dialog above see the description for fields 6 8 QJ Edit HTTP header x Name Host Use Constant webperformanceinc com Dataset 7 Field r C User variable cne Dataset value Editing Status line The status line in the HTTP response may also be edited by clicking the Edit button CELETTE x version HTTP 1 1 Status 200 Description OK ce Content View The Content View shows the content body of each HTTP message for the selected web page or URL It has two sub viewers for the request and response content Each viewer has tabs for displaying different types of content By default they will automatically select the best viewer for the content type Content viewer mode selection buttons these buttons control the visibility of the request content and response content viewers Title shows the title of the selected web page or transaction Find performs a search within one of the Text tabs Content viewer lock selecting
37. Editor menu then select Cancel comparison e Press the revert comparison button on the main toolbar e Select Edit gt Compare to gt Cancel comparison on the main menu for example 9 13 4M 8 3 05 replay 9 59 4M 8 11 05 replay 11 49 4M 8 12 05 replay 9 18 AM 8 15 05 replay 9 22 4M 8 15 05 replay Cancel comparison Show changes as Importing Transactions Occassionally there may be a scenario where the normal process of recording a transaction is not appro priate This sort of case could arise when attempting to test a Web Service with a client does not support manual configuration of it s proxy servers In this event individual transactions may be created and imported into Web Performance Load Tester in order to create the desired testcase In order to import a transaction a valid HTTP request and response pair will need to be created This may be accomplished either through a network diagnostic utility or another application capable of creating the exact transaction content given the testing environment The file format should be a plain text file containing the raw HTTP message without any further information Navigator 3 E fi new Framework tests wpt a Open Repository eg Close Repository ey New Repository H Save Repository Recently Used gt Record New Testcase T Create Empty Testcase iy o fab Paste ta r Ef the imported transactions are intended to be imported into
38. Handling AJAX callbacks e Load Testing from the cloud Load Testing Tutorial Part 1 Record and Analyze a Testcase Part 2 Configure and Replay a Testcase Part 3 Run and Analyze a Load Test Web Services Testing a Web Service presents a step by step example of testing a simple web service Advanced Configuration The Advanced Configuration Guide demonstrates several techniques and product features for configuring testcases for web applications that use complicated session tracking techniques or dynamic field naming conventions Introduction to Load Testing Introduction To Load Testing Web site load testing refers to subjecting a web server to a ramping number of simulated users The result ing analysis can measure your server s existing capacity and is an integral part of improving the performance of any web based application The purpose of the tutorials is to describe the Web Performance Inc load testing methodology so that our customers will understand how to systematically test their websites using our software but it is also appli cable to other performance testing situations The questions that are typically answered with load testing include e How Many Users Can Your Web Site Handle e Which Web Pages Are Slow e Does My Site Crash Under Load e How Many Hits Sec Can My Web Site Serve e What s My Site s Bandwidth Requirements e What s My Site s Baseline Performance There are three phases to the testing whi
39. Load Testin Web Server Load Testin Web Server Load Testin Load Testing Tools We Web Server Load Testin Analyze A Recording Performance Goals Performance can be judged by setting Performance Goals that are automatically evaluated by Analyzer to give a quick visual assessment of the performance of a website Evaluating Performance Goals When a testcase is displayed in the Editor the applicable performance goals will be evaluated for each page and URL Items that do not meet the performance goals are indicated with an icon Hovering the cursor over the icon will display a tooltip summarizing the failed goals Setting Performance Goals For instructions on configuring Performance Goals see the Performance Goals settings page Baseline Analysis Once a testcase is recorded then baseline analysis can be performed by creating a Load Configuration The purpose of the configuration is to specify the basic parameters of the load which will be used to gen erate the analysis i e number of users bandwidth of the users etc To start a Baseline Analysis right click on the test case and select New Load Configuration m en a Tour E Iver teams E fi sample_issue_tracker wpt TO Tfecording 1 Edit Open Repository D Glose Repository H E P C Le e New Repository R i Save Repository Recently Used d Record New Testcase New Load Configuration Py Chart
40. N Configure gt of Cut Copy G amp Paste CT Rename abe Al Import Ex port E Properties A new Load Configuration window will appear as shown below This can be configured using the infor mation in the Load Test Configuration Editor section of the Reference Manual Load Configuration 2 X Test Duration Virtual Users Run for 15 minutes Start with 50 users Sample period 10 seconds x IV Increase by 50 users every 1 minute s I Limitto io users total 750 maximum users estimated Select testcase to add x dp Testcase weight Yo Speed Think Time recording 1 100 100 56 Kbps Modem Recorded Once this has been configured to describe a load test then the baseline analysis can be viewed by right clicking on the Load Test Configuration in the Navigator Navigator A o an Load Configura Test Duration E fi sample_issue_tracker wpt C3 Testcases i 8 recording 1 i E recording 2 E dell C Datasets iE users B C Load Configurations RE AE Ha oad Configuration 2 Run For Sample period Open Repository Close Repository cy New Repository Save Repository Recently Used New Load Configuration 2 Open Baseline Report EE Run Load Test of Cut The following Baseline Performance Analysis report will appear Summary Bandwidth Goals Mas
41. Title Sort by Size 727380 bytes Sort by Status Sort by Duration oftware Web Performance Inc Sort by URL esting Software Web Performan esting Software Web Performan ce Trainer Price List Web Performar 70593 00 01 792 Performance Testing Inc 1 83043 00 01 372 Res Performance ach s Restore recorded order To return to the original view of the testcase select the Restore recorded order selection at the end of the menu Expanding and Collapsing Web Pages All of the Web Pages in a Testcase can be expanded to show all Transactions in the Testcase Editor by selecting the Expand button on the toolbar The Web Pages in the Testcase Editor can be collapsed to show only the main Web Page by selecting the Collapse button on the toolbar ding Window Help gt bP 00 bo peo I Load Testing Software Web Performance Inc B Website Load Testing Software Web Performance Changing the visible columns The Testcase Editor s table allows you to specify the columns you wish to view To change the visible col umns 00 16 422 sec elac 7 4 Compare to X Configure Open the Testcase Editor s menu and http www webperforme Open Report select the Properties item http www webpertorme htt jweww webpertorme Gi peers Editing Testcase Content Note that any changes to the testcase may cause the automatic con figurations applied by the ASM wizard to be invalid causing error
42. _off gif 5 1235 00 00 070 http webperforman products_off gif 3 1248 00 00 040 00 00 010 http webperformamn sales_off gif 5 1095 00 00 040 00 00 001 http webperformamn support_on gif 2 1189 00 00 030 00 00 011 http fwebperforman v b ofofo opi E E g g g g g In this example the following items have been added The comparison target has changed to reflect which replay is being compared to A column is added after the Size column that reflects the change in the page size A column is added after the Duration column that reflects the change in the page duration Icons in the new columns indicate if the performance has improved or degraded Tooltips over the columns indicate the magnitude of the change and the relative change as a The change for the entire testcase is also displayed Regardless of which replay is chosen first the data will be compare in chronological order For example if the greater duration was encountered on the replay chosen via the Compare To menu item a duration increase will be displayed Note that the size and duration displayed always correspond to the record ing replay selected in the dropdown list DAYN A change in the Status is indicated by a blue triangle icon For more information about the change placing the mouse over the icon in the table displays the full details for the comparison Viewing percentages The s
43. a new testcase then you may right click on the Testcases node of an open repository and select Create Empty Testcase Title Size Duratic Pr 290 00 00 0 lt Undo Ctrl Z of Cut Ctrl x B Copy Ctrl C B Paste Ctrl Import gt Into Existing Web Page P Export gt As New Web Page Smee With a Testcase Editor open you may right click on any Web Page within the editor and select Import Into Existing Web Page or right click anywhere in the editor and select Import As New Web Page to create a new Web Page for your transaction With the Import Transaction dialog open simply select the locations of the appropriate request and response files and then press OK The transactions will then imported into Web Performance Load Tester for use during Replays and Load Testing Exporting Messages Web Performance Load Tester is fully capable of also exporting raw transaction data from a Testcase Recording or Replay To do this simply open the recording or replay in a Testcase Editor and select the Title Size Duration Stal E Test Servi 321 00 00 023 B File Uploat 95 00 00 007 B File Uploat 68 00 00 147 of Cut Ctrl X H Copy Ctrl C Import gt hie Export gt Request IA Response f Properties transaction you would like to export data from Right click on the transaction and select Export You may export either the request or the response to a single file From th
44. above This format is optimal for posting to a website for easy dis tribution to multiple team members Note that this option typically produces hundreds of files in a folder all the files must be distributed together Launch Open the current section in the default browser Settings Edit the report and analysis settings for this load test result The Server Performance Checklist compares key metrics against industry recommendations to help pinpoint the cause of performance problems Detailed descriptions of the metrics and tuning advice are available from the Server Metrics links below See the Server Monitoring link for a feature description and con figuration instructions Related Topics e Server Metrics e Server Monitoring e Test Analysis FAQs Server Monitoring Server Monitoring Introduction Monitoring the server is a critical part of load testing The Load Tester software automatically measures the change in user experience in response to load However additional information about the activity on the server is crucial to any diagnosis or tuning of the performance The software provides several different options for monitoring the server during a load test Those methods fall into two categories e Basic monitoring e Advanced monitoring Basic Server Monitoring Basic monitoring provides information about the CPU and memory utilization of the server during the test This can be accomplished in four ways 1 We
45. accept the CER format so try it first Start a recording When the Welcome Page appears click the test your SSL configuration link Click the appropriate link to download the certificate in either CER or PEM format Save the certificate somewhere you can remember e g your desktop Follow the instructions for your browser on importing the certificate We have included instructions for a few of the most popular browsers below If your browser is not listed here check the documentation for your browser ae a note the CER and PEM certificate files may be copied directly from the following folder where lt user gt is your windows username if the download links do not work C Documents and Settings lt user gt webperformance Internet Explorer 6 0 Select Tools gt Internet Options from the IE menu Select the Content tab Push the Certificates button Select the Trusted Root Certificate Authorities tab Push the mport button to start the Certificate Import wizard Push the Next button Push the Browse button and locate the certificate file where you saved it Then follow the Wizard to completion Vee eS After installing the certificate you will see it listed under the name Web Performance The certificate will expire in 10 years Firefox 1 5 Select Tools gt Options from the Firefox menu Select the Advanced icon Select the Security tab Push the View Certificates button Select the Authorities tab Push the mpor
46. activate the Actors view and select the login transaction in the testcase editor The Actors view will initially appear as below empty Extractors for lt webpage gt 1 Actions Taken Content Headers Errors Fields Replay v actors x Servers Engines Statistics Dump view Taa a 7H Modifiers Validators liz Extractors Press the Add Extractor button F to add a new extractor the resulting dialog allows configuration of the extractor In this case we want to extract the session identifier which is located between the lt sessionid gt and lt sessionid gt tags delimiters in the response As these values are entered in the Prefix anchor and Suf fix anchor fields the delimiters will be highlighted in the response content field in the lower third of the dialog If either delimiter cannot be located an error will be indicated at the top of the dialog If both the prefix and suffix anchors are found the target value for extraction will be displayed in the field at the bottom Next we enter sessionid in the Extract value in user variable field This will create a variable in the user state that will contain the session identifier when it is located by this extractor Note that if the delimiters appear several times and the first instance does not contain the desired value the Repitition number field may be changed to select the correct value I x Extract Yalue from Cont
47. again to reverse the sort order Multi column sorting can be configured in the Customize Dialog Moving Columns Drag the column headers to re order the columns Column order and visibility can also be configured in the Customize Dialog Customizing the table The table can be customized via the Customize Dialog which can be opened from the last entry in the Cus tomization selector or by choosing the Table Customization option in the pop up menu To save a customiztion for future use 1 Customize the settings either within the table or using the Customize Dialog 2 Within the Customize Dialog press the Save Customization button and then choose a name Customize Tat Select Customization Customization Namespace FieldsView fl Table Default fig file uploads mg hostnames fig path segments fig recently changed Set as Default Delete v Field Types V Filter fields by type Field types 7 FormField V QueryParameter V UserDefined V MessageBody C UrlPathSegment Header Author author width 60 show false Modified timestamp width 100 show false Page Title pagetitle width 200 show false URL url width 400 show false Rename Column V FileUpload E HostPort Visible Co Name name width 200 Type type width 40 shc Datasource datasource v Recorded Value recorded Transaction Title txntitle A 2 838 3
48. at any time during the replay Content Headers Errors replay x Testcase 11 49 AM 12 6 05 replay Duration 00 08 56 Pages 3 of 6 Status playing Errors 0 URLs 17 of 20 Current Page Website Load Testing Software Web Performance Inc 2 http webper Unlimited webperformanceinc com 80 waiting 26 http webperformanceinc comfimages download_anl gif webperformanceinc com 80 receiving 33 http webperformanceinc comfimages4 analyzer_sm jpc counter2 hitslink com 80 idle 3 http counter2 hitslink com statistics asp v 1 amp s 207 Connections Datasets After replaying with bandwidth limiting activated the timing shown in the testcase editor will reflect the effects of the simulated bandwidth limitations The effects can also be viewed on the Performance Trend chart which might look something like this depending on which network limits have been tested T Performance Trend Page Duration Testcase Our Public Website a o N n o o o a o r c 3 O a a o bes in original 10 Mbit 1 Mbit 512 Kbps 128 Kbps 56 Kbps recording replay Web Server Load Testing Tools Web Performance Center 1 Web Server Load Testing Tools Web Performance Center 2 Web Server Load Testing Tools Web Performance Center 3 Load Testing Tools Web Performance Center Web Server Load Testing Tools Web Performance Center 4 10 Mbit Web Server
49. available Note that the load testing and or the load engine by default is configured by default to use 200M of RAM There may be more memory available If so see the Configuring Memory Usage page for configuration instructions Users The number of VUs running in this load engine Total Capacity The estimated number of VUs that the load engine can handle Note that this estimate is very conservative and can be very innaccurate at low numbers It is not unusual for a load engine to report a total capacity of 15 VUs when 1 VU is running 80 when 10 are running and 500 when 400 are running Engine Status The state of the load engine Idle Initializing Running Stopping Error or Off line Bandwidth Out Total data transfer rate out from the load engine during the sample period Bandwidth In Total data transfer rate in to the load engine during the sample period Steal The time that the guest CPU had something runnable but the hypervisor chose to run something else instead applies only to systems running on virtual machines Server metrics Server metrics are collected by the Server Agents to help assess the performance of the server OS and appli cation servers during a load test Operating System CPU The total CPU utilization as reported by the OS For AIX servers this is the Logical CPU utilization Virtual CPU Usage AIX only the average percentage of time among virtual processors spent non ldle CPU Entit
50. be added to the list of servers for metrics gathering during a load test Server Configuration Web Performance Server Monitor Agent This option may be used to connect to an installed and running copy of the Web Performance Server Mon itoring Agent Typically the agents are automatically detected and enabled However depending on net work conditions it may be necessary to add the configuration manually by entering either the IP Address or hostname of the server on which the agentis running If the agent has been configured to use a specific port then the specified value of the RmiRegistryPort should be entered in the Port option Otherwise the default port is 1099 Current server configuration Server Color Type CPU V lane PC Basic X 2 0 Basic 4 tr r Add Remove Upgrade V Show live metrics Server monitor agents will be initialised in advanced mode by default but if you do not wish to purchase the applicable license you may still use the server monitor agent in basic mode by configuring it in the servers view Direct Windows monitoring No server side installation is necessary However the user running Web Performance Load Tester must have the appropriate Windows privileges to monitor the server See your network administrator for details Note that you must log into the Windows Server from the client machine prior to beginning the test The windows Direct monitoring is dependent on the Win dows a
51. be imported into either a new or existing dataset 3 Choose the field separators For CSV files choose comma This example uses tab characters between each field 4 By default the import process will automatically remove any leading and trailing white space from each entry This feature may be disabled when needed 5 If the first row of the imported file contains the names of the fields enable the Use first row option The import process will create a dataset with matching field names If not field names will be generated They can be edited later in the Dataset Editor 6 If your file contains characters that are escaped you may select this option to parse them as escaped characters This is useful if you must import values which span multiple lines Simply ensure that in your file each row in the dataset appears on it s own line and that line breaks within individual values are replaced with the characters r n or an appropriate new line sequence for your application server Once imported with the Parse escaped char acters option tooltips over each dataset value will display the com plete value with line breaks 7 As the import options are selected the Preview section will dis play what the first 10 rows of the dataset would contain if the cur rent settings were used Refreshing imported datasets M Preview Username Password iWebUser3 0000 kpbas WebUser3 0001 keqkq GAimport Dataset x Import From file a
52. be initiated from four places in the UI 1 Repository menu 2 Pop up menu in the Navigator pane right click to show 3 Toolbar 4 File menu standalone version only Opening Multiple repositories can be opened at the same time using by holding the Shift key while selecting items in the list or tree The repository test cases and datasets are displayed in the navigator when opened Closing When a repository is closed any open editor windows associated with the repository are closed Creating Before creating the repository you will be prompted for the file name and location Foer Perfog pance Analyzer File Edit Repository Recording Window Help l o Ema e gt Navigator web X gt O web fi RecordingsForManual wpt web Perf Testcases Title Web Performance Web Performance wit Old Website errors Datasets E Users i im mE gg imi imi Open Repository ce Glose Repository ey New Repository Recently Used gt Foc cE kE kE ek E TY TY i New Testcase Conte Py Chart Recently Used Repositories A shortcut to opening the recently used repositories is provided in the Repository gt Recently Used and the pop up menu in the Navigator Cut Copy Paste or Rename a Test Case After selecting a Test Case in the Navigator it can be cut copied or renamed The
53. can be reconfigured in addition to the entire field By default when the dialog is opened the value of the field will be selected for configuration The tree at the left follows the same color scheme as the Field View to indicate how a field is configured For more information on using modifiers to customize a testcase see the Customizing a Testcase section Controlling What Fields are Generated The Fields View uses a variety of rules called Parsers to decide what fields should be generated You can individually cherry pick a parser for any given field by modifying the field or fields under the Parsing tab of the field edit dialog box Choosing a parser for a field will cause that field to be broken into expand able sub fields For example the regular expression parser breaks out a separate field for each string that matches the regular expression you provide Edit field Choose a datasource for the field POST content Datasource Encoding Parse field as p v Configurati Default For parsers thi WWW Form URLencoded Multipart parser Default path segment parser DWR parser v Result JSON parser This is an exar Name Value Pair customizable Regular Expression customizable POST c Do Not Parse SAMLResponse PHA6UmVzcG9uc2UgSUQ9InJpZDEwNyYSNDUILIIBV 4 m In some cases if it cannot understand the recorded content within a field a Parser will fail This is not harm ful the conseq
54. case e Servers view displays CPU and memory usage metrics for the specified machines Status View The Status View displays the status of long running operations such as recording replaying testcases and opening repositories General GUI features Editors vs Views Editors including reports are always located in the center of the Load Tester window Views can be arranged around the edges of the Load Tester window Once the size of a view has been set it will try to maintain that size as the Load Tester window is resized The editors will receive whatever space is left over Resizing Any of the panes in the Load Tester window can be resized and the new sizes will be remembered when you restart Load Tester Rearranging Any view can be reordered within the tab group or moved to other place in the window by dragging the tab for that view The entire tab group can be moved using the Move gt Tab Group menu item from the tab s pop up menu Detaching floating windows Any view can be detached to a separate floating window using the Detached menu item from the tab s pop up menu Editors cannot be detached Minimizing and Maximizing Each editor and view can be minimized or maximized within the Load Tester window using the mini mize maximize buttons at the top right corner of each view The editors and views can also be minimized and maximized by double clicking the tab for the editor view Viewing multiple editors By default all
55. collects an extensive measurements during a load test This data is collected in samples Each sample has multiple measurements associated with it Depending on the measurement type some meas urements may not ba applicable during each sample and may therefore appear empty in some displays such as the Metrics View Unless otherwise noted the value of each measurement in a sample pertains only to events that completed within that sample period Please note that metrics were formerly referred to as statistics While the term sample is used for our data storage units it is important to understand that Load Tester does not rely on sampled data as some other load testing products do Unlike those products Load Tester meas ures the response time of every single page and transaction executed For instance every web page dura tion is measured and the page duration metrics reported reflect every page completed during the test Test metrics Test metrics are collected by the Virtual Users as the testcases are executed The data is collected at four levels Test Summary Testcase Web Page and Transaction These levels represent narrowing scopes of data for example web pages may contain many transactions and a testcase may contain many web pages In many cases the higher levels are not simply aggregations of lower levels but measurements tailored spe cifically for each level Attempts The total number of times the item was attempted during the s
56. computer e Users on machines that do not have an Internet connection can use a form on our website to activate the license key which requires a total of 3 additional steps We estimate this will take 2 minutes to complete Alternatively you can email the activation request file provided by our software to us and we ll return an activated license key to you e Once the license key is activated the software does not require access to our server for future oper ation Among other things this means that our server could disappear forever and the software will still function normally First time Activation When a license key that requires activation is installed for the first time the wizard will ask you to choose the activation mode automatic or manual If the computer does not have internet access you will need to choose the manual mode and follow the instructions described later for activating without Internet access When automatic mode is selected the software will contact the Web Performance server and activate the license key The software is then ready to use Activate License Ey Activate License Please select how you would like to activate your license This wizard will allow you to activate a license on this computer In order to activate this license now please select an Activation Mode and press Next below Activation Mode Moving the License Key When a user upgrades to a new computer the
57. controller before the upgrade can take full effect e Type You can set each Server Monitor Agent into advanced or basic mode depending on whether or e not you have purchased a license to use the Advanced Server Monitor Viewing Previous Results The Servers View can also be used to display server metrics for a given series of load test results In order to do this simply uncheck the option to Show live metrics and open a set of results The view will update to display previously gathered information from the selected test In order to switch back to the active con figuration simply re check the Show live metrics option Engines View The Engines View provides configuration options for each engine that will be used during a load test In order to connect to a load engine you will need a test computer with the load engine software installed For more information please consult the Load Engines section E Engines x Content Headers Errors Fields Replay Actors Servers Statistics m Current engine configuration CPU Utilized Name Status Color Users Capacit oCPU Mem 100 192 168 1 70 ide E 0 100 0 0 Ide E 0 100 0 0 M local Ide 0 100 3 28 50 w M N 0 vor Mi Lal LAN w A 00 13 31 posa m Memory Utilized 100 50 Mw 4 2 o AANA n Aiman A Add Engine Remove Configure IPs Upgrade V Show Live Data oo Bake ein 00 19 31 For active engines ready t
58. displays the form fields URL query parameters multipart content and file uploads from form fields found in the item selected in the Navigator View or Testcase Editor The Fields View can be opened from the menu Window gt Show View gt Fields Each row represents a field sent in a request White rows indicate fields that will be replayed exactly as recorded Green rows indicate fields that have been customized by a user and grey fields have been cus tomized by one of Load Tester s automatic configurators e g ASM The blue row indicates the current selection The most commonly used columns are shown here Additional columns may be shown via the customize dialog which is accessible from the pop up menu Table Customization or the customization selector see 2 below B Errors gt Replay Actors Search 7 Metrics E Content Servers Heade 4a Engines 5 Fields zm Fields in web page Issue Tracker Issues 4 5 tt Table Default 6 Name Type Datasource Recorded Value EVENTARGUMENT FormField User Variable _EVENTARGUMENT B ventrarGET AJia User 5 Jable _EVENTTARGET _VIEWSTATE FormField User Variable _VIEWSTATE 4 dDwtMzU3MjEONzA1 03Q8cDxsPFByb2plY3 ctilssueTabs ctlContentibtnAdd FormField User Variable ctilssueTabs ctlCon Add Comment ctllssueTabs ctlContent dropFont FormField 12pt ctllssueTabs ctlContent txtComm FormField Dataset issues comment comment on test issue 1
59. e a Testcase Editor tab e Web Page or URL in the Testcase Editor All errors for a testcase replay are shown in the Errors View when any of the following items are selected e a Testcase Editor tab when the replay is displayed e Web Page or URL in the Testcase Editor when the replay is displayed All errors for a load test are shown in the Errors View when any of the following items are selected e Load test results in the Navigator e aLoadtest Results Editor tab Go to the URL for the error To locate the URL responsible for an error select the error in the Errors View and press the Display in Editor button For testcase errors the corresponding URL is selected in the Testcase Editor For loadtest errors an icon is present in the description field if the data associated with the error was recorded and selecting the button opens the Testcase Editor containing the URL with the error and the URL corresponding to the error is selected Display in Editor Filtering errors When there are many errors in a Testcase it can be helpful to only view the errors for the selected web page This option can be enabled from the Filter By Page item in the Errors View menu and is only avail able for testcase and replay errors When activated this causes the Errors View to only show errors from the selected web page or the page corresponding to the selected URL AERE Filter By Page wi Viewing the Transaction Title and URL The final
60. editors appear in the same area of the Load Tester window To view multiple editors side by side drag the tab for the editor towards the desired edge Restore the arrangement by dragging one editor tab onto another editor Create a Recording To create your first website recording follow these steps 1 Press the Record button 2 Follow the wizard steps to auto detect the network settings and select a browser to use for recording 3 Enter a name for the testcase select a repository and a network speed optional 4 When the browser is launched visit your website As you browse the website Analyzer will record the pages and URLs retrieved from the server 5 Press the Stop button to end the recording and close the browser You may now review and inspect the contents of the recording in the Editor The other views Headers Con tent Errors etc will updated to show additional information about the pages and URLs you select in the recording Notes The configuration wizard can be reopened at any time using the Recording Configuration Wizard menu item on the Recording menu Inspecting a Testcase A recorded testcase is represented in the Testcase Editor by a tree of web pages and URLs Expanding the web pages reveals the URLs that make up the web page EA Web Performance with SSL x Web Performance with SSL 727380 bytes 00 30 582 sec 23 15 654 sec elapsed i Title Size Duration Status URL E Web Performan
61. example if the sample period is 15 seconds the Metrics views showing the results of a test will have values every 15 seconds This value should be shorter for short tests and longer for long tests For example if your test only lasts an hour then having samples every 10 seconds makes sense If though your test is intended to run overnight then the sample period should be much longer in the area of 5 minutes This helps make the data easier to interpret When running extended tests Web Performance Load Tester will collect large amounts of data which could cause the program to run out of memory and halt the test prematurely As a rule of thumb when running a test for multiple hours you should have sample periods that are on the order of minutes while short tests can handle sample periods as small as 5 seconds For more information please consult the section for the Load Test Configuration Editor Running a Load Test To run a load test start from the Load Test Configuration Editor and click on the Run Button The following view will appear ne amp 6 23 06 8 48 4M create issues X This is the Load Test Results View and will show you the test metrics being generated in real time These metrics can be confirmed by simultaneously running a separate monitor on the web server s such as the Windows Perfmon utility Keep in mind that the metrics from multiple web servers and Load Engines are being combined for you to give an overall p
62. for detector name The name given to this detector If omitted this will default to the file name less the properties exten sion encoding required Specifies the required URL encoding strategy that a value extracted by this detector must be encoded with before being transmitted over HTTP Possible values e URL the value should be encoded for use in a URL path segment or query parameter e FORM or TRUE the value should be encoded for use in a form field e lt characters gt specifies only those characters which should not be URL encoded any other char acters encountered in the value will be URL encoded unescape source Determines how characters might be escaped when extracting a string of text The available source for mats to decode characters are e HTML characters may be escaped as HTML entities For example amp amp will be extracted as a single amp character e Javascript characters may be escaped with a character For example u002B will be extracted as a single character e None The source format does not present characters in an escaped format For strings which use XML escape sequences the HTML option may be selected for standard XML DTDs whose entities are a subset of the defined entities for HTML Each source format to be tested may be preceded by a qualifier identifying how a match found using the specified source format should be used Valid qualifiers are Only Indicates this detector is only valid for strings
63. future recordings even if the advanced recording dialog box is not invoked 2 http example edu X G X e example edu domain not eligible for recording Global Transaction Blocking Preferences The Transaction Blocking Preferences screen may be accessed by selecting Window Preferences and then selecting Web Performance Recording Transaction Blocking To block all transactions with a selected server simply press Add Host next to the Hosts section and enter the name of the server as it appears in the URL In order to specify a subdomain just include a in front of the domain name and all hosts ending with that domain will be blocked If only blocking for a specific URL is desired press the Add URL option next to the URLs section and enter the full URL of the resource to be blocked When finished editing the blocked resources press OK to save the configuration The rules entered will take affect in future recordings and transactions matching the rules provided will be omitted from those recordings type filter text Transaction Blocking ar T G enera ae Help Transactions with the following servers will not be recorded Entries starting with Install Update are treated as subdomains and block all hosts within that subdomain JavaScript Host names Add Host Web ad doubleclick net Ciara Web Performance Remove Host g live com Baseline Report liveupd
64. gateway 192 168 4 1l Obtain DNS server address automatically Use the following DNS server addresses Preferred DNS server Alternate DNS server Advanced Cancel Note that in order to configure virtual IP addresses your computer must be configured to use fixed IP addresses DHCP is not supported If you are not on control of the IP addresses on your local network you should work with your network administrator to reserve a block of IP addresses The next step is to click on the Advanced button bringing up this dialog Advanced TCP IP Settings IP Settings DNS WINS Options IP addresses IP address Subnet mask 192 168 4 101 255 255 255 0 Add Edit Remove Default gateways Gateway 192 168 4 1 1 Add Edit Remove Interface metric fi Cancel The above dialog Advanced TCP IP Settings shows the list of IP addresses for your local computer To add virtual network devices click on the Add button which brings up the TCP IP Address Dialog IP address Subnet mask Add Cancel Enter the IP address and subnet mask of the virtual network device you wish to configure and this will be added to the list shown in the Advanced TCP IP Settings Dialog Advanced TCP IP Settings 2 x IP Settings DNS WINS Options IP addresses IP address Subnet mask 192 168 4 1
65. imported transactions is 0 Since these transactions have not yet been analyzed with a live server the duration metrics cannot be determined After a suc cessful replay has been completed consider promoting the replay to the base recording Select the Promote button on the Replay Properties dialog accessible from the replay drop down at the top of the testcase editor Step 2 Configuring session tracking Before we can execute this testcase in the current form we have to handle the session tracking used by the service We could replay the transactions exactly as we created them but the service would fail on the sec ond transaction because the replay would send the session identifier that we put in the transaction Since this session identifier has probably expired since we obtained it the get balance request needs to send the new session identifier from the login response Note that some services use cookies for session tracking much like a browser If this applies to your service and you can record it using the record ing proxy or you have imported real transactions captured in some other way the cookie headers might be in place and will be handled automatically by Analyzer In this case this step may not be necessary Two steps are required to handle session tracking for this testcase 1 Extract the session identifier from the login response 2 Modify the session identifier sent in the get balance request To do this
66. in transactions that are not required for the test case The click tracking URLs found on many large por tal websites or e commerce websites are a good example the testcase does not required these URLs to succeed and in many cases these URLs are unde sirable for the testing process You can use the Trans action Blocking features to eliminate these transactions from your testcase during the recording phase If 1 applies then the values must be provided by you in the form of a Dataset This data may be generated such as random or sequential values or imported into the dataset The appropriate values is entirely dependent on your testcase and the details of the application implementation Either the test designer or the developer will have to make that decision The Datasets page describes the process for creating datasets and the Fields View page shows how to substitute data from a dataset into a field entered by the user Step 3 Where does that data come from If the data did not come from the user then it must have come from the server The browser doesn t make things up so with the exception of randomly generated data in scripts everything else must come from the server The ASM wizard will automatically locate many of these When it does not you must locate that infor mation and either 1 Manually configure extractors and modifiers 2 Provide a custom rule that will help the ASM wizard find and configure this data
67. keeping the correct ratio e Speed Used to simulate the browser connecting to the web server over different types of network con nections from a 9 6kbps modem to a 100Mbps LAN The parameters are in bits per second and they include the two stop bits required for Modem communications This setting limits the amount of data the simulated user can read or write to or from the server The result is a more accurate simulation of expected server load Accurate simulation of network speed for each user also results in a more accurate simulation of resource usage on the server especially open network connections For example if your application generates a 40K graph the browser might spend a fraction of a second to read the graph when connecting via a LAN but could take up to 13 sec onds when the browser is connecting over a modem Having the socket open for 13 seconds instead of a fraction of a section puts a greater burden on the server and can significantly influence the result ing performance measurements Think Time There are two choices for this option none and recorded When none is chosen the web pages in testcases are played back in sequence without waiting between pages When recorded is chosen the web pages are played back at the rate at which they were recorded For example if the user paused for 30 seconds between pages while recording the original testcase the virtual user will pause at the same place for 30 seconds before rep
68. license key will need to be moved as well Prior to the move you should deactivate the license key on the currently activated computer via the Deactivate button on the License Key Management preference page in our software Then you can install the deactivated license key on the new computer and repeat the activation process Preferences oj x fype filter text Licenses moy Help Install Update Licenses installed for Web Performance tools Web and XML Commercial License for Web Performance Load Tester obsolete Import Web Performance Baseline Report Commercial License for Web Performance Load Tester obsolete Remove H Browser Load Tester demo license Client Certificates Backup All Configuration Wiz Activate Diagnostics File Upload Deactivate IP Aliasing ET z icense summary Licenses test license a Load Tasi Serial chris 1 Load Test Repor Licensed to WPI Performance Got Activated for user chris Proxies Activated on computer Viffer Recording Version code 3 3 999 Usage Expires December 31 2099 Privileges Export and Print Reports Generate Baseline Performance Report Run Load Tests 100 virtual users Review load test results fi up a coc Note When you deactivate a license key you will be prompted to save the deactivated license key so that it may be moved and reactivated on another computer If you have m
69. might do what Analyzer does in order to steal your personal infor mation To proceed with recording you can simply accept the certificate and continue with the recording This will not adversely affect Analyzer s ability to record your session but it might produce recordings with response times that are significantly longer than a normal user would see because of the time it takes you to dismiss the warning dialog If a site uses multiple servers such as most large banking and e commerce sites the security warning may be displayed multiple times How to suppress the warning messages Analyzer generates an internal root certificate that is used to sign all of the fake server certificates This root certificate may be imported into your browser as a trusted root certificate authority This will allow your browser to automatically accept the certificates that are presented by Analyzer without displaying a warning message Note that the internally generated root certificate is unique to your computer this ensures that the certificate could not be used in a server spoofing security breach unless the attacker had already gained access to your computer and stolen the certificate To suppress the warning messages two steps are required 1 Export the root certificate 2 Import the root certificate into your browser Exporting the root certificate The root certificate may be exported in two different formats CER or PEM Most browsers will
70. name Do need to go edit all the host files manually A No you can use Load Testers own hosts file which will be automatically sent to the load engines Read more Load Test Analysis FAQs Q Can change the performance checklist settings that are used to evaluate server performance in the Server Performance Checklist section of the Load Test Report A Yes Each checklist item can be edited or removed in the Server Checklist section of the Preferences Q Can see metrics for every transaction in my testcase instead of just for the pages A Yes You can turn on transaction metrics in the Load Test Settings preference page This must be turned on before you run the test Q Can see every single page duration during a load test instead of just the minimum maximum and aver age A Yes You can turn on detailed page durations in the Load Test Settings preference page This must be turned on before you run the test You will then see a Detailed Page Durations graph in the report in the Summary section each Testcase section and each Web Page section You can also see the detailed dura tions in the Metrics view Load Testing from the Cloud FAQs Q How does the cloud help with load testing A For most organizations generating load from outside their own network is problematic because it requires leasing computers in outside datacenters These computers may only be needed for a few hours each month If the required load i
71. next time you run the Application State Management Wizard any usage with their name or value specified in one of the ignore lists will be automatically ignored or hidden by the wizard Load Testing a Web Service Overview The purpose of this tutorial is to illustrate the steps required to load test a web service using Web Per formance Load Tester Although the demonstration service used in this tutorial is very simple the concepts presented are directly applicable to more complicated services This tutorial is organized into 4 main steps 1 Create the testcase 2 Configure the testcase for replay 3 Configure the testcase for multiple users 4 Run test and analyze results Introduction to the Bank web service The service tested in this tutorial provides an interface to bank accounts A similar service might be used for example to allow ATM machines in bank branches to access accounts in the central bank system The oper ations used in this tutorial are ogin and get balance These operations use a simple pseudo XML format for ease of readability Login transaction The login transaction sends the username and password in a login operation If successful the response contains a session identifier that must be used for future transactions The XML sent and received in this transaction look like this E content x Headers Errors Fields Replay Actors Servers Engines Statistics Dump view gt A i gt i UU lel
72. number must be incremented sequentially for each additional cookie in the file For example further cookies rules would start with cookie2 cookie3 etc It is recommended that once this file has been changed that Web Performance Load Tester be closed and re started in order to ensure the changes take full effect Dynamically Named Fields Occasionally your testcase will include variables that not only have changing values during playback but also change in name as well Consider the case where two variables are posted to your application server serialno 1234 color1l1234 blue In this case you may specify that the variable co or1234 should be renamed using a name derived from the variable serialno each time the test is played back In order to configure your testcase you must configure the Dynamically Named Fields preferences how to detect this behavior in your application This option may be configured through a preference page accessed by selecting Window gt Preferences and then selecting Web Performance Configuration Wizards Application State Dynamically Named Fields 10 x type filter text Dynamically Named Fields Prue l Help Identifier Fields Install Update The Following fields have values that known to be reused in the names of other fields E Web Performance add Field Baseline Report a Browser Remove Field Client Certificates Configuration Wizards Application State D
73. operation gt i lt sessionid gt 3HLE42054152004F52D7A0S17A1AABTS lt sessionid gt lt request gt When all parts of the POST have been configured press the OK button to save the changes With session tracking configured for the testcase the testcase may be replayed Pressing the Replay button P in the toolbar will invoke the testcase configuration wizard This wizard is very useful for complicated web applications but for simple web services it is frequently unnecessary Select the Do nothing option and press the Finish button G Configure Testcase Check balance x Testcase configuration The following wizards will assist you in configuring Testcase Check balance The following wizards can configure your test case for usernames amp passwords session tracking and dynamic variables and can be re run at any time IF you have no specific field management requirements the automatic settings are recommended 4uthentication User Identity Only use the login recorded Use different logins Session Tracking Configure automatically Guided configuration Application State Managment Configure automatically Guided configuration cme After dismissing the Testcase Configuration wizard the replay will begin It will likely end very quickly since itis a very simple and very short testcase When it is complete open the Errors view and then select
74. paste capability is acti vated once a cut or copy has occurred These actions are available in the following locations 1 Repository menu 2 Pop up menu in the Navigator pane right click to show 3 Toolbar Cut Any open editor window s associated with the Test Case are closed and the Test Case is removed from the list of Test Cases in the Repository Copy Copy is used along with Paste to create a copy of the selected Test Case in the specified Repository Paste Used in conjunction with Copy or Cut Paste creates a new copy of the last cut copied item in the Repository selected in the Navigator View Rename A new name must be entered Duplicate Test Case names within a Repository are not allowed Cut Copy Paste or Rename a Dataset After selecting a dataset in the Navigator it can be cut copied or renamed The paste capability is activated once a cut or copy has occurred These actions are available in the following locations 1 Repository menu 2 Pop up menu in the Navigator pane right click to show 3 Toolbar Cut Any open editor window s associated with the Dataset are closed and the Dataset is removed from the list of Datasets in the Repository Copy Copy is used along with Paste to create a copy of the selected Dataset in the specified Repository Paste Used in conjunction with Copy or Cut Paste creates a new copy of the last cut copied item in the Repository selected in the Navigator View Rena
75. provides access to the detailed metrics gathered during a load test The drop down choice fields oMem O gt O gt 28 El IV Show Live Data CPU Utilized 100 50 i 0 nM LM M LO 0 ales Res BI 00 15 31 r Memory Utilized 100 50 wer 0 WAV ONET EEN o o ii Re e l 00 15 31 at the top provide navigation to the various categories and levels of metrics Please note that the Metrics view was formerly know as the Statistics view The first field allows selection from the 4 main categories 1 summary metrics relating to the entire test 2 testcases metrics for each testcase entry in the load configuration 3 servers metrics for the servers monitored during the test if any 4 engines metrics for the load generating engines used during the test Content Headers Errors Fields Replay Validators Servers Engines E statistics x E Statistics For 6 23 06 8 48 4M create issues summary 7 Page choose page choose URL summary Errors o 0 0 o 0 0 0 engine z i 0 112 066 00 01 28 20 0 14 104 474 52 00 01 40 20 o 10 95 983 43 00 01 51 20 0 21 123 396 33 n nn 59 20 12 98 14 When a testcase is selected in the first choice field the remaining fields allow selection of the page and URL within the testcase Tooltips for each column describe the meaning of each column Exporting data The data displayed in t
76. some aspects of Web Performance Load Tester which may only be customized by creating or edit ing custom configuration files For most users these settings will not need to be altered manually unless directed by Web Performance personnel or required by another procedure outlined in the user manual Locating Configuration Files Configuration files are generally stored in your Workspace directory If a suitable file is not located a default may be selected from the application s installation directory Type Default Location C Documents and set Custom Con tings lt username gt WebPerformance metadata plugins com webperformanceinc util figuration Files or C Users lt username gt WebPerformance metadata plugins com webperformanceinc util Default Con C Program Files Web Performance Load Tester lt ver figuration Files sion gt plugins com webperformanceinc util_ lt version gt config Please note that the directory C Program Files Web Performance Load Tester lt version gt will be different if you selected to install the application at another location Tip When customizing a configuration file manually it may be useful to check the application s default con fig file directory If a file is found with the same name it can be copied into the custom configuration file direc tory before editing it The edited file will take precedence over the default version which may be safely maintained un edited as a backup Glossary of Te
77. system properties creating it if it does not exist located in the directory where the agent was installed The following lines may be added RmiAgentAddress 192 168 1 62 RmiRegistryPort 1099 RmiAgentPort 1100 These values have the following effect RmiAgentAddress Controls which local IP address the agent will accept incoming connections on If set the agent will accept connections from the controller only on the specified IP address By default the agent will accept connections through any of it s available IP addresses However setting this field may elim inate connection problems particularly if the agent has IP addresses from different protocols such as IPv4 and IPv6 RmiRegistryPort Controls which port the agent will accept incoming connections from If this field is omitted it will default to using port 1099 RmiAgentPort Controls which port the agent will use to communicate information with the controller once connected If this field is omitted it will default to using any available port This value can be set to the same port as the RmiRegistryPort this can make it slightly easier to configure firewalls to allow the controller to reach the engine Additionally it may be necessary to specify the public IP address from which the agent will be accessed especially if that IP address is assigned to a NAT or firewall device other than the server itself This may be specified by editing the file Server Monitor Agen
78. the filter 8 Search Highlight cells in the table containing the search text Turn on the RE option to search by Reg ular Expression The button next to the search field clears the search 9 Hierarchy buttons These button control how much of the field hierarchy is displayed More on Filtering Fields can be filtered by entering the text in the filter field 7 above or in the Customize Dialog Column specific filters can also be configured in the Customize Dialog or by picking Filter by Column from the pop up menu Field Hierarchy The field hierarchy mode buttons allow you to choose from a flat full and abbreviated hierarchy modes The default mode is the abbreviated hierarchy which shows each field that meets the filter criteria and all chil dren of that field The flat mode displays all fields that meet the filter criteria in a list sub fields appear as separate fields unrelated to their parent fields The full hierarchy shows the structure of the entire transaction down to each field that meets the filter criteria and all sub fields below Note that if no fields in a transaction meet the filter criteria then the transaction will not appear In many cases the full hierarchy mode is most use ful with the field type filter turned off The expand and collapse all buttons quickly reveal or hide the full struc ture of the fields Sorting The fields can be sorted by a single column by clicking on the header of the column Click
79. the individual URLs For example a request for the URL http mysite com widgets 14697302 index html may need to be dynamically replaced for the path segment 14697302 for each virtual user Detectors are presently limited to searching for a path segment within the location header of a previous redi rect response For further configuration options please contact support A sample configuration file for this form of URL would look like Parameter Value detector dpsd segment pattern d 6 Fields Required detector the type of detector to use This style of detector may be specified as DynamicPathSegmentDetector dpsd for short segment pattern a regular expression defining the criteria for what path segments are eligible for dynamic replacement This detector will first ignore all path segments that do not entirely match this expression Each dynamic component within the expression must be within a capturing group to then be eligible for replacement In the above example the pattern d 6 reads Look for a segment containing at least 6 decimal digits and only decimal digits and then replace the entire segment To replace just the numeric component within a path segment such as 64315_A you could use the expression d 5 gt _ w Optional detector name the name given to this detector If omitted this will default to the file name less the properties exten sion assignment the confidence that this detector has t
80. the load test e The system clock on both the server and Load Tester workstation should have the correct time date and time zone Stopping Data Collection To stop collection of performance data from the Server Agent command prompt enter the command stop log Next note the location of the performance log file and copy this file to the workstation running Load Tester Importing Performance Logs into a Load Test Once the performance logs have been stopped and moved from the server to the Load Tester workstation they may be integrated with a completed load test result To import server logs right click on the test results and select Import Advanced Server Analysis Agent Log Navigator 8 recording 1 2 a 0 failwpt recording 1 173 319 bytes 4 Testcases Title recording 1 B Web Server Load Testing Tools Web Performance Center Datasets 4 amp Load Configurations B Web Server Load Testing Tools Web Performance Center i my load test B 12 10 107 amp 12 16 10 A 12 16 10 Open Repository g 12 16 10 Close Repository B 12 16 10 amp New Repository 12 17 10 Save Repository B 12 17 10 Recently Used B 12 17 10 amp New Load Configuration Edit B 12 30 10 amp Open Test Results 12 30 10 Open Test Report 1 5 111 Tools Reports of Cut Copy Paste Rename Import Dataset Export Advanced Server Analysi
81. transaction may be imported one ata time from an existing file How can repeat part of a testcase Open the testcase properties dialog Properties item from the pop up menu on the testcase in the Navi gator You can select the start point and end point for looping within the testcase When the Virtual User runs the testcase it will start from the beginning and proceed to the configured end point Run To Page Then it will restart at the start point Restart At Page and continue When the load test is stopped it will then run to the end of the testcase What happened to the hostname redirect column in the load configuration editor In previous versions of Load Tester 4 1 and earlier when creating a load configuration it was possible to redirect all requests in a particular test case to a specific host As of version 4 2 this capability has been replaced You can instead edit the hostname in the Fields view in the same way that you would edit any other field In the Fields view select the hostnames customization and select the occurrences to be changed CTL A to select all and choose Edit from the pop up menu If the testcase has multiple hostnames and you only wish to redirect one the filter field at the bottom will make it easier to select only the transactions tar geting that host In the Field Editor dialog configure the hostname field to use a different source such as a text constant for a single host or a dataset to test mult
82. un escaped by the specified format Probably The detector should decode characters during replay with the specified format even when the decoding does not appear necessary from the recording Maybe The detector may decode during replay with the specified format if decoding appears nec essary from the recording e Never The detector should never attempt to decode characters with the specified format When a source format is specified without a qualifier the qualifier is assumed to be Only To con figure the detector to test multiple different types of decodings each qualifier and format pair should be separated by a comma For example unescape source Probably HTML Maybe Javascript Means that the string will be HTML decoded on replay if it appears HTML encoded in the recording or if the string does not appear to be encoded at all during recording However if the string appears to be Javascript encoded in the recording then it will be Javascript decoded during replay If the unescape source option is omitted it will default to Maybe HTML Maybe Javascript Probably None Note that group 0 implicitly matches the entire pattern The entire pattern is not considered a valid value for any field unless either group0 name pattern or group0 value pattern is specified Dynamic Path Segments Some applications may utilize dynamic components not just in the form of traditional query parameters and field values but also the path segments of
83. users every two minutes until the goal of 500 simulated users is reached Load Profile Description A load profile is a description of the mix of test cases and bandwidths to be simulated For example if the application consists of two tasks a load profile might be described as 40 test case 1 at DSL speeds and 60 test case2 and modem speed Usernames amp Passwords lf each virtual user must have a unique identity a large number of usernames and passwords must be con figured in the system under test For example to maintain 100 concurrent users for 30 minutes when the test case lasts for 5 minutes could potentially require 600 usernames and passwords Each level of con currency would repeat six times 30 5 which would be duplicated across the 100 concurrent users Test Case Development Any additional test cases needed for a complete test need to be completed and tested Client Access A client representative must be available to monitor the correct operation of the tests as they run Execution e Execution of Phase Three starts with configuration of a load test using the parameters specified in the prerequisites e Next the test is actually performed e Finally the test results are analyzed in a report Deliverables e A full performance report including a how many users can your website handle analysis e Recommendations for improving performance Load Testing Configuring a Load Test The f
84. using load engines that are located on the same network for this you should download the load engine installers or bootable load engine ISOs from our site If this is not desirable it may still be possible to use cloud engines to generate load that tests your sever even though it is not publicly accessible but it will require careful coordination with your network administrator Feel free to contact support if you need further assistance Q ran a 20 minute load test 3 times last week using cloud engines Why did Amazon charge my account for 3 hours instead of 1 A Amazon charges for cloud computers by the instance hour Each time you start a cloud engine you will be charged for a minimum of one hour Q ran a 60 minute load test yesterday Why did Amazon charge my account for 2 hours instead of one A The clock starts when the cloud engine starts running booting the OS and does not end until the OS is shut down or the instance is terminated through the AWS console It takes several minutes for the engine to boot and about a minute to shut down It also can take several minutes to send the load test configuration up to the load engine Add all of these times to a 60 minute test and you get 70 minutes Amazon charges for each partial hour as a full hour they round up to the nearest full hour hence 2 hours will be billed Q ran a short load test using a cloud engine and then turned off my computer Why did Amazon charge me for 217 h
85. 00 RX bytes 0 0 0 b TX bytes 0 0 0 b Interrupt 10 Base address 0xdc00 Memory ef201000 ef201038 This command would then have to be repeated with different parameters to add more than one virtual device To make this permanent on a BSD or SysV style system like RedHat you can modify the etc rc d rc local startup script For more information please consult the Linux IP Alias mini HOWTO Customizing IP Selections During a Load Test Once your workstation has been configured with the IP addresses desired you may also wish to configure the IP aliasing options of Web Performance Load Tester Blocking Undesired Transactions During recording users may occasionally notice URLs to sites that are unaffiliated with the Test Case being recorded These URLs can be triggered by automatic update checks within the web browser or third party plugins Alternatively they might also include hit counters or advertisements that do not affect the actual behavior of the application being tested All of these URLs can be manually removed in the Test Case Editor but it may be easier to configure Analyzer to simply ignore all transactions occurring with a given host while testing There are two ways to block undesired transactions If your transaction blocking preferences are likely to change from recording to recording for example you wish to record only sites within the example com domain space you can configure domain name based transaction blocking from the
86. 00 00 000 sec 00 00 000 sec elapsed Title Size Duration Status URL lt webpage gt 1 217 00 00 000 200 http www webperformanceinc com demo B lt webpage gt 2 275 00 00 000 200 http ebperformanceinc com demoj gt Replay Actors G4 Search 22 Metrics E Content EI Servers 2 Engines Errors ume Headers amp Fields 23 Fields in web page lt webpage gt 2 CH Name Type Datasource Recorded Value POST content Message body Partial replacement lt request gt lt operation gt get balance lt operation gt ail m Filter Ek Search E JRE 11 Loaded 1 Shown 0 Selected Sort Name FWD When a POST message which sends content to the server is in a format that is not recognized by Load Testers parsers it will list the field as a Post content field Double clicking the row will open a dialog for configuring a datasource on the field Since we only need to replace a small part of the request content select the Text with replaced regions datasource 1 The dialog will now appear as below Highlight the region to be replaced 2 and then press the Add button 3 to configure a datasource on that region Edit field Choose a datasource for the field Recorded Value lt request gt lt operation gt get balance lt operation gt lt sessionid gt 34 Datasource Text with replaced regions v 1 SAt lt request gt 2 a lt operation gt get balance lt
87. 01 255 255 255 0 192 168 4 102 255 255 255 0 Add Edit Remove m Default gateways Gateway 192 168 4 1 1 Add Edit Remove Interface metric f OK Cancel The procedure should be repeated for each virtual IP address network device that you wish to add Linux UNIX As with the Windows configuration choosing valid IP addresses is beyond the scope of this manual but typ ically you would want to perform this modification on a computer using private IP addresses in a test lab The ifconfig command can be used to dynamically create virtual network device The following example shows the creating of a single virtual network device root bigtoe root ifconfig eth0 0 10 1 1 1 root bigtoe root ifconfig ethO Link encap Ethernet HWaddr 00 A0 C9 5A DF F7 inet addr 10 0 0 100 Bcast 10 0 0 255 Mask 255 255 255 0 UP BROADCAST RUNNING MULTICAST MTU 1500 Metric 1 RX packets 454545 errors 0 dropped 0 overruns 0 frame 0 TX packets 311037 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 100 RX bytes 94017376 89 6 Mb TX bytes 31798276 30 3 Mb Interrupt 10 Base address 0xdc00 Memory ef201000 ef201038 eth0 0 Link encap Ethernet HWaddr 00 A0 C9 5A DF F7 inet addr 10 1 1 1 Bceast 10 1 1 255 Mask 255 255 255 0 UP BROADCAST RUNNING MULTICAST MTU 1500 Metric 1 RX packets 0 errors 0 dropped 0 overruns 0 frame 0 TX packets 0 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 1
88. 23 44095 ITEM 456 FNAME456 Jane LNAME456 Smith Z IP456 76012 In the above example the names of the FNAMExxx LNAMExxx and ZIPxxx fields are dependent on value of the preceding ITEM field These fields can be handled automatically using the Dynamically Named Fields feature described later in this tutorial Case 2 has two variations 1 The name of the field can be predicted in advance 2 The name of the field essentially random it can not be known in advance If 1 applies then the field name can be supplied in a dataset and manually configured with a modifier in the Fields View If 2 applies the testcase will require customization that is beyond the scope of this tutorial Please use the Support wizard to send the testcase to the Web Performance support system The support personnel can help you arrive at a working configuration Configuring Dynamic Fields Once you have determined what values need to go into which fields and where it comes from there are two ways to configure the testcase manually and automatically e Manual configuration This involves configuring a modifier and an extractor to move the data from a response to a subsequent request This is a good way to handle simple cases and to validate a pro posed solution before attempting to create an automatic configuration However if a similar change needs to be made for many transactions and or for many similar data elements this can be a lot of work Automa
89. Accounts a Windows CardSpace Windows Firewall e Choose Connections and click on the LAN Settings button to view the screen below 2 x Dial up and Virtual Private Network settings Choose Settings if you need to configure a proxy server for a connection Never dial a connection e Dial whenever a network connection is not present Always dial my default connection Current None Set default Local Area Network LAN settings LAN Settings do not apply to dap connections Choose Settings above for dial up settings mocan acna ao e In the Proxy Server section check the Use a proxy server for your LAN box Loca area Newor aw sets Automatic configuration Automatic configuration may override manual settings To ensure the use of manual settings disable automatic configuration Automatically detect settings Use automatic configuration script Address Proxy server py Ube 2 Proxy server for your LAN These settings will not apply to dial up or VPN connections Address Port Advanced roe C _ Bypass proxy server for local addresses OK Cancel e Turn off the Bypass proxy server for local addresses option e Turn off the Automatically detect settings option e Turn off the Use automatic configuration script option e Press the Advanced button Proxy Settings x Servers S Type Proxy address to use Port
90. Advanced Recording menu However some domains and URLs should be blocked globally for example Windows will some times interrupt a recording by visiting download windowsupdate com and you can block traffic to these resources using the Transaction Blocking Preferences page Per Recording Settings Before each recording you can limit the domain names that can be recorded o vp v m bi pba BE wv Start Recording Advanced Recording You can add any number of domains to the allow list and all domains that are not on this list will be excluded by the proxy during the recording A dot prepended before the domain name implies all sub domains of that domain name The deny list excludes all domains on that list In the screenshot below example com and www example com would be eligible for recording but cdn example com and example edu would be excluded from recording Start a recording Please provide the following information before you begin recording Testcase name becording 13 Choose repository C Users lane Desktop fail wpt Bandwidth limit Unlimited M W Allow these Domains and exclude all others example com example com Add Domain Remove Domain V Deny these Domains cdn example com Add Domain Remove Domain Remember settings where applicable Cancel If the Remember settings option has been checked the domain restrictions will be remembered in
91. C Temp users txt fe New dataset DataSet Existing 2 y Field separators G M comma D tabi space I semicolon J bar lt l other characters V Trim leading and trailing spaces 4 JV Use First row For field names G JV Parse escaped characters it n ir etc WebUser3 0002 nvsqs WebUser3 0003 Iflsv WebUser3 0004 gccua WebUser3 0005 Fflam WebUser3 0006 jruas WebUser3 0007 gigei WebUser3 0008 wbfbn cne While the Dataset Editor provides a convenient interface for editing the values in a dataset there are times when it may be more convenient to modify the data with external tools such as a database query After a dataset has been imported it may be re imported easily from the Navigator pop up menu Reload item or the Dataset Editor Reload button The original settings will be remembered and re used automatically File Uploads If the application includes an operation involving the upload of a file from the users computer to the server it may be desirable to provide different files during a simulation Configuration to simulate the upload of dif ferent data files during a load test is broken down into three steps 1 Import the data files you would like to use during a load test into Load Tester 2 Create a dataset of filenames specifying the specific files that will be used for the load test 3 Create a modifier to have the Virtual User replace the recorded file con
92. Errors View lists any errors encountered during the recording Tutorials Index Video Tutorials see list on website Online Tutorials Full tutorials e Measuring SugarCRM Performance e Load Testing an AJAX Application e Load Testing 101 ASP Net Applications Mini tutorials e Best Practices e Unique User Logins e Customizing User Input e Creating a Dataset e Overriding ASM e Handling AJAX callbacks e Load Testing from the cloud Load Testing Tutorial Part 1 Record and Analyze a Testcase Part 2 Configure and Replay a Testcase Part 3 Run and Analyze a Load Test Web Services Testing a Web Service presents a step by step example of testing a simple web service Advanced Configuration The Advanced Configuration Guide demonstrates several techniques and product features for configuring testcases for web applications that use complicated session tracking techniques or dynamic field naming conventions Replay a Testcase Replaying a testcase creates a virtual user which simulates a real person using a browser to interact with a website following the same steps as the original recording To replay the testcase open the testcase in the Editor and press the Play button A wizard appears requesting information required to configure the testcase for replay For simple testcases that do not require a user to log in to view content using the same user as recording and allowing the application to auto matically configure Sess
93. F 59 PL AN 7M RF 71 CN 33 ZR 74 C1 7D 4 71 2 N Aa Rtt MT 4 HTML XML Image Text Raw Alternatively the content may be displayed as text rendered from the default character set To view this de select the Hex Mode button WT Headers B Errors amp Fields B gt Replay G Actors Servers Engines 32 Metrics Ea Search Hil UU llel lige Response content for Load Testing Software and Services ndash Web Performance Lv amp V ORR OQ y A t anto E 0 gt 0 00 A 0f 1 z blO0Dl 4 D q Sp b al JU ASLNB2vOAPFADOb E R1300 z j 4SE ROgi0 DOs ED bX nEO x uM di Si tKSO t fuz G GSOMDOtE 1valags h lt EO ETY OGE bE Weds xA2 O yy 3Ze08t ri0 A 0Se5t00 fNnOOS a0 400 ODS0 x0ved 7 lt gt n E MaSOOdseDIva Et wALAi aC OniPSEiwk OfOe O0rs 408 OOt un ys7gd OzEaP OUp OXxpS F beT 060023 RAwa Ms R APZKAri I ff tear sononynn A gt hak H NAHASR NRezA f ORRIN Ir f N I S E 2 Meio koooooo00 z steo eq6 HiiL 0 q1 eteo rsixx OOaooe 6_ G0x id ihe H fs O O00 paa vetoAsxogt ENG yE lt Ez XYOi0 lt 1 wOOROeOs y ObUXQA Tq ADOHSEDS Oag 00 0XDj7 ete Kas Oltaviy wHOTS OOAZ0 7 KSYIG Ds s AA 40 OZ aDC beZ o CBwi a On odphw E 26 OOw vEAZ T Olo 00f ch 6NS pKa O f EGYOSX4 00 q Z O SOM t Fela C
94. F 8B 08 00 00 00 00 00 OO 03 CD 5A 5B 73 DB 36 Z s 6 00000010 16 7E AE 67 F6 3F 20 DC 69 EC 4C 2D D2 97 E9 B6 g i L l 00000020 49 2C 65 1C DB AS 9D 3A 89 27 72 9A EE BE 78 20 I e r x 00000030 12 12 61 93 04 OB 80 96 DS SF BF DF 0178 95 ED a ENE deo 00000040 34 E9 EC C3 E6 21 92 48 9E 83 73 FD CE 07 DO 1B 4 H s 00000050 07 4F 8E 3F 1C SD FE FB EZ 84 AS 36 CF D8 CS AP 0 6 00000060 D E 67 47 20 18 45 Dl E FD AS 28 3A BE 3C 66 qgG E lt f 00000070 BF 9F SE BE 3B 6 BB El OE 9B SA 2D 63 1B 45 27 7g 2 c E 00000080 EF 83 OD 56 FF OB 52 6B CB 17 51 B4 SC 2E C3 ES Rk Q 00000090 7E AS F4 22 BA FC 18 DD 91 B6 SD 12 AF BF 8E 8C Jesiie 000000a0 93 OP 13 9B 04 93 8D 03 B DS SP 9E 15 66 FC 80 Dic A 000000b0 82 DD E CF 9F 7B BS 80 1E 7A 91 Fl 62 31 OE 44 z b1 D 000000c0 31 FA 34 OD 58 FF 07 69 12 3C 99 6C 70 77 90 OB l 4 X i lt l w l 000000d0 CB 19 49 14 89 3F ZA 79 3B OE 62 55 58 51 D8 91 y bUXQ 000000e0 SD 95 22 60 FS AF 71 60 CS 9D 8D 48 FS 4B 16 AP q H K ooo0000fo SC 1B 61 C 95 9D 8F 7E OF 58 44 6A AC B4 99 98 a XDJ 00000100 9C 2B 9E BO 4B 61 AC 2C 16 6C AA E6 76 C9 BS 60 Ka l v 00000110 BC 48 DS 54 E8 5B 19 OB C3 9E 16 09 37 E9 4B F6 H T 7 K 00000120 53 CC D8 85 DO 73 AS 73 SE C4 EZ 20 F2 1A SC C Y s5s 5 MII nanaAnIaAN AR A
95. IELD1 value1 javascript setField FIELD2 value2 Add a detection rule with the parameters as shown below Detection Rules e Custom 45M Detection Rules The Application State Management Wizard detects and configures dynamic application state fields in your testcase using default rules as well as custom rules as supplied below Detection Rules Add Rule NET alt setField Copy selected Rulefs Import Rule Remove Rule Rule Parameters The keys and values entered here determine what detection strategy is used and what that strategy is looking for For more information about parameters that may be entered please consult the user manual Parameter Add Parameter detector name setField detector vdd Remove Parameter string prefix javascript setField O string suffix Ai These parameters will create a rule that is very similar to the rule created in the previous step The primary difference is that instead of only employing this rule for a specific field name it will apply the rule for any field for which it cannot find a match using the default rules In addition the name of the field will be dynamically inserted into the detection prefix and suffix so that the detection parameters can be specific as possible to avoid false positives The field name will be substituted into the prefix and or suffix in place of the 0 character sequence Any places in the testcase whe
96. Issue Tracker Issues 1 htto issuetracker IssueTracker Issues IssueList aspx transaction 1 Object moved 3 http issuetracker IssueTracker DesktopDefault aspx ReturnUr l 2flssueTracker 2flssues URL col 48 http issuetracker IssueTracker DesktopDefault aspx ReturnUrl 2flssueTracker 2flssues 2flssueList URL col 100 issuetracker IssueTracker DesktopDefault aspx ReturnUrl 2flssueTracker 2flssues 2flssueList aspx query parameter col 37 ReturnUrl 2flssueTracker 2flssues 2flssueList aspx form field col 1 tttPassword password form field ttPassword password request header col 79 Accept image gif image x xbitmap image jpeg image pjpeg application x shockwave flash request header col 48 Referer http issuetracker IssueTracker DesktopDefault aspx ReturnUrl 2flssueTracker 2flssues request header col 100 Referer issuetracker IssueTracker DesktopDefault aspx ReturnUrl 2flssueTracker 2flssues request line 1 col 105 tSZ WLIbWiIcjs 2BPl2rSk LeBkNy6t40EssT IGyg4 jsH amp titUsername testl amp tiktPassword password amp aibt request line 1 col 114 tSZWLIbWilcjs 2BPl2rSk LeBkNy6t4OEssT IGyg4 jsH amp titUsername testl amp tiktPassword passwordaibt response header col 31 Location IssueTracker Issues TssueList aspx response line 2 col 60 lt h2 gt Object moved to lt a href IssueTracker Issues IssueList aspx gt here lt a gt lt h2 gt respons
97. Page ins sec proc stat Line page Column 1 proc vmstat Line pgpgin Page outs sec proc stat Line page Column 2 proc vmstat Line pgpgout Disk Counters Note Counters are measured by summing values from all physical disks excluding logical disks I O Time Utilized proc partitions Column 14 proc diskstats Column 13 Average Service time proc partitions Columns 5 9 13 15 proc diskstats Columns 4 8 12 14 Queue Length prociparttions Pe proc diskstats Column 12 Reads sec proc partitions eee proc diskstats Column 4 Wiites sec proc partitions fo nn proc diskstats Column 8 Network Counters Note for values coming from a Network Interface the Server Monitoring Agent will record the sum of all instances excluding the local loop back interface TCP Segments Retrans proc net snmp Line Tcp Column 12 mitted Parsing and Detection Formats JSON etc JSON Load Tester will automatically recognize JSON content in any HTTP request body with an appropriate Con tent type header or any form field that successfully parses as JSON When this happens each JSON ele ment will become a configurable name value pair field in the Fields View Name Type Datas Recorded Value POST content Message bo action ADD_PROD data product _quantity 1 admissions 0 action JSON ADD_PROD data JSON product
98. Pages When an error is encountered during a load test the web page which triggered the error is saved This set ting limits the number of times an error page will be recorded during a load test per testcase Trace Logging Detailed messaging between one or more virtual users and the servers in a load test can be saved for debugging purposes To enable trace logging select the Enable option The number of users to save and the location of the log files can be specified once the option is enabled VU Trace Log formats A VU Trace Log is a detailed log of all the transactions performed by a virtual user Trace logging is enabled from the Play menu Please note that this feature will consume a large amount of disk space very quickly and has a significant effect on the performance of the product As a result the feature will be reset deac tivated each time Load Tester is restarted to prevent accidental use during normal testing Trace logs provide detailed information about the activity of virtual users that is not needed for most load test ing tasks It is provided only for troubleshooting and diagnostics As such it is considered a rough feature that does not have a convenient graphical user interface A text editor e g notepad must be used to view the log files The trace logs will be generated for the first 5 virtual users that run in the test The resulting logs are stored in the tracelog folder under the Web Performance TrainerTM insta
99. Quick Start Guide Quick Start This guide will help you learn basic navigation of the Web Performance Load Tester interface as well as the steps to record replay and analyze the performance of a your website Installation Getting Help Updating the Software Navigating the User Interface Record a testcase Inspecting a testcase Replay a testcase Analyze the performance changes Run a Load Test Pete ae eS Installation Supported Platforms Web Performance Load Tester is supported and tested on Windows 2000 Windows XP and Vista It should also work on most other modern Windows versions note Installation of the Load Engine is supported on Windows Linux and Solaris Installation of the Server Agent is supported on Win dows and Linux Installation Notes e For Linux stand alone installations do not install the application at the top level directory at There is a known issue with the install application when this directory is used e For any installation ensure that the directory the application is being installed in is not a read only directory to the users of the application The application will not start properly when this occurs e For stand alone installations do not install Web Performance Load Tester and Web Performance Load Engine in the same directory Installation steps Download the software from http webperformanceinc com download On Windows run the installer and follow the wizard On Linux Unix wit
100. Select al Validation Rules then can be used to allow dif Restore Defaults Apply ferent users to originate from different IPs on the same Oo a workstation Further if some e E of the IP addresses are not appropriate for load testing eg a wireless connection in the current environment then those addresses may be unselected Remote Engine Configuration r Aliasing Configuration x _ IP Aliasing Configuration for engine 192 168 1 70 Sa s Content Headers Errors Fields Replay Ac g g g Select the IP Addresses used for Load Tests Current engine configuration Name Status Color Users 192 168 1 70 Idle a o Use Operating System Default Use Selected Interfaces 192 168 1 70 4 Select All Add Engine Remove Configure IPs Upgrade The IP Aliasing configuration may also be specified for Remote Engines In the Engines View simply select an Engine that you would like to configure and press the Configure IPs button A dialog is displayed for the Engine s current IP aliasing configuration which apply in the same way as outlined above Hostname Resolution Load Tester supports specifying specific IP addresses for host names in a hosts file Users who are familiar with creating entries in their local hosts file will recognize the format Unlike using a workstation specific hosts file which must be maintained for the controller and every Load Engine Load Tester will automa
101. T exceptions e g null pointer reference exception in unmanaged code would get re thrown in managed code as a NET Sys tem NullReferenceException this counter includes both handled and unhandled exceptions Exceptions should only occur in rare situations and not in the normal control flow of the program this counter was designed as an indicator of potential performance problems due to large gt 100 s rate of exceptions thrown NET CLR Heap Size The sum of four other counters Gen 0 Heap Size Gen 1 Heap Size Gen 2 Heap Size and the Large Object Heap Size This counter indicates the current memory allocated in bytes on the GC Heaps NET CLR Generation 0 Collections The number of times the generation 0 objects youngest most recently allocated are garbage collected during the sample period Gen 0 GC occurs when the available memory in generation 0 is not sufficient to satisfy an allocation request Higher generation GCs include all lower generation GCs This counter is explicitly incremented when a higher generation Gen 1 or Gen 2 GC occurs NET CLR Generation 1 Collections The number of times the generation 1 objects are garbage collected Higher generation GCs include all lower generation GCs NET CLR Generation 2 Collections The number of times the generation 2 objects older are garbage collected The counter is incremented at the end of a Gen 2 GC also called full GC NET CLR Lock Contention Queue Length The number o
102. Test Settings to disable collection of URL Metrics when running a Load Test Check your operating system to see if there are any background processes taking up memory Try increasing the memory available to Web Performance Load Tester See below Increasing Memory Usage Web Performance Load Tester The default setting for the maximum amount of memory allocated to Web Performance Load Tester is 200MB the default The program will encounter errors if this limit is reached To increase this value use the following steps 1 2 3 Locate the file wWebperformance ini in the directory where you installed the program Create a backup copy of the file Edit the file with a plain text editor and locate the lines Xms200m Xmx200m 4 Change the 200 in each line to the desired amount in MB of memory to use and save the file The values are the initial and maximum amount of memory that Web Performance Load Tester is allowed to use You may increase it up to the maximum value of free memory you have available on your computer Load Engine When running a load test it may also be necessary to increase the memory allocated by each remote Load Engine used by the test controller By default the engines are configured to use 200 MB As this limit is reached the engine will become unable to simulate additional virtual users To increase this value 1 Locate the file Load Engine ax in the directory where you installed the program 2 Cr
103. The certificate will expire in 10 years Firefox 1 5 Select Tools gt Options from the Firefox menu Select the Advanced icon Select the Security tab Push the View Certificates button Select the Authorities tab i ae ole a 6 Push the Import button and locate the certificate file where you saved it 7 Select the Trust this CA to identify web sites option 8 Push the OK button After installing the certificate you will see it listed under the name Web Performance The certificate will expire in 10 years Bandwidth Simulation During recording or replays Load Tester can simulate bandwidth limited networks to demonstrate the effect of slower connections note the simulation only limits the incoming responses from the server i e requested pages images down loads etc Recording Before beginning a recording the simulated bandwidth can be selected from the list To turn off bandwidth simulation choose the unlimited option which will deactivate the internal limiters x Start a recording Please provide the Following information before you begin recording Testcase name recording 1 Choose repository C Program Files WPAnalyzer workspace MyRecordings wpt x Bandwidth limit 56 Kbps Modem v Tl Do not show this dialog unless necessary N Replay To replay a testcase using bandwidth simulation open the Replay view and select the bandwidth from the list The simulated bandwidth may be changed
104. Under this method It is also possible to use a regular expression extractor to capture name value pairs into separate capture groups within a single regular expression A cookie may also be set at two different times e Before Request This is rarely correct as a response is needed to construct a cookie in the first place It may be used to simulate repeat visitors who arrive on a site with cookies already set It is not pos sible to use an extractor to capture data for this type of cookie because the response content will not be available Of course itis still possible to use data captured in a user state variable by an extractor on a previous page e After Response This is appropriate to set cookies that are configured by javascript Search View The Search View searches a testcase or web page or transaction for a text string The Headers View is opened by selecting Window gt Show View gt Search from the main menu In the example below the results are shown for a search of all parts of web page Issue Tracker Issues 1 for the text string as B Content me Headers B Errors 5 Fields gt Replay e Actors E Servers A Engines E Statistics Search in page Issue Tracker Issues 1 9 Search everything for fasl Start 58 occurences found KK K K K K K K K K K K K K K K k k K K K K K K K k k K k k K K K K K K k k k k k K K K K kK K K k k k k K K E K K k k K k k k k k K K K K K K K k k k k k k k k page 2
105. Value lt request gt lt operation gt login lt operation gt lt username gt Datasource Text with replaced regions v parT be modified Select the section of text to be modified and click the add button to add a mod ifier A new dialog is dis played where the dataset or user var iable to use for the replacement must be specified Make the selections on this dialog and press the OK but ton to create the modifier Edit Data Source lt request gt lt operatiag gt login lt operation gt lt vera username gt lt passwotd gt nkbmmfn lt password gt lt request gt Select the type of Data Source that should be used outro ox J cae A The modifier is now shown on the original dialog Additional mod ifiers can be spec ified by repeating the previous step Once all desired modifiers have been configured press the OK but ton to add the mod ifiers to the testcase Edit field Choose a datasource for the field POST content Datasource Recorded Value lt request gt lt operation gt login lt operation gt lt username gt Datasource Text with replaced regions v sat lt request gt a lt operation gt login lt operation gt lt usemame gt ill username gt lt password gt nkbmmfn lt password gt lt request gt Removing a modifier To remove a mod ifier re open the Edit field field editor dialog Choose
106. a dataset containing usernames and passwords the lifespan should usually be configured as testcase If each virtual user should repeat the testcase using the same identity each time the lifespan should be set to virtual user Any other lifespan setting will probably be inappropriate for user identity datasets Form fields For a dataset containing values that a user will enter into fields on a web page form the lifespan should could be set to either testcase or web page If the dataset contains values for more than one page it should be set to testcase Reusable If enabled this setting will allow a Virtual User to start over at the beginning of the dataset when all the rows have been used This could mean that a row is used more than once Note that if a dataset is not reusable the load test will encounter errors and terminate when all the rows have been used Sharable If enabled this setting would allow multiple Virtual Users to simultaneously use the same row from a Data set If a dataset is not reusable it cannot be sharable Note that if a dataset is not sharable the dataset must have more rows than the number of Virtual Users in the load test Editing a dataset To edit an entry in a dataset double click the cell and start typing Press lt ESC gt to cancel the changes and lt RETURN gt to move to the next cell To add new rows edit the last cell and press lt RETURN gt A new row will be created with sample data con
107. a datasource for the field from the Fields View Place the cur POST content Datasource Encoding sor within the selection or select one or more char Datasource Text with replaced regions v acters of the char acters to be Recorded Value lt request gt lt operation gt login lt operation gt lt username gt replaced The lt request gt delete button F paiva n gt login lt operation gt usema lt username gt will become ena lt passwe td gt nkbmmfn lt password gt bled Press it to lt request gt remove the mod ification on that sec tion Press the OK button to make the change to the test case Entire content replacement When replacing the entire content during a load test the files to be used for data replacement can be spec ified in a dataset The files must be imported into Load Tester through the File Uploads preference page See the section on uploading files for a detailed explanation on using the preference page and creating a dataset Adding the modifier Once your dataset is created use the Fields View to open the dialog to edit the field Select the File Upload datasource Select the Dataset value button and select the Dataset and field which contain the replacement information for this part If the new values for each part are each in their own file and configured through the File Uploads Preferences then the option Dataset or User Variable indi
108. a test add 50 virtual users every 1 minute but if the computer you are using can t handle that at the moment a smaller number of virtual users may be added Analyzing Load Test Results To analyze the results of a load test click on the Reports Button from the Load test Results View 6 23 06 8 48 AM create issues X Ta Elapsed Time 00 24 25 Est Duration 00 25 00 Report a Users o oO Hits Sec z m Errors 9 275 O rod 140 a 7 000 120 WW 6000 100 wt soo 2 f wt PEA 40 2 2 000 z Vv ee E 000143 000143 001143 002143 000143 001143 002143 Hits 53 504 Bytes s 28 319 Cases Min 77 3 GO an Z wa E AMN Ti rd 000143 002143 00 1143 002143 886 8 L The report can also be accessed in the Navigator View by double clicking on a completed load test or by right clicking on a test result and selecting the Open Test Report option Navigator X Elf ServletReportResults wpt H O Testcases Datasets Load Configurations Open Test Report The Load Test Report view will be displayed Report Section iT st Summary gt 5 Print E Save Export Launch F Settir a M Entire Report a Test Summary User Capacity Peak Page Duration V PPD by Maximum Duration Pis P A PPD by Average Duration Servers Test Su M Summary Checklist Server physical Individual Metrics
109. aCURREr n ie figure 1 transaction 1 The request of the second transaction should contain the dynamically extracted value from the first trans action instead of the value that was originally recorded Note that if the value was supplied as the default value in the field declaration tag the ASM wizard would automatically pick up that value since that is the standard way to provide the value for fields that are not user entered Hll UU ll i Content for Manuscript Central 2 eie 3ENT_USER_ID 0 amp TAG_ACTION LOGIN amp USER_EMAIL 4 lt html gt lt head gt lt title gt Manuscript Central lt title gt lt LINK REL STYLESHEET TYPE text css HREF common sc lt SCRIPT LANGUAGES JavaScript src common scholarone js lt link type text css rel StyleSheet href common helptip css lt script lanquage JavaScript src common helptip js gt lt script gt ime lanquage JavaScript H of HTMU ML Text Image Raw lt l mmj fia ML Text Image figure 2 transaction 2 Step 1 Configure the Extractor In order to reliably extract information from a response we must be able to tell the extractor how to locate the data to be extracted In this example it is easy since the session identifier is surrounded by java script setField TAG ACTION and 1 Ol IS Open the Actors view Extractors tab and select the transaction containing the data to be extracted which
110. access the applications to be recorded it must be configured in the Proxy Settings preference page If you do not know if a proxy is required ask your network administrator When you have the necessary proxy information use these instructions to add a new proxy configuration and make it the default setting Step 4 Test the configuration After these configuration steps are finished press the refresh button in your browser to retry the diagnostic page If the URL of the diagnostic page is no longer in the URL field you may enter this http webperformance com diagnostic proxy_check html The browser should display a Welcome page indicating that the configuration is successful VPN and modem configuration If your Windows computer is connected to the internet via an ISDN modem phone based modem or VPN there is an extra configuration step that must be completed Unfortunately the normal Windows network set tings are ignored when the internet connection is made via these methods and there is a simple change that must be made before and after using Web Performance Analyzer To tell if your computer requires this extra step bring up Internet Explorer and bring up the Internet Options Dialog select the Tools gt nternet Options menu item Click on the Connections tab to examine the network configurations Internet Options Lurent default Hone set Default TES If extra configuration is needed you will see an entry in the D
111. act values for multiple fields in a single pass For example suppose our testcases present a list of slots where we generally need to select the first slot that is open The server may send some HTML in the form of do slot 1 gt Slot 1 lt a gt Status Closed lt li gt do slot 2 gt Slot 2 lt a gt Status Open lt li gt do slot 3 gt Slot 3 lt a gt Status Open lt 1i gt lt li gt lt a href viewSlo lt li gt lt a href viewSlo lt li gt lt a href viewSlo ct aF gi We create a Regular Expression detector to handle the field slot in new testcases where the user should select the first Open slot Parameter Value detector RegExAssignmentDetector detector name TA Regular Expression Detector for Open lt li gt lt a href viewSlot do slot d gt Slot 1 lt a gt search pattern Status Open lt li gt groups count 1 group1 name pattern slot content_type pattern text html Fields Required detector This should always be set to either RegExAssignmentDetector or just read for short in order to indicate that this configuration should be treated as a regular expression detectors For example detector read search pattern The regular expression to search for Values extracted by the expression are represented as capture groups Optional assignment the confidence that this detector has that the found assignment is accurate to the transaction If DEF INITE
112. acted by this detector must be encoded with before being transmitted over HTTP Possible values e URL the value should be encoded for use in a URL path segment or query parameter e FORM or TRUE the value should be encoded for use in a form field e lt characters gt specifies only those characters which should not be URL encoded any other char acters encountered in the value will be URL encoded unescape source Determines how characters might be escaped when extracting a string of text The available source for mats to decode characters are e HTML characters may be escaped as HTML entities For example amp amp will be extracted as a single amp character e Javascript characters may be escaped with a character For example u002B will be extracted as a single character e None The source format does not present characters in an escaped format For strings which use XML escape sequences the HTML option may be selected for standard XML DTDs whose entities are a subset of the defined entities for HTML Each source format to be tested may be preceded by a qualifier identifying how a match found using the specified source format should be used Valid qualifiers are Only Indicates this detector is only valid for strings un escaped by the specified format Probably The detector should decode characters during replay with the specified format even when the decoding does not appear necessary from the recording Maybe The detector may dec
113. age indicating that the request could not be completed BEA Headers Errors Fields Replay Actors Servers Statistics Engines bil UU fe id Response content for Error The Chicago Manual of Style Online 6 17 U G Ou Ta My Account LogIn The Chicago Manual of Style Online FIFTEENTH EDITION HOME THE CHICAGO MANUAL OF STYLE CHICAGO STYLE Q a TO Page Not Found Sorry the page you requested could not be found It may have moved to a new location can also search for a topic on this site by using the Search option above Pi HTML XML Text Image Raw Analyzing the required changes This step will frequently require a more thorough understanding of the application then you may have needed before this point It is often most expedient to enlist the help of an application developer at this point in the process The goal of this phase is to determine 1 Where is the incorrect data 2 Whatis the correct data to send 3 Where does that data come from Step 1 Where is the incorrect data More specifically which part s of which transaction s does not contain the correct values You must start by identifying the transaction that is not configured correctly More specifically which HTTP request is not sending the correct data In many cases this will be the same transaction that displays the problem symptoms If not the transaction will be earlier in the
114. ally and you will want to explicitly connect to an engine Alternatively you may want the local engine to also participate in the load test in addition to it s role of collecting metrics and distributing users For either of these options you may select the Add Engine button In the Add Engine dialog you may select to add the local engine only if it is not already selected as an engine or select a remote engine For remote engines you may enter either the host name or the IP address for the engine The port number used for engine communication defaults to 1099 and should only be changed if the remote engine has been explicitly configured to use another port Once the OK button is pressed Load Tester will attempt to connect to the engine and verify that the engine is suitable for testing before adding it If you receive an error attempting to add an engine that is known to be running then it may be necessary to configure any firewalls and the engine to permit connections with the controller For more information please see Configuring a Load Engine Selecting Engines To select an engine to use during a load test or to monitor live select the checkbox next to the engine name To disable an engine un check Only those engines which are checked will be used during a load test When selected Load tester will attempt to verify that the engine is available for testing and enable it if SO Engines may also be removed entirely from th
115. ample period This is a summation of the Success and Failures metrics every attempt will result in either a success or failure Average CAN Duration The average of the CAN Durations during the sample period Average Duration The average duration for the item For transactions the measured duration starts when the first byte of the request is sent and ends when the final byte of the response is received If a new con nection was initiated for the transaction the connect time is included as well For pages the measured dura tion starts when the first transaction on the page begins and ends when the final transaction completes For testcases the measured duration starts when the first page starts and ends when the final page completes Note that for transactions that utilize HTTP Authentication CAN transactions are not included in the meas ured duration of a transaction They are however inherently included in page duration due to the way itis measured Average Page Duration The average page duration for all pages Average Page Wait Time The average amount of time that users have waiting for a web page to complete This counts all users that are actively working on a web page at the end of the sample period Because page durations that are used in the min max avg page duration measurements are not reported until the page completes this measurement can be useful in determining backlog on the server as the performance degrades Avera
116. and displayed in the Content View unless in Fast Play mode The Content View will automatically be activate when a replay is started Configuration Prior to replaying a testcase for the first time Analyzer will inspect the testcase for parts that cannot be replayed exactly as they were recorded Then the Testcase Configuration wizard will display the rec ommended configuration steps In most cases the recommended steps should be followed This wizard can be re run anytime by selecting Configure gt Testcase option from the pop up menu on the testcase in the Navigator or from the Configure toolbar button when a testcase editor is selected User Identity If a replay should be performed using a different identity e g username amp password the User Identity wiz ard will lead you through the steps for re configuring the testcase to use usernames passwords from a list If NTLM or HTTP authentication is detected the User Identity wizard will perform the necessary configuration steps If you wish to re run the User Identity wizard later select the testcase in Navigator or Testcase Editor and choose the Configure gt User Identity option Content Headers Errors 5 Fields 3 Replay y Actors Search Re re Application State Many websites use dynamically changing parameters in URLs or form fields These testcases cannot be replayed exactly as recorded The Application State wizard analyzes these fields and deter
117. and password are entered on a web page and submitted by the browser This may be done over either secure or insecure connections When replaying the testcase the default behavior will be to submit the same username and password as was used during the recording This can be cus tomized by using the User Identity wizard or by locating and editing the fields in the Fields View HTTP authentication This method uses the HTTP WWW Authenticate and Authorization headers as described in the HTTP spec ification to send the credentials to the server The browser is responsible for prompting the user for cre dentials In the case of Internet Explorer it may use the current users credentials transparently and only prompt the user if these credentials are rejected This method includes a variety of protocols that determine how the credentials will be transmitted from the browser to the server Common protocols are Basic and Digest RFC 2617 NTLM and Kerberos The Negotiate method RFC 4559 allows the client and server to negotiate which protocol to use based on their capabilities Negotiate is most commonly used by Microsoft servers and usually results in the selection of NTLM or Kerberos Authentication with a proxy server is also supported in this method though the headers are different Proxy Authenticate and Proxy Authorization Load Tester currently supports Basic NTLM and NTLM via Negotiate Integrated Windows Authentication is performed by IIS s
118. ase simply create to identifier fields e itemid e legacyid Next add the dependant field checkbox amp to both identifier fields The Application State Management Wiz ard will examine both uses of the checkbox fields and only associate dependency when the name of the field corresponds to the value of the identifier In this example the wizard will associate the first checkbox field as being dependant on itemid and associate the second checkbox field as dependant on the field legacyid Ignoring Fields in the Application State Management Wizard The Application State Management Wizard will attempt to automatically configure those variables shared by the end user s Web Browser and the Application Server but are not immediately exposed to the end user Generally no further configuration is required in order for your testcase to play back successfully However an easy optimization can be made to increase the number of virtual users supported by each load gen erating engine by removing those fields that never change However for large test cases removing those fields from the ASM Wizard may be an inconvenient approach The Application State Management Wizard offers ignore preferences in order to automatically ignore those fields which are not intended to be treated as dynamic These preferences may be accessed by selecting Window Preferences and then selecting Web Performance Configuration Wizards Ignored Fields 10
119. ate symantec com Browser Client Certificate Cloud Accounts rss msnbc msn com toolbar live com i urs microsoft com Configuration V www download windowsupdate com Diagnostics Dialogs File Upload IP Aliasing URLs icense The following URLs will not be recorded Load Test URLs Add URL Load Test Repo http webperformance com favicon ico R URE Performance Gc http webperformanceinc com favicon ico Proxies http www webperformance com favicon ico Recording http www webperformanceinc com favicon ico Transaction B https webperformance com favicon ico Server Checklist https webperformanceinc com favicon ico Think Time https www webperformance com favicon ico Usage https www webperformanceinc com favicon ico XML i or 7 gt 7 TIT 7 Restore Defaults Apply Co Advanced Cookie Handling In most cases the default cookie handling used by Web Performance products will operate with your server with practically no manual configuration If your server sends normal cookies to be relayed back by the user s web browser then no further configuration is required Some applications however may depend on the end user or their web browser to alter cookies before being sent back to the application For these sce narios some configuration may be required In order to over ride the default cookie handling a configuration file must be created To do this locate the directory for custom conf
120. atforms a GUI will lead the user through the installation process For Unix systems the installer will run on the command line For example chmod x LoadEngine_Linux_N N NNNN bin LoadEngine_Linux_N N NNNN bin The installer may also be run without a UI or any prompts This silent installation option will use all the default installation settings LoadEngine_Linux_N N NNNN bin i silent Starting a Load Engine Starting a load engine is similar to starting Web Performance Load Tester On Windows platforms there is a menu item labeled Load Engine in the same location as the item for starting Web Performance Load Tester This starts a console window When the load engine has finished initialization a message appears in the console window reading Load Engine started Entering quit in the console window stops the load engine and closes the window The load engine is started on Linux and UNIX platforms using the installed shortcut or the startup script usr local bin WebPerformanceLoadTester_N N LoadEngine Configuring a Load Engine Network and Firewall Considerations In many cases the engine and controller will be able to immediately connect to one another and will even automatically detect one another if they are both connected to the same local LAN This section outlines the configuration options available for the engine should an error be received while attempting to connect to it In order to connect to a Load Engine the engine w
121. ation to use the new site in the search for software changes 1 From the Eclipse He p menu select Software Updates 2 Select Search for new features to install and click Next Select this option if you want to install new Features from existing d available You can add new update site URLs to the search 3 Select New Remote Site Hen Remake Ske New Local Site New Archived Site 4 Enter Web Performance Load Tester for the x Name and Name Web Performance Suite the new update site for the URL URL zenter URL here gt Select OK Select Finish Cancel Workspace The Workspace is the area on your computers disk where Analyzer stores settings preferences and repos itories by default The default location for the workspace is a new folder named WebPerformance in the user home folder On Windows systems this is usually in C Documents and Settings lt username gt Changing the workspace location The workspace can be moved to any location that can be accessed by the program including network mounted drives After moving the workspace Analyzer will need to know where to find the workspace In the installation folder by default on Windows is C Program Files Web Performance Load Tester lt version gt there is a subfolder named config In this folder there is a file named config ini Edit this file in a plain text editor e g notepad and look for a line starting with osgi instance area
122. ators View to flag the same errors again during further replays If the error on the first error page in the replay suggests that the cause of the error was not user entered data but a hidden variable normally handled internally by the user s web browser then you may use the Fields View to track down any variables on that page that do not have modifiers to update them automatically if applicable Once you have located a variable that is not being handled automatically and confirmed how the application automatically updates that variable you may con sult the Advanced Application State section of the manual to give the Application State Management Wizard enough knowledge to correctly update your scheme To disable automatic handling for certain fields when ASM is run the Ignored Fields preference page may be used Datasets In Web Performance products a collection of data that is used to dynamically change the actions of a test case is known as a Dataset A dataset is a collection of tabular data similar to a spreadsheet After creating a dataset it can be used to customize the testcase In this example picture of the Dataset Editor the dataset contains two fields columns Username and Pass word It also has many rows each of which contains values for the Username and Password fields E Web Performance O a Lifespan web Page MV Reusable Sharable Reload 0c Username Password iWebUser3 0000 WebUse
123. automatically But first you must find it If the application developer cannot tell you where the data comes from you can use the Content View par ticularly the text tab to inspect the source HTML of each page returned from the server during the recording Note that many modern web applications receive significant amounts of their data in plain text or XML for mats that are retrieved by Javascript rather than the source HTML of the pages Be sure to look in those transactions as well When you have located the data that causes the problem then you can proceed to the next section to con figure the Web Performance software to handle it Testcase Configuration Once you have determined which piece of data is causing the problem you can decide what to do about it The solutions generally fall into these categories 1 Remove the entire transaction from the testcase 2 Ignore the field during automatic configuration 3 Find and configure the source of a dynamic field 4 Find and configure dynamically named fields Remove the entire transaction from the testcase For complex or portal sites there are often many transactions that come from systems that are not intended to be part of the test For example tracking URLs used for user activity and URLs from advertising sites for banner ads should frequently be left out of the test altogether Any transaction that is not required for the correct operation of the testcase and comes fr
124. available for creating and manipulating data It does not include the memory consumed by the application code CPA se Memory 22M of 33M used a The button in the corner runs the garbage collector to recycle memory that is no longer being used Note that you are never required to push this button manually the garbage collector automatically runs when needed But some people really like pushing buttons so we added one Record status While recording the Status View displays the current state of the recording ea Se 1 Pages O 00 02 10 13uRis 2 5 32 kbytes 7 Conn 4 open G 0 Errors OF number of pages recorded number of URLs recorded total open connections to the server elapsed duration of the recording session total bytes transferred requests and responses including HTTP headers number of network and HTTP errors encountered sending status active while a request is in progress receiving status active while a response is in progress vo Al Record Shortly after a recording ends the Status View will automatically return to displaying the memory status Replay status During a replay the Status View displays the current state of the replay ee N replay status playing paused thinking stopped time total replay time or remaining think time number of pages completed number of URLs completed Shortly after a replay ends the Status View will automa
125. avz AE gt Dz eAfPWode RZaqy 36 o 2 t q i OLH S Q500 04 6 Ades lt FOlicrY faye NApGertat O08 5iA0f MO TSO J ihSk oG lt 00NZEROY GS gt P Om aeaOveA a p NOOUe ONOAAGO IP O EN15 0 fafl lt sQROKNPAwOGOxUil Hi 7i0U8 H HTML XML Image Text Raw Exporting Content The content may be exported using the Export buttons in the upper right corner of the view see 6 in 1st screenshot Note that the content exported will be in the same format as the active view For example exporting a web page that was gzipped when sent by the server will export as the uncompressed HTML from the text view When the raw view is active the exported content would be in hex dump format if the Hex View was active or the raw compressed bytes if Hex View was not active When the HTML XML view is active the page can be saved as plain HTML with links resolved to absolute form to a directory with HTML and images or to a single MHT Web Archive file Errors View The Errors View displays errors found in the item selected in the Navigator or Editor Errors can be obtained from testcases testcase replays and load test results Opening the Errors View The Errors View is opened from the menu Window gt Show View gt Errors Viewing Errors All errors for a testcase are shown in the Errors View when any of the following items are selected e Testcase in the Navigator
126. ay come back with different content as a test is being executed these rules will help determine when a page may have encountered an error that should be flagged The preferences page may be accessed by selecting Window gt Preferences and selecting the Web Performance gt Configuration Wizards gt Validation Rules section Changes on this page will only take affect once the Validation Wizard has been used to reconfigure a testcase ioli type fiter text 2 Validation Rules be aid 3 Web Performance Baseline Report Add rule Browser j S Apply Status Code Validation mT An unexpected error has occurred yes Cloud Accounts Configuration Wizards Application State Diagnostics Dialogs A Fie Upload Rule Properties IP Aliasing Message An unexpected error has occurred Licenses Record error a a e A Load Test message is found Load Test Report message is not found Parsing Performance Goal Defaults Apply Validator if H Proxies URL contains Recording 7 MIME type contains texyhtm SOS Server Checkiist Think Time Jv Recorded transaction must satisfy the rule Usage XML Restore Defaults Apply o c Creating a Validation Rule To create a new validation rule select the Add Rule button Then a message may be entered which will be used as a search string in the content of result
127. ayed in a user friendly format The Show raw content option may be selected to display exactly byte for byte what information is being submitted Advanced Advanced Field Assignments While the Application State Management Wizard is capable of handling many multitudes of complex internal variable assignments within a web page occasionally it is not able to definitively determine what section of a page caused the browser to post a field One common case of this is with advanced Javascript events that are triggered by mouse movements or clicks Often these events only contain information indicating how the user is browsing the page and it is not nec essary for Analyzer to be able to emulate them as by default it will simply play back the user s actions exactly as they were recorded in the Testcase However some web applications will use these events to insert dynamic application state data that must be more closely emulated in order for the application to be successfully automated Detectors may be defined by using the Detection Rules preferences page This page may be accessed by selecting Window Preferences and then selecting Web Performance Configuration Wizards Appli cation State Detection Rules 101 x type filter text Detection Rules i 1 Help Custom 45M Detection Rules Install Update The Application State Management Wizard detects and configures dynamic application state Fields i
128. b Performance Server Monitor Agent this can be invoked in basic mode even if you don t have a license to use the Advanced Server Monitor Agent 2 Direct windows monitoring using the built in performance measurement APIs this method can be used to monitor a Windows server as long as the controller the main GUI of the Load Tester soft ware is also running on Windows and has the necessary authentication credentials 3 Unix Java monitoring on any Java based application server our WAR file can be deployed to provide the monitoring function 4 HTTP and custom script using a simple format any script can return the CPU and memory meas urements in a plain text that is understood by the Load Tester software This monitoring option is included with all Load Tester licenses More information is available on the Basic Server Monitoring page Advanced Server Analysis This module purchased separately allows Load Tester to take more detailed measurements of the server performance These metrics are listed in the Server Metrics section This feature requires installation of a Server Monitoring Agent on each server Like our remote load engines this also features auto detection on the local network which eliminates the configuration steps required for basic monitoring More information is available on the Advanced Server Monitoring page Basic Server Monitoring To start monitoring a new server simply press the Add button
129. be set to text html in order to skip validation on images Likewise setting this field to text xml will apply validation only to XML results Recorded transaction must satisfy rule When this option is enabled this rule is quietly ignored for transactions whose recorded content would have caused this rule to raise an error By default this setting is enabled Proxy Settings The Proxy Settings page is located in the Web Performance section of the Preferences dialog Window gt Preferences menu item Every attempt to automatically detected the proxy settings is made by the Recora ing Configuration Wizard when the first recording is performed If this step fails or an alternate proxy con figuration is desired it can be customized in the Proxy Settings page ini xi type filter text Proxies i Help 4 Install Update Proxy configurations Web Performance No Proxy Add Browser X AcmeCorp default proxy Performance Goals Delete Proxies Copy Make Default iiel Auto Detect Name AcmeCorp default proxy C No Proxy Fixed Proxy HTTP host 192 168 1 17 port a0 SSL host 192 168 1 17 port 443 Automatic Configuration URL Restore Defaults P Default proxy The default proxy is indicated by a mark next to the proxy name in the list To select a different proxy for recording select the proxy in the list and press the Make Default butt
130. ble test case Charts amp Reports Viewing Reports There are three types of reports that can be viewed within the application or opened within the application and sent to an external browser These reports are 1 Testcase Report This report can be viewed by selecting the Testcase in the Navigator View then right clicking to view the menu and selecting the Open Testcase Report menu item It can also be opened from the Report item in the Edit menu when a testcase is selected in the Navigator or a testcase editor is active There is also a toolbar button for opening a report from the active testcase editor and an item in the pull down menu in the upper right corner of the editor 2 Baseline Performance Analysis This report can be viewed for a load configuration or for a single testcase which creates a matching load configuration From a testcase it can be opened by selecting the Testcase in the Navigator View then selecting the Open Baseline Report item from the pop up menu This will prompt for infor mation required to create a Load Configuration From a pre existing load configuration the report can be viewed by selecting the Load configuration in the Navigator View and selecting the Open Baseline Report item from the pop up menu 3 Load Test Results reports This report can be viewed by either e Selecting the Report button from the Load Test Results Editor e Selecting the Load Test Result in the Navigator View then right clicki
131. case to simulate multiple user identities and test configure the testcase to validate the result of the testcase create a load configuration run the test analyze the results TUD OI ae Good luck Mailing List and Blog To receive links to new articles tutorials load testing tips and occasional product announcements sub scribe to our Mailing List or our Blog FAQs General FAQs Q How do report a bug A You can access our support tracking system directly or submit an issue directly from our product using the Support Request form from the Help menu See the section on Getting Help for more information Q When will you support other OSes besides Windows A Our advanced server analysis module supports Linux Solaris and AIX However the Load Tester con troller only functions on Windows We have no plans to provide new operating system support in the near future but if you feel that you need support for another operating system consider contacting us via our issue tracking system Q Analyzer created a repository for me automatically where did it go A By default repositories are stored in the Workspace If you cannot find it there try re opening Analyzer and hover the mouse over the repository in the Navigator the tooltip will show the complete path of the repository file Q want to change where Analyzer stores my files and settings A The files by default and settings are stored in the workspace The Work
132. cates name of file to upload should be checked Other wise if the Dataset contains exactly the values to be used during playback this option may be left unchecked Edit field Choose a datasource for the field POST content Edit field Datasource Recorded Value lt request gt lt operation gt login lt operz Recorded User variable Dataset Text constant Text with replaced regions Concatenation Transform Choose a datasource for the field POST content Datasource Recorded Value lt request gt lt operation gt login lt operz Datasource File upload z Choose a source for the name of the file to upload Files should be uploaded into Load Tester first see DataSet uploads Field filename Fields in testcase Check balance After pressing OK the new field con j F i Name Type Datasource figuration is shown in the Fields View yE POST content Message body File upload Dataset uploads filename POST content Message body Removing the customization To revert the configuration of the field to the recorded value re open the dialog from the FieldsView select the Recorded datasource and press OK Replaying Replaying A Replay is a simulation of a person using a browser to interact with a website The pages visited are defined by the Recording being replayed After each page is completed it will be selected in the Testcase Editor
133. ccessful lookups in the Kernel URI cache IIS Kernel URI Cache Hit The ratio of Kernel URI cache hits to total cache requests Note that the Win dows counter calculates this value as a historical average since the last restart but Load Tester does not IIS Kernel URI Cache Misses The number of failed lookups in the Kernel URI cache IIS Requests sec The rate HTTP requests are received by the web server IIS URI Cache Entries The number of entries in the URI Cache IIS URI Cache Hits The number of successful lookups in the URI cache IIS URI Cache Hit The ratio of URI cache hits to total cache requests Note that the Windows counter cal culates this value as a historical average since the last restart but Load Tester does not IIS URI Cache Misses The number of failed lookups in the URI cache lIS App These statistics represent the combined processes for IIS inetinfo ASP NET aspnet_wp and the Appli cation Pool Process w3wp liS App Handle Count The number of handles held by known web server processes lIS App Private Bytes The current size of committed memory owned by known web server processes liS App Thread Count The current number of threads active for known web server processes lIS App Virtual Bytes The current size of virtual address space for known web server processes lIS App Processor Time The percentage of elapsed time that threads from known webserver proc esses used the processor to ex
134. ce Trainer Price Lis 70593 00 01 792 200 http webperformanceinc com sale i Support Web Performance Testir 83043 00 01 372 200 http webperformanceinc com supr Support Web Performance Testir 65015 00 01 172 200 http webperformanceinc com supr Support Web Performance Testir 91354 00 05 928 200 http support webperformanceinc gt lt forward gt 1033 00 00 050 301 http support webperformanceinc gt lt forward gt 754 00 00 070 302 http support webperformanceinc E Support Web Performance Te 31871 00 01 051 200 http support webperformanceinc viewlet js 7 2764 00 00 031 200 http webperformanceinc com view B wpistyle css 7 3463 00 01 062 200 http webperformanceinc com wpis bg3 gif 7 4423 00 00 030 200 http s webperformanceinc com imac clear gif 7 703 00 00 040 200 http webperformanceinc com imac ed howmany gif 7 4872 00 00 050 200 http webperformanceinc com imac l Innn tans nif 71 FFARR NN NN NAN ann httni heer rm Laas Content 3 webperformance a how many U Web Page Image Raw When a web page or URL is selected in the Testcase Editor some views display details about the selected item Web pages are displayed in an embedded browser in the Content View Images and other text resources are displayed in text and image viewers while other resources are displayed in the raw viewer The Headers View displays the HTTP headers while the
135. ce testing test ing and tuning involve a lot more than simply using a tool For detailed background information about plan ning documenting and tuning as well as performing tests we recommend the following books ook Tee Complete Reference The Web Testing Handbook Professional Web Site Optimization by Scott Ware Michael Tracy Louis Slo thouber Robert Barker Although this book was published in 1998 it still holds up as the best introduction to web performance tuning It covers a wide range of topics and covers every thing you need to know to get started load testing The age of the book means it doesn t cover some new topics but surprisingly enough most of the book is still relevant If you are new to load testing and don t know where to start you should purchase this book first Web Performance Tuning by Patrick Killelea Published in 1998 this book is one of the best for web performance testing cov ering the technical basics for everything you need to know in order to really understand performance tuning It includes such required information as def initions of various performance metrics and what those should be in the real world and moves along through networks hardware and operating systems It goes to great pains to cover a variety of systems including Windows Linux Mac intosh and a variety of web servers ColdFusion MX The Complete Reference by Jeffry Houser Although this book is specif
136. ch roughly correspond to 1 Baseline Analysis 2 Test Development Verification 3 Full Scale Performance Testing Each phase of the testing process has its own prerequisites and deliverables The Web Performance Load Tester is designed to facilitate this testing process by separating the different parts of performance testing into different tasks and by automatically generating the reports needed to both analyze the performance and communicate that information to others Virtual Users The virtual users emulate a browser in every way the web server can not tell the difference between a real user hitting the web site and a software generated virtual user Your web pages are grouped into trans actions called test cases so you can get measurements that have meaning for your business The illustration below shows how each virtual user can execute a totally different business case creating a realistic load on your web site how virtual users execute business cases time virtual A user 1 virtual user 2 virtual A user 3 business case 1 repeated business case 1 business case 2 repeated business case 2 business case 3 repeated business case 3 url1 html url2 html url3 html image gif CF delay Another term to know is user identity which describes a particular user with their own username pass word etc A test case could have millions of user identities
137. column in the table contains the URL the error occurred at and placing the mouse over the text in that column displays the transaction title for that URL The table can be modified to display the transaction title and show the URL for mouse over by selecting the Show URL or Show Transaction Title item in the Errors View menu Cross Referencing Errors with Other Views Each line item in the Errors View can be right clicked to bring up a pop up menu It is possible to view the error content and headers the fields submitted during that transaction and also to view the difference between the content that triggered the error and the content of the original recording or any replay B Errors amp E y Ol Headers Content X a 110003 errors in test results 8 Connections bil fje Response content fi amp Time Description A eae Validation eror Service Unavailable 00 20 19 B Validation error 00 20 19 B Validation error 00 20 19 Validation error HTTP Error 503 The service is 00 20 19 halanna error unavailable 00 20 19 Vali Show in gt B Content View 00 20 19 Vali Transaction Compare gt Headers View 00 20 19 B Validation error Fields View 00 20 19 B Validation error Testcase Editor um p HTML XML Image Text Raw The Content Headers and Fields tabs may also be opened side by side with the Errors View to rapidly scroll through error information Replay errors
138. configuration In order to record the HTTP transactions Analyzer acts as a HTTP proxy for your browser This requires a change the the browser s proxy settings for the duration of the recording The first time a recording is per formed the Recording Configuration Wizard will determine the correct proxy settings and prompt for the preferred browser for recording To repeat this process wizard can be restarted using the Recording gt Recor ding Configuration Wizard menu item The preferred Browser and Proxy settings may be configured automatically in the Preferences editor For details on configuration settings see the Browser Settings and Proxy Settings pages Status display While recording the Status View will display the vital details about the recording status Record 1 Pages 00 02 10 13 URLs 32 kbytes 7 Conn 4 open 0 Errors SENDING RECEIVING Recording SSL How it works When browsing SSL sites your browser encrypts the information sent to the server where it is decrypted Nor mally if a proxy is used by the browser the proxy does not encrypt decrypt the transactions it simply passes the encrypted information through In order for Analyzer to record the transactions the internal record ing proxy works differently it decrypts encrypts the transactions To make this work Analyzer generates a fake certificate and presents it to the browser as the certificate for the server In normal situations
139. cord Play Window Help b eo p a pa AN gt Check balance 6 22 PM 9 13 06 replay 2 29 PM 9 15 06 replay 2 29 PM 9 15 06 replay 2 1 lay 3 Next open the Actors view and then select the get balance transaction in the testcase editor Then select the Validators tab at the bottom of the Actors view You will see the automatically applied status code val idator already present in the list of validators Press the add button to add a new validator Configure the validator to look for the account balance from the dataset in the response content by selecting the Dataset field and radio button and then select the balance field in the accounts dataset as shown below Create Content Validator l x Yalidate Content Please select how you would like for this response to be validated Verify that Verify content is found C Verity contentis not found Look for The content for this validation rule should be retrieved fram C Constant DataSet laccounts x Dataset field Field balance C User variable Response Content lt response gt al lt result gt 1 lt result gt lt balance gt 49 lt balance gt lt response gt s Pie After applying the validator replay the testcase again and check the Errors tab to verify that no errors were encountered There should be no errors because our dataset accurately reflects the system being tested To see what the error looks like from the vali
140. ct but the software incorrectly identified the field to be retrieved or has a name that changes for each iteration of the testcase Viewing the error page in the content view should help determine if 1 2 or 3 is the case 1 The authentication of the testcase may not be configured properly see the Authentication section for more information 2 The ASM wizard tries to find every possible field that may be passed from one page to the next in order to accurately simulate a testcase Many of these fields may not be necessary or may be the same for every iteration of the testcase In this case re running the ASM wizard and removing those fields from consideration may alleviate the error while still allowing the testcase to be simulated correctly 3 Ask the developer of the web application if this field is needed within the context of this particular test case If itis enter a support request so we may help you with advanced configuration to handle this sit uation Q How can run a load test at night A Select the Schedule test option from the Loadtest toolbar button be drop down menu and select the Schedule for option Q cannot connect to my server agent because of firewall or network restrictions A The server agent can operate in offline mode Q My system does not have DNS entries yet recorded the testcase with a hostname that was aliased on my hosts file When try to use remote load engines they cannot resolve the
141. dator the dataset will have to be changed to purposely have wrong data in it Open the accounts dataset and change the value of the first entry in the balance column double click a cell to edit it Before replaying we will need the force the replay mechanism to reload the dataset to do this open the Replay view and select the Reset Dataset State item from the drop down menu on the right side of the view rs Fields gt Replay __ X Actors Servers Engines Statistics 9 15 06 replay Duration 00 00 32 v Remember dataset position Errors O Reset dataset state age gt 2 http www webperformanceinc com demo bank po state tns iasturr o O manceinc com closed 2 http www webperformanceinc com demo bank Replay the testcase again and then open the Errors view The validation error displayed indicates that the account balance that entered in the dataset 749X could not be found in the response content for the get balance transaction Content x Fields Replay Actors Servers Engines Statistics 1 errors in replay 3 03 PM 9 15 06 replay Transaction Title 00 00 360 Content validation Failed the conte t 749x was not Found on the page lt webpage gt 2 Don t forget to change the dataset value back to the correct value before moving on Step 3 is now complete we can move on to running a load test Step 4 Run load test and analyze results Creating the load configuration After recording
142. dd Value nextpage Load Test Report AES Performance Goals Proxies Recording Usage This page contains two lists one for omitting fields by name and one for omitting specific uses of a field by their value For example suppose your case contained a HTML fragment lt input name btnSubmit type Submit value submit gt This may result in a fixed value post being sent to your server btnSubmit submit You may always remove this value from the Application State Management Wizard manually or you could specify that this field always be automatically removed with either ignore list Ignored Names Ignored Values btnSubmit submit Be very careful not to include a blank entry unless you intend for the Wizard to treat blank values as fixed values as well The next time you run the Application State Management Wizard any usage with their name or value specified in one of the ignore lists will be automatically ignored or hidden by the wizard Equivalent Field Names It some cases ASM may fail to configure a field because the name of the field is not identical to the name under which the correct value for that field was received This is seen most often in testcases that incor porate XML or JSON content The Equivalent Field Names preferences page provides a way to convince ASM to correctly configure such fields Preferences Eis type filter text Equivalent Field Names v v General a Help XML v Install Updat Er Haea ed a So
143. dling for a field use the Fields View to locate the field By right clicking on the field and selecting Edit change the Datasource for the field to Recorded to always send the recorded value rather than attempting to handle the field dynamically Once this technique has been determined to be useful for a field you may use the Ignore Fields feature to permanently ignore a field during the ASM analysis Find and configure the source of a dynamic field Some fields cannot be automatically configured by the ASM wizard because it cannot find the source of the field This is frequently the case when the fields are assigned a value by a mechanism other than using the value parameter in the field declaration tag e g javascript or for query parameters in URLs that are gen erated dynamically in the browser e g javascript The next section Configuring Dynamic Fields shows an example of the configuration steps required to address this situation The Web Service tutorial also demonstrates a solution to this problem Find and configure dynamically named fields Some applications use an architecture that results in the same fields having different names each time the testcase is performed These fall into two categories 1 Fields with name dependencies 2 Fully dynamic file names Case 1 has groups of fields where a portion of the field name is equal to the value of another field For instance ITEM 123 FNAME 123 Bob LNAME123 Jones ZIP1
144. dropAssigned dropUsers FormField dropCats dropCats FormField User Variable category_choice dropMilestone dropMilestone FormField dropOwned dropUsers FormField dropPriority dropPriority FormField 4 Filter e Ee RE_ 32 Loaded 14 Shown 1 Sele Sort Name FWD 1 Scope this shows the scope in which the fields are shown Selecting a testcase in the Navigator View a web page or a single transaction from the Testcase Editor will show the fields contained in that selection 2 Customization selector This drop down provides a way to quickly selected a saved customization of the fields view The last choice in the selector Customize invokes the customization dialog which allows customization of the columns shown column order sorting and filtering 3 Name column note that some fields such as URL path segments don t have explicit names in the request and so this column will try to show something intelligent such as Path Segment 3 4 Type column URL query parameter query form field field POST content post multipart part or form field file upload file etc 5 Datasource column the source for the field when the request is written to the server Blank indicates the recorded value will be used 6 Recorded Value column The value of the field in the original recording of the transaction 7 Filter Show only fields containing the filter text The button next to the filter field clears
145. e Content HTTP Headers _X Headers for lt webpage gt 1 Errors Fields Replay Actors Servers Engines Statistics Dump view TE Request line and headers Response status line and headers POST demo bank HTTP 1 1 SS HTTP 1 1 200 OK Name mr vee Host www webperformanceinc com Apache Coyote 1 1 Content Type text xml Set Cookie JSESSIONID 394D0B70E78B6169D81663546C1B311D5 Content Length 105 Content Type text xml charset ISO 8859 1 Content Length 97 Date Mon 21 4ug 2006 02 17 46 GMT Note that each part of the request headers will need modification as required by your service 1 In the start line the path of the service will be different demo bank 2 The host should be changed to the hostname for the server your service resides on 3 The content type could be different text xml is common 4 The content length must be changed to match the content you created for this request The text file used to create the request shown above contains this POST demo bank HTTP 1 1 Host www webperformanceinc com Content Type text xml Content Length 111 lt request gt lt operation gt login lt operation gt lt username gt JAMES lt username gt lt password gt nkbmmfn lt password gt lt request gt The other request and responses are created in a similar manner Once you have the 4 files created a request and response for each of the 2 transactio
146. e New Load Configuration Navigator X J LiquidofficeTestRepository wpt fre Testcase pr ema 1 Datasets Edit E Load Conl Open Repository fi sample_issue_ 125 Testcases f Close Repository Datasets E New Repository Load Conl a l H E Load El Save Repository Load Recently Used gt E Record New Testcase 2 New Load Configuration Fill in the Load Configuration options as desired E Load Configuration 1 z Virtual Users Start with 50 Test Duration Run for 4 minutes X users _ Run maximum repeats Data Collection V Detailed Page Durations Sample period 10 More Select testcase to add Testcase recording 4 users over 1 V Increase by 50 ony 2 Samal _ Limit to 100 users total 100 maximum users Think Time Recorded VU Start Random I Weight 100 100 Speed 5 Mbps Delay A Start Repeats n a Once the configuration is acceptable press the Start button The Load Test overview screen will appear while the load test runs 6 23 06 8 48 AM create issues X ese When the test is complete press the Report button to open the Load Test Report E P1 physical baseline x Repor Section T est Summary gt a M Entire Report Test Summary User Capacity Load 1 amp Peak Page Durati
147. e Show in External Window button see below 3 Alternatively the links may be opened in the external help window which includes the table of contents and search functions by using the Open in Help Contents item from the pop up menu Help x Ole Wl oo y Show in external window fa Editor The editor is used to view details Bookmarks Help topics can be book marked for quick reference in the future using the Bookmark button at the top of the iO Hep x E Related Topics About Headers The Editor allows you to view Test Case data saved in a ay dynamically view a Test Case is being recorded view replays of a Test Case and perform comparisons between replays of Test Cases B bout the Egt Ope n Dynamic He Open in Help Contents Search results Copy B Headers Vier B Installation Add Bookmark SP more results Back gt Forward Help Contents Go To all Topics a Search BI Bookmarks gt 0 help window Links or tabs at the bottom of the help window displays a list of saved bookmarks Getting more help If you cannot find answers in the online help resources more help is available through our issue tracking system Reporting issues You may also report bugs and request enhancements using the integrated support request form The Sup port Request Form is available from the Support Request item on the Help menu Filling in th
148. e WPT repository file format may change in newer versions of Load Tester After Load Tester has been upgraded it will automatically upgrade repository files that it opens In the event the file needs to be used by a previous version of Load Tester it is recommended that backups be made of the WPT repository files before performing the upgrade e Minor updates may require a current version license included with Load Tester s Premium Sup port for full functionality If Load Tester is upgraded without a current license then the new ver sion of Load Tester may operate in a limited free mode until an updated license is installed Service Updates eg 4 3 9800 to 4 3 9830 Service Updates are provided generally to fix defects and are free to all customers See See Configuring Updates to upgrade to new minor versions on page 302 to select the type of update to download Retrieving updates For updates the update manager is used to find and install the new software To view and install patches available follow these steps Updates x Search Results Co Select features to install from the search result list 5 E Select the features to install Hf web Performance Analyzer Update Deselect All E M 000 Application P EE ee N ASANT E TESE T ae r E N E S A en fines Tats Configuring Updates to upgrade to new minor versions By default the software only downloads patches This prevents accidental upgrades to a version o
149. e agent Depending on your network configuration the network broadcast may not be routed from the server to the controller In this case you will need to add the monitoring agent to the server list manually using the Add button in the Servers View For more infor mation see the Basic Server Monitoring page the procedures are similar Further Configuration Once the controller has been able to successfully connect to an agent the agent may be managed through the Servers View Viewing Collected Data The data collected by the monitoring agent is automatically integrated into the test results In the Load Test Report select the Servers section for charts and tables detailing the server performance as well as a performance checklist In the Metrics View use the drop down controls to select the server and the metrics will be presented in the table Running the Agent as a Background Process This capability is available only on Linux at this time The agent is an interactive command line application but it can be made to run as a background process using screen For your convenience a script has been created that will start the agent in the background in an automated way Starting the Server Monitor Automatically When a Server Boots You can safely launch the agent from etc rc local To do this simply add a line to etc rc local as follows home USER Web_Performance_Server_Monitor_Agent Start_Server_Monitor_In_ Back
150. e being transmitted over HTTP Possible values e URL the value should be encoded for use in a URL path segment or query parameter e FORM or TRUE the value should be encoded for use in a form field e lt characters gt specifies only those characters which should not be URL encoded any other char acters encountered in the value will be URL encoded unescape source Determines how characters might be escaped when extracting a string of text The available source for mats to decode characters are e HTML characters may be escaped as HTML entities For example amp amp will be extracted as a single amp character e Javascript characters may be escaped with a character For example u002B will be extracted as a single character e None The source format does not present characters in an escaped format For strings which use XML escape sequences the HTML option may be selected for standard XML DTDs whose entities are a subset of the defined entities for HTML Each source format to be tested may be preceded by a qualifier identifying how a match found using the specified source format should be used Valid qualifiers are e Only Indicates this detector is only valid for strings un escaped by the specified format Probably The detector should decode characters during replay with the specified format even when the decoding does not appear necessary from the recording Maybe The detector may decode during replay with the specified format
151. e engine list by pressing the Remove button Once an engine has been removed it may be added back automatically if it or the controller is restarted Upgrading Engines If the engine is using a different software version it cannot be enabled If the software version of the engine is lower selecting the engine will enable the Upgrade button Press it to upgrade the software on the engine Once the upgrade process has completed the remote engine software will need to be restarted in order for the upgrade to take affect Configuring Engines For engines which support using multiple IP addresses it is possible to configure which IP addresses the engine will use during a load test To do this select an enabled engine and press the Configure IPs button A dialog will be displayed allowing you to configure the IP Aliasing settings for the engine Viewing Historical Metrics After a test has completed selecting the test results will display the saved engine metrics from the selected test Only the relevant columns will be displayed for historical data which means none of the columns which show live data will be displayed Note that the live data option must be de selected to view historical results Current engine configuration Name Status M 192 168 1 70 Idle Idle local Idle Yo CPU O D 3 Users Capacit ae 0 100 E 0 100 B 0 100 Color 4 Add Engine Remove Configure TPs TEA Metrics View This view
152. e form Enter your e mail address and choose either the Open new request or Attach files to existing request options For new requests please fill in a short summary description and select a category Additional infor mation related to the request can be sent by selecting the appropriate items e g testcases or loadtest results Updating the software Updating to the latest patch for your version Updates to the Web Performance software can be easily obtained via the integrated update system 1 Open the nstall Update wizard from the menu Help gt Software Updates gt Find and Install Feature Updates Choose the way you want to search For features to install 2 Select the Search for updates option and the Finish button Select this option if you want to search for updates of the Features you already have i Search for new Features to install Select this option if you want to install new features From existing or new update sites available You can add new update site URLs to the search 3 Follow the wizard to complete the installation You may be prompted to restart the application after updating This is not always necessary but is the rec ommended action For detailed information on downloading patch updates and upgrades see the Managing software updates reference page Navigating the User Interface loj x The main window consists of 3 primary Co Claes AoE mo ee j 7 Navigator W
153. e gt lt image gt lt webpage lt image gt Because reconfiguring hostnames is somewhat common there is a customization pre configured for this pur pose the hostnames entry in the list However in order to demonstrate the process this section will describe how to manually configure a customization for this purpose Choose the Customize option from the list to open the customization dialog In the Field Types section turn off the default selections and turn on the Host port field type Then in the Sort section turn off sorting by Name and turn it on for Recorded Value to sort the fields by the recorded host name Before accepting the changes the dialog should look like this Customization Namespace FieldsView v Field Types Filter fields by type fl Table Default Field types fl Current Table V Form field fg cookies Message body fig everything ig file uploads v Columns fig hostnames fig path segments fj recently changed Filter Author author width 60 show false Modified timestamp width 100 show Page Title pagetitle width 200 show f URL url width 400 show false URL query parameter User defined F URL path segment Header fyb V Host port Visible Columns Name name width 200 show true Type type width 40 show true Datasource datasource width 200 shc Recorded Value recorded width 279 s Transaction Title txn
154. e line 30 col 9 lt table class bodyTable gt response line 32 col10 lt td class bodyCell gt 1 The title of the item to search selected in Navigator View or Testcase Editor 2 Which parts of the item to search 3 The text to search for 4 The search results Note that all searches are case sensitive Search Parts The search can be narrowed to certain parts of the transactions such as URLs or form fields Note that some of the parts are overlapping For example query parameter fields are part of the URL There fore when searching everything a match found in a query parameter field will be duplicated by a match in the URL Event Log The Event Log view provides a detailed log of connection and transaction events during a testcase replay The view can be opened from menu by choosing Window gt Show View gt Other gt Web Performance and selecting the Event Log Content Headers Fields Replay Validators Errors BEA Log X 00 00 000 Replay started 00 00 000 YU started at 2 8 06 11 40 4M 00 00 001 started testcase Web Performance 00 00 001 started page 0 PAGE http webperformanceinc com 00 00 116 initiated connection to webperformanceinc com 80 connection handler 1 00 00 192 connection opened to webperformanceinc com 80 connection handler 1 00 00 224 started request for http webperformanceinc com on connection handler 1 00 00 250 completed request for http webperformanceinc com
155. e located between the two delimiters Prefix lt sessionid gt Suffix lt sessionid gt Instance number to extract from fi Extract value into User variable session_id T Assume extracted value is never URL Encoded Recorded Response lt response gt al lt result gt 1 lt result gt i lt sessionid gt 341E42054152044F52D7A031 741AAB79 lt sessionid gt lt response gt 4 Pe Value selected for extraction 341 E42054152044F52D7A031741AAB79 one The first section of this dialog allows the prefix and suffix anchors to be entered The extractor will search for these anchors in the response received during playback and extract the value located between them The Instance number to extract from can be increased if the extractor should skip and ignore initial occurrences of the prefix anchor Next the extractor needs to know the name of a user variable to extract the value into The name of the user variable is used to identify the value in the user state such as in a modifier that needs the extracted value later in the testcase Please note that variable names starting with a non alphanumeric character e g are reserved for use by Web Performance Load Tester and may be overwritten by the software as needed The field Assume extracted value is never URL Encoded controls the context of the extracted value and how encoding is performed when a modifier re submits this value This capability is available fo
156. e request and response of the item currently selected in the Testcase Editor The Headers View is opened by selecting Window gt Show View gt Headers from the main menu The title of the item being displayed is shown in the upper left portion of the Headers View If any modifiers are present on the HTTP Request header fields the icon for the field in the Modifier column is active Headers X Errors Replay Fields Support Web Performance Testing Inc 1 Request line and headers Response status line and headers GET supportsindex html wmi 4 Opid nsid n HTTP 1 1 O Edit HTTP 1 1 200 OK Accept image gif image x xbitmap image jpeg image Fri 12 4ug 2005 16 57 35 GMT Referer e a Apache 1 3 33 Unix mod_perl 1 29 mod_gzip 1 3 Accept Li age en us Accept Encoding Accept Encoding gzip deflate Thu 19 Nov 1981 08 52 00 GMT User Agent Mozilla 4 0 compatible MSIE 6 0 Windows NT Cache Control no store no cache must revalidate post check 0 Host webperformanceinc com Pragma no cache Cookie WPISESSID 82a17e0eaf5771018dd44a97b7d4 Content Type text html Content Encoding gzip Content Length 3919 Ej 1 request line and corresponding Edit button 2 header name 3 modifier column an icon here indicates the header has a modifier configured 4 header value Editing the request line including URL parameters and path segments Pressing the Edit button 1 will open the Edit HTTP Request line URL dialog below w
157. e this behavior Caution If you do not record using Internet Explorer or Firefox or Load Tester is not set to automatically clear cookies and cache you must clear the cookies and cache yourself Failure to do this may reduce the quality of your test results Automatically configuring the Windows systemwide proxy settings Load Tester can automatically configure the Windows systemwide proxy before each recording and restore the previous settings after each recording This is the easiest way to configure browsers that support it Use the Use Windows System wide Proxy Settings checkbox to enabled or disable this feature Ignoring Process Termination By default Load Tester will end the recording when it detects that the browser process has terminated In some cases especially if there are multiple windows open a browser process will terminate even though the browser continues to operate normally Use the Continue Recording After Browser Process Terminates checkbox to continue the recording If you use this option you will need to manually press the stop button to end each recording Deleting a configuration To delete a configuration select the configuration in the list and select the Delete button Note that at least one browser must be selected as the default browser and it may not be deleted Windows Settings The Windows Preferences Page allows customization of the mechanism used by Load Tester to control Internet Explorer on Windows
158. e to us Example users file username password balance JAMES nkbmmfn 749 JOHN ohgixm 2913 ROBERT gelslrjnja 83801 MICHAEL qfpqjxc 2074 WILLIAM nfbwhfh 614 DAVID hhjvksgue 8365 RICHARD rkipbo 153 The next step is to import this data into Analyzer This is done from the Dataset node in the Navigator Select the mport item from the pop up menu and complete the import dialog import Dataset Import From file D tmpi WSDemo accounts txt New dataset accounts LE Existing dataset accounts Field separator s V commat J tabt space I semicolon D bar J other characters JV Trim leading and trailing spaces Preview username assword balance a JAMES nkbmmfn 749 JOHN ohgixm 2913 ROBERT gelslrinja 83801 MICHAEL afpajxc 2074 x 4 b cne After importing the dataset it will appear in the Navigator under the Datasets tree node and the dataset will open to show the imported data G web Performance Load Tester a ol x File Edit Repository Record Play Window Help laogQl ee7 6 e s E E J BankServiceDemo wpt Lifespan Testcase V Reusable Sharable H O Testcases E S Datasets username assword E accounts JAMES nkbmmfn Load Configurations JOHN ohgixm ROBERT gelslrjnja MICHAEL qgfpgjxc WILLIAM nfbwhfh DAVID hhivksque balance a 749 2913 83801 2074 614 8365 Note the 3 settings at the top of t
159. e value will be used later to identify the name of the next variable Next select the field in the Identifiers table to display the dependant fields associated with it and press the Add Field button next to the bottom Fields table to create a new dependant field The name of the var iable may be entered here replacing the dynamic part of the name with an ampersand amp In our example the color field would be entered as color amp The next time the Application State Management Wizard is run on a testcase fields starting with the name color and ending their name with a value from the field serialno will be dynamically renamed when the testcase is replayed or run in a load test More elaborate testcases can also be defined using dynamically named variables Consider if our case had been serialno 1234 colorl1234 blue weight1234 in lbs 5 1234 assembly date 20051201 Itis possible to specify multiple fields as having a single dependency by adding their names to the Fields table e color amp e weight amp _in_lbs e amp _assembly_date This configuration will allow the Application State Management Wizard to correctly assume name depend encies for all three dependent variables Itis also permitted for a dynamically named field to be associated with multiple identifiers For example con sider another case itemid 123456789 checkbox123456789 checked legacyid 123 checkbox123 unchecked To configure this c
160. eate a backup copy of the file 3 Edit the file with a plain text editor and locate the lines lax nl java option java heap size initial 200M lax nl java option java heap size max 200M 4 Change the 200 in each line to the desired amount in MB of memory to use and save the file The values are the initial and maximum amount of memory that Web Performance Load Tester is allowed to use You may increase it up to the maximum value of free memory you have available on your computer For more advanced load engine memory tuning information read this article on our blog User Identity Wizard The User Identity Wizard is used to specify the type s of authentication used in the testcase 17 User Identity ool mad Configure User Identity Please select how users login to the system During a test each virtual user can use a unique identity if you choose to supply the usernames and passwords This makes each virtual user look like a unique user to your server even though they are coming from the same computer To configure user identities for your testcase please select the method your server uses for prompting the user for their credentials Login method s W L HTTP or Integrated Authentication Ziad Finish WuansGanetp The wizard will then allow you to configure the credentials used to login for your testcase The wizard may be run at any time to change the user identity used in the testcase by e Selecting the
161. eb 3 Of 5p components Menu toolbar editors and nt hth l A 0 Recordings orManual wpt a Web Performance w 300002 byte 00 21 110 se 5350 7239 sec elapo views The default arrangement of the 5 Testcases ia O ai interface places the Navigator view on O Manafon Ne D Load Tesino software we 91890 00 02 44 200 i l I Web Pe z E Webste Load Testing Softy 75744 00 01 523 200 the left editors in the middle and other I Ok webste Webste Load Testing Softy 79105 00 01 161 200 i i I errors 3 Webste Load Testing 5 4822 00 00 090 200 views at the bottom as show in the Datasets O B wpistyie css 3 H62 00 00 030 200 Users E wewdet js 3 2763 00 00 040 200 screenshot 0 ahea pt ki zr 3 4422 00 00 040 200 H Testcases deao 3 702 0 00 200 f B Javalobby lt r a Ea ooo of 1 Navigator view Dam on M 1 Seed 2 Toolbars 21 Wi content 3 Houdors Breve Rapley Vaio 5 3 Editors and Charts sas 3 ND J y 4 Detailed inspection views PR oot eae 5 Status view 13 URLs 32 kbytes pe oOrmanCEy 7 Conn 4 open OErors 4 Web Page Text Image Raw Navigator The Navigator shows the contents of each open repository Double click repository items or select a test case and choose Edit from the pop up menu to open it in an editor Note Every open repository loads the contents of each test cases into memory Closing unused repositories will reduce the memory consumed by the test cases
162. ect the Create New Issue item at the top of the screen Fill in the required fields and select the Create to finish the request When submitting the request please update the Description to include either e The information from the support wizard if the tool failed to send the support request e The information from the Diagnostics Preference page ois type Filter text Diagnostics Lo dy Help Install Update Use only as directed by Web Performance personnel Web Performance Baseline Report El Browser Fa O E AE T ee ee i a Managing software updates Preparing for an update 1 Run Load Tester as an Administrator In order for Load Tester to update itself Load Tester must be running with Administrator privileges e Windows XP and Windows 2003 it will be necessary to run Load Tester from an Administrator user account e Windows Vista 7 2008 and newer it will be necessary to right click on the Load Tester shortcut and start it with the Run as administrator option Web Performance Load Tester 4 2 Uninstall Web Performance Load Te 40 SS EES E Web Perfl 2 naa l Web Perform Run 2S administrator 2 Decide on type of update Load Tester can download minor version updates as well as service updates patches Minor Updates eg 4 2 to 4 3 Minor Updates provide new features in Load Tester and are available to users with an active support contract When performing a minor update e Th
163. ecution instructions Command Line Tools A command line interface launcher cli is included in the installation folder cli exe on Windows This com mand line interface can be used to replay test cases and to perform full load tests Replay a testcase Replay command line format usage cli replay options repository t testcase to replay w workspace location default is lt home gt WebPerformance If a testcase is provided t option only that testcase will be replayed If omitted all testcases in the repos itory will be replayed After completion of the last replay the repository will be saved Return codes O N The number of errors encountered during the replays 1 Illegal arguments provided 2 Software error occurred send cli log to Web Performance Support Execute a Load Test Test execution command line format usage cli execute options repository e load engines to use by hostname or IP address o file path to write the load test results in wpt format r file path to write the report s server monitors to observe by hostname or IP address t test profile to execut This will execute a load test based on the repository wpt file and test profile as named under Load Con figurations in the Web Performance Load Tester GUI Load Tester will save a copy of the repository includ ing the results of the load test in a separate wpt file If you wish
164. ent Please select how you would like the value to be located in a response during playback w Anchors This extractor will search the response for the fixed text entered below and extract the value located between the two delimiters Prefix anchor lt sessionid gt zs Suffix anchor lt sessionid gt Repetition number to extract from 1 v Extraction options Extract value into User variable sessionid LE Assume extracted value is never URL Encoded v Recorded Response lt response gt 2 lt result gt 1 lt j result gt lt sessionid gt 341E42054152044F52D7 403174144679 lt sessionid gt co lt response gt Value selected for extraction 341 42054152044F52D7A031741AAB79 Cancel After pressing the OK button the Actors view will show the Extractor like this en serra Ress OES Sve exis T Extractors for lt webpage gt 1 Actions Taken Locate instance number 1 of a value anchored between lt sessionid gt and lt sessionid gt and extract it into sessionid Modifiers y Validators a Extractors Once the session id has been extracted from the login response it should be dynamically replaced in the get balance request This is accomplished by adding a modifier in the Fields view Open the Fields view and then select the get balance transaction in the testcase editor 2nd transaction The fields in the request will be displayed as below Check balance gt 492 bytes
165. er physical gives a varii Individual Metrics included in t Load Configuration Testcases Summary Saikat Create Account 1 Confidenc Create Contact 2 Peak User Add Note 3 Summary View Note 4 Start amp Web Pages a Testcase Create Account 1 aia Testcase Create Contact 2 Total testi ull Tocteaco Add Noto 3 c Print H Save Export Launch Settir L i webperlormar ce formation about a load test The summary section is the first and v peak users simulated hits sec etc The server statistics are b server CPU load and memory usage had an impact on performance 38 100 39 2 34 PM 10 11 07 00 21 04 706 88 767 120 0 Print Print the current section and all enabled sub sections Sub sections may be enabled and disabled using the check boxes in the navigation tree Save Save the current section and all enabled sub sections using the browsers IE by default on Windows save options Note that Microsofts Web Archive mht format is useful for saving the contents in a single file for easy distribution to others Note that the Web Page complete option saves one HTML file for the report plus page resources images etc in a sub folder All the files are needed to view the saved report at a later time Export Save the entire report in HTML format The exported report includes a convenient navigation pane similar to the navigation tree shown
166. er a new serial number Domain Ownership Verification Domain Ownership Verification is required for Load Tester LITE to test websites reachable on public IP addresses Domain Ownership Verification is not required for internal sites on private IP ranges or for Load Tester PRO or smaller DEMO tests of Load Tester Pro To verify domain ownership please use see our online Domain Ownership section Your verified domain ownership list is included with your Load Tester LITE license If you need to add a new domain after requesting a Load Tester LITE license please use the Domain Ownership link above and then re download and install your updated license Recording SSL How it works When browsing SSL sites your browser encrypts the information sent to the server where it is decrypted Nor mally if a proxy is used by the browser the proxy does not encrypt decrypt the transactions it simply passes the encrypted information through In order for Analyzer to record the transactions the internal record ing proxy works differently it decrypts encrypts the transactions To make this work Analyzer generates a fake certificate and presents it to the browser as the certificate for the server In normal situations this is considered a security hazard so when the browser detects this sit uation it will display a warning message stating that it cannot verify the identity of the server This is a good thing If it didn t then other programs
167. ere simply select the location and name for the file and press OK A new file will be created with the complete message saved Dataset Editor C Web Performance BB Users X Lifespan web Page V Reusable J Sharable Reload BR A Username Password iWebUser3 0000 WebUser3 0001 WebUser3 0002 WebUser3 0003 WebUser3 0004 WebUser3 0005 WebUser3 0006 WebUser3 0007 WebUser3 0008 WebUser3 0009 Edit Fields Fi Dataset Configuration vil Lifespan The lifespan of the dataset defines how long the Virtual User will use values from the same row before fetch ing the next row of values Note that if a testcase does not use any values from a dataset no rows will ever be used e Virtual User No matter how many times the testcase is executed only one row from the dataset will be used e Testcase A single row of values will be used for the duration of each testcase e Web Page Each web page that uses values from the dataset will use a different row e URL Each transaction URL that uses values from the dataset will use a different row e Single Use Every time a dataset value is used a different row will be used Some examples of the correct settings are described below Virtual user testcase and web page are the most commonly used settings The lifespan settings that are not mentioned are rarely used If you are not sure why you would need it then you probably don t Examples User Identity For
168. erformance LAN vs WAN Load tests can either generate load from the same LAN as the web server or from outside the LAN The inside the LAN approach removes the service provider s network performance from the equation but requires resources at the same location as the web server This is the most cost effective way to load test since all of the network traffic is contained and thus does not incur bandwidth charges from the web hosting provider browser LAN ee Sssos nl N y router gt Juan test generating computer router E wb Teei remote Sr tengine web server application nm LAN app test generating CON QC Apm q qq qq yyl Server hardware LAN based Load Generation When users are simulated from outside LAN the network latency and network performance of the service provider are measured but that also can make it more difficult to distinguish between network related per formance problems and server performance problems This is also the most expensive way to test since the excessive bandwidth used during a load test has the potential to incur large extra fees from the hosting pro vider lt LAN ae Stssa sln N m router 7 ran test generating computer L router web server application eac E an web server hardware WAN based Load Generation mam We strongly recommend a tiered approach to load testing regarding bandwidth 1 Firstan initial bandwidth usa
169. erformance picture While the test is running you ll want to monitor the performance of your web servers using the Servers View Current server configuration CPU v Server Color Type CPU Memory Disk Network Version 100 wv 10 1 1 151 Advancec 8 0 5 0 J5REZ3 80 7 Advanced o 20 o een 1 30 2 00 2 30 Memory v 100 80 60 40 20 Add Remove Upgrade V Show live metrics i 1 30 2 00 2 30 It is also important to monitor the performance of the computers generating the virtual users in the Engines View ESTEEMED content Headers Errors Fields Replay actors Servers Statistics Current engine configuration CPU Utilized Name Status Color Users Capacit oCPU Mem 100 192 168 1 70 Ide E 0 100 0 0 Ide E 0 100 0 0 M local Ide M 0 100 3 28 50 Ole Babs ge jl og ules al Memory Utilized 100 50 ee gt 0 re ee Tee i Add Engine Remove Configure IPs Upgrade IV Show Live Data 00 13 31 00 15 31 One of the major features of the software is it performs load balancing among the computers generating the virtual users in order to make sure the simulations are accurate A computer that is overloaded with too high a CPU utilization or low memory can t generate an accurate simulation Toward this end even with a single computer the algorithm may limit the number of virtual users that can be added For example you may specify that
170. errors Network Collisions Number of network packet transmission attempts that resulted in a collision TCP Connections Established Number of open TCP connections TCP Connections Established sec Average number of new TCP connections established per second TCP Connection Failures Number of failed TCP connections TCP Segments Retransmitted sec Rate of previously transmitted TCP segments being retransmitted ASP NET Active Server Pages ASP NET Active Sessions The number of sessions active ASP NET Application Restarts Number of times the application has been restarted during the sample period ASP NET Cache Entries Total number of entries within the ASP NET application cache both internal and user added ASP NET Cache Hit Ratio Ratio of hits from all ASP NET application cache calls Note that the Windows counter calculates this value as a historical average since the last restart but Load Tester does not ASP NET Cache Hits Number of hits from all ASP NET application cache calls ASP NET Cache Misses Number of misses from all ASP NET application cache calls ASP NET Cache Turnover Rate Number of additions and removals to the total ASP NET application cache per second ASP NET Compilations Number of asax ascx ashx asmx or aspx source files dynamically compiled ASP NET Current Requests The current number of ASP NET requests including those that are queued currently executing or waiting to be wr
171. ervers usually using NTLM or NTLM via Negotiate and subsequently is supported by Load Tester for these security methods The user identity that will be provided for Basic and NTLM authentication can be customized by using the User Identity wizard or in the User Identity tab of the testcase properties dialog select Properties from the pop up menu on the testcase in the Navigator view Client Certificates This method uses encrypted certificates installed in the browser to identify a user over a secure SSL connection Load Tester must be configured to use client certificates before the testcase can be recorded or replayed Application State Management Modern web based applications are getting more and more complex which makes testing those appli cations very difficult The web server or client side javascript can generate unique hidden variables or sep arate URL paths for each user Sessions can be specified not just through cookies but hidden in the web page itself Values from previous forms can be compressed encoded and stored inside variables with names like __VIEWSTATE Sometimes even the names of form variables changes from one user to another Note that Application State Management does not deal with data that the user would enter in form fields or any other type of user entered data Application State Management is about all of the other complex variables changing behind the scenes To change the input entered by the user in a form
172. es Content for lt webpage gt 1 All Si lt request gt Aj lt response gt Al lt operation gt login lt operation gt lt result gt 1 lt result gt lt username gt JAMES lt username gt lt sessionid gt 341E42054152044F52D7403174144B879 lt sessionid gt lt password gt nkbmmfn lt j password gt lt response gt lt jrequest gt P Paf o XML Text Image Raw HTML XML Text Image Raw Note that the above screenshot shows the content as viewed in Analyzer s Content view Get balance transaction The get balance transaction sends the session identifier and if successful receives the account balance in cents The pseudo XML sent and received in this transaction look like this Content X Headers Errors Fields Replay Actors Servers Engines Statistics Dump view E jl UU ile ids Content for lt webpage gt 2 Am al TT lt request gt lt response gt Ej zoperation gt get balance lt operation gt lt result gt 1 lt result gt lt sessionid gt 341E42054152044F52D7403174144879 lt sessionid gt lt balance gt 749 lt balance gt lt jrequest gt lt j response gt 4 Pir oil XML Text Image Raw HTML XML Text Image Raw In two example transactions show above user JAMES logs into the system using the password nkbmmfn The result value 1 in the response indicates a successful login and provides a s
173. es are being used from a dataset during a replay A The Replay View contains a tab that shows the current state of the datasets during a replay Open the Replay View Select the Datasets tab Replay the testcase If the testcase has very short think times between pages It may be helpful to step through the testcase one page ata time using the page step button see the Toolbar for the replay button descriptions 5 The Datasets tab will indicate which datasets are in use by the Virtual User and what the values are for each field in that dataset row aS a Q How can replay every testcase in a repository A Select the Advanced Replay option from the Replay toolbar button drop down menu and select the All testcases option Q How can replay testcases at night A Select the Advanced Replay option from the Replay toolbar button drop down menu and select the Schedule for option Q How can run replays in an automated process A See the Command Line Tools section Q How is the browser cache simulated during a replay A The simple answer is it will replay the same transactions that are in the recording If the browser had the resource cached during the recording the replay will simulate the same behavior The default configuration will clear the browsers cache and cookies before recording thus simulating a new user to the site If you wish to simulate a user returning to your site after one or more pre
174. ession iden tifier to be used in future transactions He then checks his balance and finds that he has 7 49 in his account 749 cents Step 1 Creating the testcase The first step in the load testing process is to create the testcase to be simulated The testcase is a col lection of HTTP transactions requests and responses When testing a browser based application this step is usually achieved by using the browser to interact with the website in the same manner any user would with the browser configured to use a recording proxy This proxy records the HTTP transactions between the browser client and server and creates the testcase using these transactions If you have a client for your web service and it supports the use of a proxy this is the fastest way to get a testcase created Since many web services do not have this ability we will demonstrate how to create the transactions from scratch Creating the login request The first step is to create the content of the request that is the pseudo XML shown above Paste this into your favorite plain text editor and then save the file e g login request txt Next note the length of the file this length will be needed when we add the HTTP headers Step 2 involves putting the HTTP start line and headers into the request Below on the left are the start line and headers used for this example request the required headers may be different depending on the require ments of your servic
175. et utf 8 gt title gt Load Testing Software and Services amp ndash Web Performance lt title gt lt link rel alternate type application rss xml title Web Performance Load Testing R55 Feed href load_testing blog Feed rss2 gt lt link rel stylesheet type text css href fcss style css gt lt link rel stylesheet type text css href css home css gt lt link rel stylesheet type text css href css specifics css gt lt link rel stylesheet type text css href css print css media print gt lt script type text javascript src fjsfiquery js gt lt script gt lt script type text javascript src fjsfcommon js gt lt script gt lt script type text javascript src php rss2js php url http fwww webperformanceinc com load_testing blog Feed rss2 gt lt script gt lt script type text javascript src js posts bubble js gt lt script gt lt head gt lt body class home gt lt diy id dhWrapper class gt lt div id dhLogo gt lt a href gt lt img alt Web Performance src Jimages commonjlogo_print png gt lt a gt rie gt Text Image viewer The image viewer displays common image formats including PNG GIF JPEG and BMP on Windows Z gt i U0 if Image Raw viewer The Raw tab displays the content exactly as it was received from the server By default the raw content is displayed in hex dump format ooooooo l
176. etails of each HTTP transaction This will be critical in identifying the problem There are cases where replays work but load tests do not When a load test with only 2 3 simultaneous users fails the cause almost always falls into one of these categories 1 User identity or authentication multiple simulated users are attempting to use the application using the same identity and the application does not support this 2 Shared user data the simulated users are attempting to operate on the same data Either the oper ation is blocked by the application or the actions of one simulated user makes the actions of another simulated user erroneous or impossible When a load test succeeds with a small number of simultaneous users but fails when more users are run ning the problem is almost always the application and or the server Don t be surprised that s the point of load testing right Finding the problem in a replay In order to get the testcase configured correctly you must identify the first transaction in the testcase where some symptom of the problem is displayed This will frequently be a web page that e causes a validation or extraction error in the Web Performance software e displays the wrong content e display an error message e response has a different status code e fails to return a valid response Sometimes the test will run normally and indicate no errors but the testcases are not producing the desired results e g a te
177. etection Rules Dynamically Named Fields Ignored Fields Validation Rules Diagnostics Dependant Fields File Upload Fields with the Following name patterns will derive their actual name From the selected si identifier field The amp character represents the value of the identifer in the name of the IP Aliasing dependant and will change between Testcases Replays and Load Tests Licenses Load Test Add Field Load Test Report Remove Field Performance Goals Proxies H Recording Usage carcel Configuring these fields is done in two phases The first is to select the Add Field next to the Identifiers table and enter the name of the field that identifies a value In our example the identifier is serialno whose value will be used later to identify the name of the next variable Next select the field in the Identifiers table to display the dependant fields associated with it and press the Add Field button next to the bottom Fields table to create a new dependant field The name of the var iable may be entered here replacing the dynamic part of the name with an ampersand amp In our example the color field would be entered as color amp The next time the Application State Management Wizard is run on a testcase fields starting with the name color and ending their name with a value from the field serialno will be dynamically renamed when the testcase is replayed or r
178. eturn a Valid Response On occasion the error will be so serious that the server completely fails to return any response and closes the connection Most of the time this is caused by server overload but occasionally it is caused by server application errors when unexpected inputs due to a incorrect testcase configuration are received by the server Content Headers ISTA Fields Replay Actors Servers Statistics Engines 1274 errors in test results 11 9 06 1 26 AM Load Configuration 1 Transaction Title Connection closed upon request stepd4Active gif Connection closed upon request ConsumerBooking gif Connection closed upon request Page css Connection closed upon request Step4Active gif Connection closed upon request Default css onnection closed upon request du home Connection closed upon request du sme booking Coannaction clacad unnan racniuact NAR rwechnaice mif 00 05 59 00 05 59 00 06 02 00 06 02 00 06 06 00 11 18 00 11 29 n 11 3Nn T m y Lim ir iis i fir Wrong Content Displayed Inspect each page of the replay in the Content View to determine if the page appears to be correct Each page will generally be a close if not exact match to the page from the original recording Does the page look like the result of a different operation For example the login page is returned when another page is expected Error Message Displayed In this example the server returned a p
179. f the response is equal to 20 188 bytes lt i gt Modifiers y Validators Extractors At the bottom of the Actors View there are tabs that filter out what type of actor the view is currently working with e Modifiers e Validators e Extractors e Processors The top right of the Actors view additionally displays three buttons that may be used to control various Actors 1 Edit After selecting an actor this button will bring up a dialog where the behavior of that actor may be edited This function is usually only available for actors created within the Actors View via the Add but ton 2 Validate text in content Validate content length Add This button allows you to create a new actor The type of actor created is determined by which tab of the actors view is currently selected A drop down arrow next to the button may be pressed to display a list of supported sub types of actors that may be created 3 Remove Removes the selected actor s Modifiers Modifiers may change values submitted to the server from those that were submitted when the testcase was initially recorded The Actors View provides a centralized display for reviewing and if necessary removing modifiers that are currently in place in your testcase To create or revise modifiers you should use a component of Web Per formance Load Tester relevant to the type of value being modified For more information please consult the Customizing a Tes
180. f the soft ware for which the installed license is not valid Once this happens a re install is required to get back to the previous version It is recommended that this option only be turned on when a minor upgrade is desired and then turned back off A new license is required with minor version upgrades If you have not requested a new license and wish to upgrade your software see our licensing information web page before continuing To enable the update manager to also find install minor upgrades e g 3 0 gt 3 1 follow these steps 1 Open the preference man EEE ager from the menu Win g type filter text Install Update dow gt Preferences 2 Select the Install Update 21 Help Install Update Maximum number of History configurations H Web Performance IV Check digital signatures of downloaded archives category 3 In the Valid Updates sec tion select compatible m Valid updates Ao equivalent 1 0 1 gt 1 0 2 only service increments Once the update manager has been configured follow the procedure described under Retrieving patch updates to view and install minor version updates After installation of the new software install the new license see License Management for detailed instructions Updating from a new Update Site If you have been instructed to download a new version of the software from a new update site the update manager is used to configure the applic
181. f threads in the runtime currently waiting to acquire a lock NET CLR Lock Contention sec Rate at which threads in the runtime attempt to acquire a managed lock unsuccessfully Managed locks can be acquired in many ways by the lock statement in C or by calling System Monitor Enter or by using MethodImplOptions Synchronized custom attribute NET CLR Lock Contentions The total number of times threads in the CLR have attempted to acquire a managed lock unsuccessfully during the sample period Managed locks can be acquired in many ways by the lock statement in C or by calling System Monitor Enter or by using MethodImplOptions Synchronized custom attribute NET CLR Logical Thread Count The number of current NET thread objects in the application A NET thread object is created either by new System Threading Thread or when an unmanaged thread enters the managed environment This counters maintains the count of both running and stopped threads NET CLR Percent Time in GC The percentage of elapsed time that was spent in performing a garbage collection GC since the last GC cycle This counter is usually an indicator of the work done by the Garbage Collector on behalf of the application to collect and compact memory NET CLR Physical Thread Count The number of native OS threads created and owned by the CLR to act as underlying threads for NET thread objects This does not include the threads used by the CLR in its internal operat
182. figured to allow connections through these ports For more information on configuring your firewall please contact your network administrator After configuring the ports and starting the engine the engine is ready to be added to the controller The Engines View may be used to add a remote engine When prompted the IP address should be an address the controller can connect directly to If your firewall uses a NAT then this is the IP address of the firewall otherwise it is that of the engine itself The port option must be the same as the value of the RmiRegistryPort configured on the engine Memory Usage When a Load Engine is running low on available memory it will stop adding Virtual Users to the test To increase the memory allocation used by the engine please see the section on Configuring Memory Usage Further Configuration Once the controller has been able to successfully connect to a Load Engine the engine may be managed through the Engines View Advanced Configuration Setting user levels In some cases it may be desirable to manually determine how many VUs will run on each engine rather than allowing automatic distribution However since overloading an engine can result in collection of load test data that may be invalid it would be unwise to override the distribution completely Each remote load engine has a configuration file system properties in the installation folder in this file find add this line EngineUse
183. ften they are added When new users are added in Random mode see the VU Start parameter below the time over which the new users start may be selected You may also optionally limit the total number of virtual users Itis best to start with a low number of users and verify the correct operation of your server before performing more complicated tests Also note that the number of virtual users you can simulate is lim ited by the speed and memory of the load machine so that the actual number of virtual users generated can be lower than the value in the estimated field Testcases Testcases are added to the load test using the pull down menu located above the table listing all testcases in the load test Select the desired testcase from the menu and click the button to add the testcase to the load test To remove a testcase from the load test select the testcase in the table and click the button Once a testcase has been added to the load test the testcase can be configured by double clicking the appropriate entry in the table The settings that can be modified are e Weight Determines the number of users allocated to this testcase during the load test For example if you have two business cases set to 2 each and the performance test starts out with 10 virtual users 5 users will be assigned to each of the testcases As the number of virtual users increases they will be assigned to the testcases according to the percentages
184. g 8 Transaction Title v Filter Filter Text Column Filters Name Filter Value Save Customization Go to Transaction To locate the transaction containing a field select the field in the Fields View and press the Display in Editor button The corresponding transaction is then selected in the Testcase Editor Editing fields To change the constant value or configure modifiers on fields the Field Edit Dialog can be opened by select ing one or more fields and e press the Return key e double click the row for single selections only e select the Edit option from the context pop up menu Edit field Choose a datasource for the field gt POST content Datasource Encoding Parsing Recorded Value SAMLResponse PHA6UmVzcG9uc2UgSUQ9InJ pZDEwNjYSNDULIIBWZXJza Datasource Recorded or E Mark as explicitly configured prevents ASM from reconfiguring If multiple fields are selected they will all be changed by this dialog If they have different settings when the dialog is opened the Recorded Value and Datasource fields will be blank if the selected fields do not all have the same setting The value sent to the server for a field may be changed by selecting a different Datasource for the field Depending on the datasource selected the editor below the datasource chooser will provide the options for that source Notice that for named fields the name or the value
185. g load test configuration from the Navigator View you may either double click the configuration or right click on the configuration and select the Edit item Configuring a Load Test The Load Test Configuration Editor contains three major configuration sections Test Duration Virtual Users and Testcases While changing the configuration if any fields contain invalid entries or any configuration errors are detected a message is displayed immediately shown below in red Load Configuration 1 8 Test Duration Virtual Users Run for 4 minutes v Start with 50 gt users Run maximum repeats V Increaseby 50 gt usersover 1 6 5 minutes Data Collection i a Sample period 10 2 lt seconds every 2 minutes Start FF a J Detailed Page Durations i Limit to 100 users total ore V Individual URL Metrics 100 maximum users Select testcase to add Testcase Weight Speed Think Time VU Start Delay Repeats recording 4 100 100 5Mbps Recorded Random 1 n a Test Duration The load test duration can be in units of hours or minutes The duration of the test should change depend ing on your testing goals If you are just trying to get an idea of the speed of certain operations on your site useful performance information can be gained for tests that are a few minutes long You can then tweak parameters in scripts or machine configuration and see if it has an effect on perfor
186. ge Speed The average data transfer rate of the item For testcases this measurement includes the total bytes transferred for all web pages and transactions and the total duration of the testcase including think time but not repeat delay For web pages this includes the bytes transferred for all transactions and the total duration of the page not including think time For transactions this includes bytes sent and received the total of the size of the HTTP request and response messages and the duration of the transaction Average Wait Time The average amount of time that waiting users have been waiting for the page or URL to complete See definition of Waiting Users for more details Average TTFB The average TTFB for the transaction The Time To First Byte measures the time from the beginning of the request to the beginning of the response On large or slow transactions in some systems this measurement can be useful to separate the time required for the server to service a request from the time required to transfer the response over the network Bytes sec The average rate at which data was sent and received It represents all bytes sent received dur ing the sample period Completions The number of times the item was completed during the sample period For transactions a completion indicates that a valid HTTP response was received from the server This does not imply that the response was Correct only that a parse able HTTP message wa
187. ge analysis in Phase 1 gives a rough idea of the bandwidth and network requirements 2 Next LAN testing is used to isolate and verify the correct operation of the web server Once itis ver ified that the server database etc can handle the load then the measured bandwidth metrics can be taken to the web hosting company and used for capacity planning 3 Finally if there s any question of bandwidth capacity being a question an external WAN based test can be accomplished with the understanding that this will potentially incur bandwidth charges from the hosting company and will increase the overall cost of the test Load Testing Process Phase One Baseline Analysis Phase One Testing Procedure Baseline Analysis The preliminary analysis consists of recording one or more representative test cases to better understand the application and scope of the testing The end goal is to get a picture of the baseline performance which is the fastest the performance can be under any circumstances Because recording is easy to do the costs of performing this analysis are comparatively low Prerequisites The following items must be provided in order to complete Phase 1 Aedefinition of acceptable performance A description of at least one representative test case Access to the web application with non critical data Access to someone who understands how the application works Performance Criteria There s no point in doing a perfor
188. ginning of a test but becomes more frequent as the test progresses then the problem is frequently caused by a server configuration mistake Check the server configuration settings for the max imum number of concurrent connections This number should be at least double the maximum number of Vir tual Users being simulated during the test Q During a load test am seeing errors that indicate a 302 status code was received from the server when it was expecting a 200 or some other code Is this a problem A The 302 status code indicates a redirect forward to another URL When this is not expected during a load test the most common cause is a session tracking or authentication problem When most servers detect an invalid session or invalid authentication they will frequently return a redirect to the application s login screen If you have not already run the Testcase Configuration Wizard which normally runs auto matically you should run it from the Navigator view using the pop up menu for the testcase in question If you have run the wizard and still encounter this error you must determine what kind of session tracking and authentication is being used by the application If possible it would also be helpful to find the exact cause of the condition that is causing the application to return the unexpected 302 checking the server logs or discussing the problem with the application developers may help determine the cause When you have this inf
189. ground Where USER is the appropriate login credential It is also possible to pass this command for example as a parameter to ssh ssh USER example com Web_Performance_Server_Monitor_Agent Start_Server_Mon itor_In_ Background Connecting to a Server Monitor Agent If you have launched the agent as described above it will be running inside a screen session named WPASA In general you can search for screen sessions using screen Is and connect specifically to the agent using screen Dr WPASA Server Metrics A complete list of all load test metrics including NET server metrics can be found in the Load Test Metrics section Note that not all metrics are available on all operating systems CPU group CPU Processor Time for all processors the percentage of elapsed time that the processor spends executing non Idle threads This metric is the primary indicator of processor activity and displays the aver age percentage of busy time observed during the sample interval This metric is expected to increase pro portionally to the load applied to the system Context switches sec the rate of switches from one thread to another Thread switches can occur either inside of a single process or across processes A thread switch can be caused either by one thread asking another for information or by a thread being preempted by another higher priority thread becoming ready to run This metric is expected to increase p
190. guration 1 x Elapsed Time 00 03 12 Est Duration 00 03 00 Report GI 10 h Users 0 Hits Sec 8 amp B Errors of o 8 6 4 J 0 00 01 41 00 01 41 00 01 41 1 792 8 Bytesjs 4 184 O Cases Min 500 Da 400 5 300 00 01 41 00 01 41 00 01 41 500 a z Analyzing the Results The test results screen picture above provides some basic metrics for monitoring the progress and state of the test most notably the number of Users Hits Sec and Errors For a more detailed analysis open the test report press the Report button on the results screen In the first section of the report you will see overall metrics presented on charts such as the one pictured below This chart shows that the total Hits sec scaled linearly as the number of users increased This is a key measure of server performance and this test did very well Hits sec Y oO ep N w I 4 00 01 11 00 01 41 00 02 11 00 02 41 00 03 Hits Sec Users A large amount of information is available in the test report at varying levels of detail For a good example of a load test report see the website http Awww webperformanceinc com load_testing reports Summary In this tutorial we have demonstrated the basic process for testing a web service create the testcase configure the testcase to handle session tracking mechanism and test using the replayer configure the test
191. h a GUI run the installer and follow the wizard On Linux Unix from a console run the installer with the i console option a eS Load Engine and Server Agent Installation Load Engine installation instructions Server Agent installation instructions Getting Help Integrated help system This page is part of the Quick Start Guide within the integrated help system There are four books in the help system Quick Start Guide use this for a demonstration of the most commonly used features Tutorials task specific guides for accomplishing a specific goal FAQs contains questions frequently asked by users and other topics not addressed by the other books Reference Manual contains detailed information about various program elements and technical top ics The integrated help system is accessed from the Help Contents item in the Help menu Help shortcuts Help system shortcuts are accessible from most areas of the program Click on or near the com ponent of interest and press the F1 key 1 Ahelp window will open that describes the basic purpose of the component and links to the user manual for more detailed infor mation on related topics 2 After clicking one of the manual links the pages can be difficult to read in a small win dow Pressing the Maximize button will enlarge the help window It can be restored to the original size using the Restore button The manual page can be opened in the exter nal help window using th
192. h processor has been created on the last page in the URL chain the prior URLs in the chain will need to be removed Since the processor will loop over the transaction it has been configured on immediately preceding transactions with the same URL those which contain the refresh directive will now be processed by the page refresh processor loop and those preceding transactions should be removed from the testcase Cookie Processors A cookie processor will create or delete a single cookie possibly overwriting a cookie with the same name that already exists Normally explicit cookie handling is not needed because cookies are most often embed ded in HTTP headers where they are handled automatically between the server and the browser When deciding whether or not to submit a cookie to a server Load Tester is aware of the following cookie components which are described in the relevant RFCs name value path domain expires and secure Sometimes a cookie is set or deleted using javascript and a Cookie Processor can be used to replicate this behavior A cookie may be constructed by the following methods e Create a Cookie This will create a cookie given a name value and or other cookie metadata Only a name is required e Delete a Cookie This will delete a cookie given a name and optionally other cookie metadata Only a name is required e Freeform Cookie If you use this method some care must be taken to assemble a valid Set Cookie line
193. hat may be entered please consult the user manual Parameter Add Parameter string prefix javascriptsetField TAG_ACTION string suffix Remove Parameter detector name TAG_ACTION detector sdd field name TAG_ACTION These parameters will create a rule that looks for matching values between provided the prefix and suffix in web pages and attempt to match that value with the value of the named field TAG_ACTION Any places in the testcase where a match is found the ASM wizard will automatically configure the extractor and modifier as demonstrated above Press the Test selected Rule s button to validate the configuration Note that this step verifies that the con figuration is valid but not necessarily correct In other words it checks that the combination of parameters pro vided is allowed and the parameter names are spelled correctly but cannot verify that the rule will have the intended result Accept the changes OK button and run the ASM wizard on the testcase by selecting the Configure gt Appl ication State item from the pop up menu in the Navigator Verify that the fields have been detected by the wizard as required Multiple field Automatic configuration Using this method you will create a detection rule that will apply to fields with different names but share the same declaration format For example it would recognize the field value declarations for FIELD1 and FIELD2 in these lines javascript setField F
194. hat the found assignment is accurate to the transaction If DEF INITE this detector will replace this path segment from the first matching redirect it finds if the redirect appears to redirect to this URL or a similarly based URL If omitted this field will default to PARTIAL Name and Value Patterns A name and value pattern match can be used to detect and parse embedded fields from a posted value ASM can then look for assignments to the embedded fields using the detectors listed above For example suppose the application uses a field called query with a value of x 1 y 2 Inthis example we can write a rule to treat X and Y as two separate fields Parameter Value detector PatternizedNameAndValueUsageDetector detector pattern w d parent value pattern Fields Required detector the type of detector to use This style of detector may be specified as Pat ternizedNameAndValueUsageDetector pnavud for short detector pattern A Regular Expression to search for The name and values to extract are specified as capture groups from the pattern Optional parent name pattern A Regular Expression which filters which fields are parsed for this sub pattern by name Only fields which have a matching name are examined for sub fields using this rule If this value is omitted then no filtering will be applied by name parent value pattern A Regular Expression which filters which fields are parsed for this sub pattern by value On
195. he Fill Dataset Field dialog J Fill Dataset Field x Field Name city Values Quantity fioo Method random Width 5 M to E Alphabetic C Numeric Prefix F Suffix sxcvpc avedijjj cdunt xlloheh woeswh wuhot awaem peswty heksw tafudh xnwrnsx pgebwh vhkyitar sosrtbo csoehmgj thhakun Data Type The Method field allows selection from three generation types 1 Random generate random alphabetic or numeric strings 2 Sequence generate sequences of numeric strings 3 List select strings from pre populated lists Note that the Quantity field will be automatically set to the total number of rows in the dataset The Width field defines how long each generated value will be The Data Type chooses between alpha and numeric data A preview of the data is available in the list at the right after pressing the Generate Values button After generating values pressing the OK button will save the values into the dataset Load Configuration Editor The Load Test Configuration Editor is used to configure a load test A new load test configuration is created by right clicking on an existing load test or the Load Test folder in the Navigator View and selecting the New Load Test Configuration item A new load test configuration initially displays the last used configuration or the application defaults if no load tests have been configured To open the Load Test Configuration Editor for an existin
196. he Window gt Preferences gt Web Performance gt Usage menu item The preference settings page shows the information that is collected so that a user may verify that private or personally identifiable information is not submitted An example of the preference page is show below including an example of the information that would be submitted after a short session that included recording our website and replaying the testcase Usage V Enable usage logging Usage Logging helps Web Performance Inc to build a better product The popularity of various features servers and browsers are tracked as you use the software This information helps us decide where to put our development and support efforts No information is included that would be personally identifiable to you For example IP address MAC address user name e mail address and license serial are not recorded An installation specific number IS used to associate session logs with each other This number is randomly generated Application version 0 4 0 Installation ID abdfa755 749d 43c4 8037 5b8F22a929e8 Session date 9 20 05 Session length sec 00 03 38 Standalone mode true License type licensed Feature counts Replay a testcase 1 Record a testcase 1 Server types recorded Apache 1 3 33 Microsoft IIS 5 0 Browsers used Mozilla 4 0 compatible MSIE 6 0 Windows NT 5 1 NET CLR 1 1 4322 v 7 Show raw content By default the information is displ
197. he dataset editor Lifespan Resuable amp Sharable The Testcase lifespan indicates that when a Virtual User VU or simulated user selects a row of data from this data it will use that row until the end of the testcase When a dataset resuable the row may be used more than once during a load test When a dataset is not sharable it can only be used by single VU ata time The default settings shown above are usually correct for a dataset containing the user identity Customizing the testcase Now that the user identity information is available the testcase may be customized to use it Two modifiers should be added to the first transaction to replace the username and password in the login request with values from the dataset This configuration is similar to the configuration of the session identifier described earlier in this tutorial 1 Open the Fields view 2 Select the login transaction in the testcase editor 3 4 Select the username in the Content text area press the Add button and select the accounts data Double click the modifier column M and select the partial content radio button set and username field Repeat previous step for the password Edit field Choose a datasource for the field POST content Datasource Encoding Recorded Value lt request gt lt operation gt login lt operation gt lt username gt JAMES lt Datasource Text with replaced regions v sat lt request gt lt o
198. he view can be exported at any time to CSV format To export press the export button and then provide a file location Settings General Settings Testcase Editor These settings affect the default behavior of the Testcase Editor Replay e Network errors can automatically be pruned from the testcase by selecting the Remove network errors before replay item The replay is not allowed to continue until the network errors are either auto matically or manually removed Turning this setting on allows the application to remove the network errors without displaying a warning dialog e Replays containing NTLM or Basic authentication should have the user identity configured before attempting to replay the testcase In some scenarios this behavior may need to be overridden Changing the Allow replay without authentication configured item allows a replay to proceed even if the authentication is not configured e The Content View displays the Web Pages as they are completed during a replay and the View is made visible in order to show the content To prevent the Content View from automatically becoming visible during replay change the Activate content view during replays item e By default the Virtual User will wait for a page to complete prior to loading the child resources on the page Turning off this setting will cause the Virtual User to start loading child resources as soon as the start of the response is received Networking e Use St
199. hich allows editing of the entire request line including the URL path and query parameters 1 HTTP method GET and POST are most commonly used Be very careful when chang ing the method changes might cause errors when replaying the testcase 2 HTTP Version 3 Entire URL path and query Changes here will be reflected in the tables below imme diately 4 URL path elements Each path element can be changed or configured with a modifier by selecting the element and using the fields at the bottom of the dialog 5 Query parameters Each parameter can be changed or configured with a modifier by selecting the element and using the fields below To rename a parameter use the raw Path and Query field above 6 Constant Change the constant value for the selected item 7 Dataset value Select a dataset and field for modification during a replay A value from the dataset and field will be substituted for the existing value during the reply 8 User variable Similar to the Dataset value above The named value is extracted from the Virtual User s local variable store This fea ture is still under development Editing Header Values gedit HTTP Request line URL Method jer AO version HTTP 1 1 x Path and Query support index html wmi 4 0 amp pid n amp sid n Path Elements support index html Use C EE O 40 Dataset RandomValues x Dataset value Field shortnumber x C User oO
200. hortcuts available for actions within the Testcase Editor press Ctri Shift L Cut A Web Page or Transaction can be removed from the testcase using Cut The keyboard shortcuts to cut an item are Ctrl X and Shift Delete The item that is cut can be pasted back into a testcase until another cut or copy is performed Copy A Web Page or Transaction can be duplicated in the testcase using Copy in conjunction with Paste The keyboard shortcuts to copy an item are Ctrl C and Ctr nsert The item that is copied can be pasted back into a testcase until another copy or a cut is performed Paste A Web Page or Transaction can be inserted into a testcase using the Paste action The keyboard shortcuts to paste an item are Ctr V and Shift nsert The item that is pasted into the testcase is added at the next log ical location following the item currently selected in the testcase For example pasting a Web Page while a transaction is selected adds the Web Page after the Web Page containing the selected transaction It is pos sible to copy Web Pages and Transactions from one testcase to another by copying from the first testcase and pasting into the second Undo The cut copy and paste actions can be undone up to a maximum of 10 actions per editor The keyboard shortcut to undo the last action is Ctrl Z Redo After an Undo is performed the action can be redone using the Redo action The keyboard shortcut to redo the last undo is Ctn Y Modif
201. ial up and Virtual Private Network settings Select the dial up or VPN connection you are using and push the Settings button irtual Private Connection Dell Settings ddress M ddress Port F kok Advanced Make sure the Use a proxy server for this connection is checked and then click on the Advanced button Proxy Settings 21x Servers Type Proxy address to use Port zg HTTP 127 0 0 1 s081 Secure 127 001 8082 FTP A i Gopher fo Socks SS i o I Use the same proxy server For all protocols Exceptions Do not use proxy server for addresses beginning with A g Use semicolons to separate entries cme If you are using the default settings use the loopback address 127 0 0 1 and the port numbers as shown in the Web Performance Preferences in Step 1 Load Engines The Web Performance Load Engine is an optional component of the Web Performance Load Tester soft ware that runs Virtual Users thereby generating more load against the server s than would be possible using only a single machine There are 3 types of load engines The first is described on this page Follow the links below to learn about the other load engines 1 Basic load engine 2 Live load engine 3 Cloud load engine tutorial video Installing a Load Engine Installers for Windows Linux and Solaris are available on our website On Windows pl
202. ically about ColdFusion it does have a chapter on performance and gives details how to both monitor and test the performance of a ColdFusion server The basics of performance testing with Web Performance Load Tester are presented in context showing how and why it should be used in a professional setting We ve gotten good customer feedback on this book The Web Testing Handbook by Steven Splaine and Stefan P Jaskiel This book is about web testing in general not just performance testing and is a must have for the professional testing engineer Chapters 7 and 8 on per formance and scalability give a very good introduction to the subject and include a great sample performance testing plan Testing Applications on the Web Test Planning for Internet Based Systems by Hung Q Nguyen As its title would suggest this book is all about test planning for all types of inter net based systems Its chapters on performance testing give a lot of details about planning a performance test and analyzing the results including examples If you really are interested in doing a complete and thorough performance test this book is required reading Capacity Planning for Web Performance Metrics Models and Methods by Dan iel A Menasce Virgilio A F Almeida This book is a collection of technical articles on the theory of performance test ing and a good addition to the library of someone interested in the scientific and engineering aspects of web p
203. iewed content and a replay or the original if a replay is viewed E Web Performance with SSL 83 Load Tasting Software We websi oad Testing Soft Website Load Testing Sofi Web Performance Trainer F Support Web Performance Support Web Performance Support Web Performance Demo Software Download F Website Load Testing Soft gt lt forward gt B Website Load Testing Sc wpistyle css 9 viewlet js 9 bg3 gif 9 74 933 70 593 93 043 UW 31420 81 578 79 734 1 031 13 927 3 518 2 690 4 478 Duration 0 e 242 00 01 011 00 01 792 00 01 372 00 01 172 00 05 928 00 11 086 00 04 316 00 00 040 00 00 370 00 00 030 00 00 040 00 00 040 o0 000 00 02 000 00 02 000 00 02 000 00 02 000 00 02 000 00 02 000 00 02 000 Welcome to Web Performance Suite Think time 00 01 90 00 02 40 00 02 83 00 07 10 00 00 09 00 02 45 00 00 00 00 AE 200 200 200 200 200 200 20P Ne 0 200 4 200 amp 200 200 amp http weboerfor mance http i we De rformance http webperfor mance http webperfor mance http webperfor mance http webper formance http support webperfc http webper formance https webperfor mance https webperfor mance https webperfor mance https Awebperfor mance http Awebperfor mance https webperformance w gt 1 Title A logical name for the i
204. if decoding appears nec essary from the recording Never The detector should never attempt to decode characters with the specified format When a source format is specified without a qualifier the qualifier is assumed to be Only To con figure the detector to test multiple different types of decodings each qualifier and format pair should be separated by a comma For example unescape source Probably HTML Maybe Javascript Means that the string will be HTML decoded on replay if it appears HTML encoded in the recording or if the string does not appear to be encoded at all during recording However if the string appears to be Javascript encoded in the recording then it will be Javascript decoded during replay If the unescape source option is omitted it will default to Maybe HTML Maybe Javascript Probably None fragment pattern A regular expression which allows this detector to detect only a dynamic fragment of the value of the field For more information on the behavior of this field please see the Fragmented Value Detectors section Fragmented Value Detectors Both of the String Delimited Detectors can be made to search for fragmented values instead of complete values by adding the Parameter fragment pattern The value of this field should be a regular expression which must match the isolated fragment of the field To understand how this works consider an example field client with the value ca pub 1971486205579989 Now
205. ifferences and errors in the embedded Web Page viewer Q Why do all these Security Alert messages appear when am recording or inspecting a testcase A Because Web Performance products use fake server certificates during the recording process in order to decrypt secure pages from the server See these instructions to silence the warnings Q How do record a site that uses Client Certificates A See the Client Certificates section and the Authentication section Q My browser is not recognized Can record testcases with it A Yes if the browser supports HTTP S proxies See the Manual Browser Configuration FAQ next ques tion Q How do configure the browser manually for recording A Follow these three steps 1 Manually configure the ports that Analyzer will use for recording so that they will not change each time Analyzer starts See the General Settings page for more help 2 Configure Analyzer to start a custom browser when recording is started Browsers section of the Pref erences page A custom browser may need to be configured if the browser was not automatically detected Then the browser configuration should be set as the default browser See the Browser Set tings page for details 3 Configure the browser to use Analyzer s recording ports as a proxy This step is dependent on your browser see the browser documentation for more information Q have URLs in my testcase from a server that do not wish to test A
206. iguration files and create a new file named cookies cfg Each configuration in this file must start a new line specifying the name of the cookie in the form cookiel name BROWSERSUPPORT Here the name of the cookie being sent back to the server is BROWSERSUPPORT The next line of the file should appear as cookiel instance l1 The instance field here indicates the first usage of this cookie in your recording where the rule should be applied For example if default handling should be applied for the first usage and custom handling from there on this value could be changed to cookiel instance 2 Lastly we will want to specify what the value of this cookie should be changed to There are two possible options e To use a fixed value you may enter the line cookiel setFromConstant supported Here the text supported could be any fixed string that should be used whenever this cookie is being sent back to your server during playback e To use a dynamic value loaded from a dataset use the lines cookiel setFromDataset browser support cookies cookiel setFromField fieldl Here the value browser support cookies is the name of a dataset saved in your repository that will be used by the virtual users and field1 is the name of the field within the dataset containing the cor responding values for each cookie As many cookies as desired may be added into following lines of this configuration file To add further cookies rule
207. iguration works as intended you may wish to automate the process by creating a custom detection rule as described in the next section Automatic Configuration The above example can be configured automatically in two ways 1 Single field configuration automatically configure this EXACT case i e the TAG_ACTION field 2 Multiple field configuration automatically configure any field that matches this usage pattern In both cases you must create a detection rule This rule describes how ASM should locate the value assign ment for a given field name More information on the configuration options for detection rules is available in the Custom ASM Configuration section Both configurations are performed in the Detection Rules preference page Go to Window gt Preferences gt Web Performance gt Application State gt Detection Rules Single field Automatic configuration Add a detection rule with the parameters as shown below Detection Rules ov Custom ASM Detection Rules The Application State Management Wizard detects and confiqures dynamic application state fields in your testcase using default rules as well as custom rules as supplied below Add Rule TAG_ACTION setField Copy selected Rule s Import Rule Remove Rule Test selected Rule s Rule Parameters The keys and values entered here determine what detection strategy is used and what that strategy is looking for For more information about parameters t
208. igured to detect both of these assignments 1234 and 56789 respectively with the following configuration Parameter Value detector vdd Example wildcard Javascript function assignment detector name detector string prefix setField 0 string suffix X Fields Required detector This should always be set to either VariableDelimitedDetector or just vdd for short in order to indicate that this configuration should be treated as a variable field detector For example detector vdd string prefix The prefix of the text just up to the value of the assignment string suffix The suffix of the text immediately following the value of the assignment Optional accept fieldname A regular expression constraining which fields are subject to detection based on their names If present fields that do not match this pattern are omitted from this detector If not present all fields are examined by default assignment the confidence that this detector has that the found assignment is accurate to the transaction If DEF INITE this detector will replace the value by the discovered assignment If PARTIAL this detector will only replace the value ifa DEFINITE assignment for the same field was not found If omitted this field defaults to PARTIAL detector name The name given to this detector If omitted this will default to the file name less the properties exten sion encoding required Specifies the required URL encoding strategy that a value extr
209. ill need to be able to accept connections from the con troller on at least one network interface The IP address and port number used to accept connections may be controlled by using a plain text editor to edit the file system properties creating it if it does not exist located in the directory where the engine was installed The following lines may be added EngineRMIAddress 192 168 1 62 RmiRegistryPort 1099 RmiEnginePort 1100 EngineUserCapacity 5000 StartingRemoteEngineUserCapacity 1000 These values have the following effect EngineRMlAddress Controls which IP address the engine will accept incoming connections from If set the engine will accept connections from the controller only through the specified IP address By default the engine will accept connections through any of it s available IP addresses However setting this field may elim inate connection problems particularly if the engine has IP addresses from different protocols such as IPv4 and IPv6 RmiRegistryPort Controls which port the engine will accept incoming connections from If this field is omitted it will default to using port 1099 RmiEnginePort Controls which port the engine will use to communicate information with the controller once con nected If this field is omitted it will default to using any available port This value can be set to the same port as the RmiRegistryPort this can make it slightly easier to configure firewalls to allow the control
210. imply treat then as one transaction pages In complex services that issue several groups of transactions that are logically grouped and related it can be useful to group the transactions together within a single page Analyzer will calculate sep arate metrics for each transaction and for each page which can be useful when analyzing load test results The request and response files are selected in this dialog x Import transaction Select the request and response files to import Request File D tmp wWSDemol loginRequest txt T Response File D itmp WSDemo loginResponse txt OK Cancel After importing both transactions our testcase looks like this Bl check balance X 00 00 000 http iwaw webperformanceinc com demoy lt webpage gt 2 275 00 00 000 200 http www webperformanceinc com demof Content 3 Headers Errors Fields Relay actors servers Engines stats oump view ae fi UU ile liae Content for webpage gt 1 alm Sii lt request gt al lt response gt al lt operation gt login lt operation gt lt result gt 1 lt jresult gt lt username gt JAMES lt username gt lt sessionid gt 341E42054152044F52D74031 74144879 lt sessionid gt lt password gt nkbmmfn lt password gt lt response gt lt request gt P Palt Pi XML Text Image Raw O HTM Text Image Raw Step 1 is now complete Note that the duration of the
211. in the Servers View This dialog will appear Monitor Server x Monitor Server Please select a server to monitor m Monitor type Web Performance Server Monitor Agent C Direct Windows Performance Monitoring C WPI Java monitor on Unix C Custom script URL Hostname wpil Port fi 099 conce Here you must decide what style of server monitoring to use Four styles are supported 1 Web Performance Server Monitor Agent The downloadable server monitor agent available for Win dows or Linux provides Advanced monitoring of vital server performance data Please see the Server Monitoring Agent for further information 2 Windows to Windows uses a built in direct protocol to monitor the remote server available only if both your server and the load testing workstation are running Windows 3 Java based server on Unix Web Performance provides a WAR file containing a servlet that will pro vide the necessary server metrics The provided WAR is supported on Solaris and Linux 4 Custom monitoring server script For unsupported platforms a custom script may return the nec essary server metrics in readable format see script requirements later in this chapter Once a configuration has been selected and the required fields filled in pressing the OK button will attempt to connect to the server and verify that the server can be successfully monitored under normal con ditions Upon verification the server will
212. indows also has a restriction on the highest port number that can be used 5000 when an application requests any available user port from the system Therefore the Windows socket defaults may not accommodate heavy TCP IP traffic very well without some tuning To alleviate the problem we recommend changing the Windows default values of two registry keys You must use the Windows registry editor regedit to make the changes so be very careful Make the following changes e Reduce the time out wait time for closed sockets Change the value of the registry key HKEY_ LOCAL_MACHINE System CurrectControlSet services Tcpip Parameters T cpoTimedWaitDelay from its default of 240 to a smaller number The valid range it 30 300 decimal e Increase the maximum port number available to applications Change the value of the registry key HKEY_LOCAL_MACHINE System CurrentControlSet Services T cpip Parameters MaxUserPort from its default 5000 decimal to a higher number The valid range is 5000 65534 decimal For more information on these two registry keys you can search for TcpTimedWaitDelay and MaxUserPort on the Microsoft Technet and Knowledge Base Q When running a load test with load engines on Unix Linux Solaris see Engine operating system out of network sockets or too many files open errors What does this mean A In Unix environments a file handle is used for each open network connection socket The number of resources allocated for the
213. ing pages Next designate if the message entered indicates an error if and when it is found by selecting the appropriate option in the Record error if section If the mes sage is an error message use the Record error if message is found option If the message indicates a string that is always expected to be found the Record error if message is not found option should be selected Apply Validator if The rule may be refined to only apply to certain pages by using the Apply Validator if section By default each rule will only be applied to every URL in the testcase except where the rule would have flagged an error with the initial recording The following options are available URL contains When this option is selected a search string may be entered into the text block to constrain the trans actions by URL Only those transactions that have the search string present anywhere in their URL will be validated against using this rule For example in cases where a test might contain multiple host and the error message was specific to the host 192 168 10 10 then this field might be set to 192 168 10 10 MIME type contains Selecting this option allows the validation to be constrained to only a certain type of resource deter mined by it s MIME type Only those resources with specified MIME types that contain the search string will be eligible for this form of validation For example to validate only HTML documents this field might
214. installed licenses for Web Performance products Select Preferences from the Window menu Then select Web Performance and Licenses in the tree Selecting an entry in the list displays the details of the license below Importing License keys for Web Performance products usually arrive as an e mail attachment Detach the key and save it somewhere such as your desktop Then select the mport button in the license manager and provide the location of the key After validating the license key it appears in the list If the key cannot be imported because it is corrupted it may be because the e mail program treated the attachment as a text file rather than a binary file Please consult your e mail program s manual for instruc tions on detaching the file as a binary file Expired license keys Expired license keys are indicated with expired in the license key descriptions You may safely delete these license keys with no effect on the program Disabled When a license key is shown as disabled it means that another copy of the same license key has been detected on a computer on the same network As a result both have been temporarily disabled To remedy remove the duplicate license key from one of the computers and restart both programs Load Test Settings The Load Test Settings page is located in the Web Performance section of the Preferences dialog Window gt Preferences menu item The following pictures shows the default settings
215. ion How can find errors on my website 1 Record the pages of your website 2 Open the Error view How fast will my web pages be over a modem There are two ways to answer this If you have not already created a recording of the pages of interest 1 Startanew Recording 2 On the Start Recording dialog selected the desired modem network speed 3 Inspect the web page durations in the Editor If you already have a recording of the pages you can replay it with a specific network speed this way Record the pages of your website Open the Replay View and set the Bandwidth Limit to the desired modem speed Replay the testcase Inspect the web page durations in the Editor or Open a Performance Trend chart for the testcase to see the difference in speed of each page plotted on a chart oe a How can find parts of my website that do not match my performance goals 1 Record the pages of your website 2 Configure one or more performance goals 3 Inspect the replay in the Editor failed goals will be indicated by the icon How can export report data to other formats Each data table has a link at the bottom titled export to csv Clicking this link will invoke a dialog for saving the data When viewing the report in an external browser clicking the link will show the data in the browser Most browsers have a function for saving a link content rather than navigating to it In IE the context menu item Save Link As will pe
216. ion Tracking and Application State Management should allow the replay to run suc cessfully Once Finish is selected on the wizard the editor clears the pages and URLs replayed appear in the editor similar to the recording process as the replay proceeds The replay is added to the Replay selec tion list at the top of the editor The Replay View appears displaying the current status of the replay Content Headers Errors Dreplay_ x Sam Testcase 11 49 4M 12 6 05 replay Duration 00 08 56 Pages 3 of 6 Status playing Errors 0 URLs 17 of 20 Current Page Website Load Testing Software Web Performance Inc 2 http webper Unlimited x hot state tns 1 webperformanceinc com 80 waiting 26 http webperformanceinc com images download_anl gif 0 webperformanceinc com 80 receiving 33 http webperformanceinc com images4 analyzer_sm jpc 2 counter2 hitslink com 80 idle 3 http counter2 hitslink com statistics asp v 1 amp s 207 amp i Connections Datasets Analyze the Performance Changes As soon a replay has been initiated it appears in the replay selection list as shown below The testcase editor reflects the performance measurements of the selected replay for the testcase rding Window Help e b gt OO bo peo ae a ey BA Web Performance x W eb Performance with SSL ia web Performance g a bytes 00 30 582 sec 11 49 AM 8 12 05 replay amp 9 18 AM 8 15 05 replay
217. ions it is a subset of the threads in the OS process NET CLR Recognized Thread Count Displays the number of threads that are currently recognized by the CLR they have a corresponding NET thread object associated with them These threads are not created by the CLR they are created outside the CLR but have since run inside the CLR at least once Only unique threads are tracked threads with same thread ID re entering the CLR or recreated after thread exit are not counted twice IIS Internet Information Server IIS CGI Requests sec The rate CGI requests are received by the Web service IIS Connection Attempts sec The rate that connections to the Web service are being attempted IIS Current Connections Current Connections is the current number of connections established with the Web service IIS File Cache Entries The number of entries in the File Cache IIS File Cache Hits The number of successful lookups in the file cache IIS File Cache Hit The ratio of file cache hits to total cache requests Note that the Windows counter cal culates this value as a historical average since the last restart but Load Tester does not IIS File Cache Misses The number of failed lookups in the file cache IIS ISAPI Extension Requests sec The rate that ISAPI Extension requests are received by the Web serv ice IIS Kernel URI Cache Entries The number of entries in the Kernel URI Cache IIS Kernel URI Cache Hits The number of su
218. ions Timed Out The number of sessions that have been closed due to their idle time exceeding the AutoDisconnect parameter for the server Shows whether the AutoDisconnect setting is help ing to conserve resources ASP NET Sessions Abandoned The number of sessions that have been explicitly abandoned ASP NET Unhandled Execution Errors sec Rate of unhandled errors NET CLR Common Language Runtime NET CLR Class loader Heap Size The current size in bytes of the memory committed by the class loader across all AppDomains Committed memory is the physical memory for which space has been reserved on the disk paging file NET CLR Current AppDomains The current number of AppDomains loaded in this application AppDo mains application domains provide a secure and versatile unit of processing that the CLR can use to pro vide isolation between applications running in the same process NET CLR Current Assemblies The current number of Assemblies loaded across all AppDomains in this application If the Assembly is loaded as domain neutral from multiple AppDomains then this counter is incremented once only Assemblies can be loaded as domain neutral when their code can be shared by all AppDomains or they can be loaded as domain specific when their code is private to the AppDomain NET CLR Exceptions sec The number of exceptions thrown per second These include both _NET exceptions and unmanaged exceptions that get converted into NE
219. iple hosts simultaneously Replay FAQs Q How can replay a testcase A See Replaying section Q How can ensure my testcase was replayed correctly A Manually the pages can be inspected to see if the testcase replayed correctly Select the replay in the Testcase Editor and then select the page to be inspected The page will appear in the Content View To automate this procedure validators can be applied to each page to check the testcase in a automated fashion Open the Validators View Select the page to check in the Testcase Editor In the Validators View apply settings for size and or content validation Replay the testcase Open the Errors View an error should appear in the table for any failed validators ae es Q When replay my recording the value of some of the cookies are different Why didn t Analyzer replay exactly what recorded A Analyzer is much more than a simple HTTP recorder replayer It simulates a real browser interacting with your server This means that if the server sends new cookies Analyzer will use them just like a real browser does As a result Analyzer is compatible with sophisticated websites that require a user login and track ses sion state using cookies Q want to change the username and password used in my testcase A See the Authentication section Q How do replay with different users each time the testcase runs A See the Authentication section Q How can see which valu
220. irst step in configuring a load test is to select a test case and use the right click menu to select New Load Configuration asso o D E LiquidofficeTestRepository wpt eG Datasets Edit gt Load Conl f sample_issue H E Testcases Gy Clase Repository C Datasets ey New Repository C Load Cont K H Loa i Save Repository Fs Load Recently Used Open Repository Record New Testcase New Load Configuration The goal of a performance test is to determine a relationship between the number of virtual users and per formance In order to do that you ll want to describe a ramping number of virtual users and observe the changes in performance relative to the number of users This section of the GUI allows the user to describe the performance test in terms of the starting number of vir tual users and how frequently to add new virtual users A typical value is between 1 and 50 virtual users The increase by value is how many virtual users to add in a period usually between 1 and 5 minutes Typ ically this value ranges from 1 to 50 Itis best to start with a low number of users and verify the correct operation of your server before per forming tests with larger number of virtual users The test configuration below shows a test that will run for 4 minutes starting with 50 users and increasing by 50 users every minute While the estimated maximum users that can be simulated by this configuration is
221. ison is opened using one of the following 1 Press the pull down menu at the upper right corner of the Testcase Editor panel select Compare to then select a replay shown below 2 Press the Compare button on the main toolbar then select a replay 3 Select Edit gt Compare to on the main menu bar then select a replay for example Our Public Website 1 Mbit 512 Kbps 128 Kbps 56 Kbps Hide comparison Show changes as Examining the differences After selecting a replay to compare against the Testcase Editor will change to display the results of the com parison For example r Web Performance with SSL Web Performance X L6 bytes Duration B Website Load Testing Software Wek 75744 Website Load Testing Software Wek 79106 00 01 161 5 E Support Web Performance Testing 83033 00 03 204 E Support Web Performance Testing 65015 00 01 402 00 00 140 fia ENA Support Web Performance Testi 5430 00 00 140 00 00 111 http webperforman viewlet js 5 2761 00 00 040 http webperforman wpistyle css 5 3460 00 00 060 http webperforman clear gif 5 700 00 00 030 00 00 010 http webperforman bg3 gif 5 4420 00 00 060 00 00 070 http webperforman logo_top5 gif 5 7785 00 00 040 00 00 010 http jwebperforman howmany gif 5 4869 00 00 041 00 00 011 http iwebperforman home_off gif 4 1049 00 00 090 00 00 020 http iwebperforman company
222. isplaced that key you may use the orig inal deactivated license key the key mailed to you after purchase for activation on the new computer How ever you can NOT skip the deactivation step If you have already lost all data from the original computer and cannot retrieve it from a backup you will need to contact the sales team at Web Performance for a replace ment Activation and De activation without Internet Access If the computer running the software does not have access to the Internet the activation and deactivation pro cedures may be performed manually via our website from another computer or via email To activate a license key manually select the manual activation mode in the activation wizard If a license key requires activation the wizard will appear automatically when importing the license key on the License Key Management preference page The wizard will give you an activation request file or deactivation file that can be submitted to our website http webperformance com activate In return you will receive a pre activated license key that can be installed on the License Management preference page FAQ Q What happens if a second user needs to use the software on the same computer A If the second user needs to use the software in addition to the first user you should purchase an addi tional license If the first user no longer needs to user the software you can move that license key from one user to another by f
223. isplay in Editor button Errors X Fields Replay validators Servers 1079 errors in test results Tomcat Time 11 47 11 48 11 48 11 48 11 48 11 48 11 48 11 13 o p p a j o URL Unable to connect to server http flocalhost ServletBenchmark resources 500b 29 png The connection with the server was unexpectedly closed http localhost ServletBenchmark resources 500b 26 png The connection with the server was unexpectedly closed http localhost ServletBenchmark resources 10000b 04 png Unable to connect to server http flocalhost ServletBenchmark resources 10000b 04 png The connection with the server was unexpectedly closed http localhost ServletBenchmark benchmark Scenario 18Page 38 Unable to connect to server http flocalhost ServletBenchmark resources 500b 08 png Unable to connect to server http flocalhost ServletBenchmark resources 500b 07 png Unable to connect to server http flocalhost ServletBenchmark resources 500b 33 png U ar On me ne ie oe oo os mh Replay View The replay view allows you to monitor the status of a replay as it is performed To open the replay view select the Window gt Show View gt Replay selection from the main menu For details on performing replays see the Replaying manual page note By default the Replay View is placed in the same window pane as the Content View In order to see the pages as they complete and view the replay sta
224. itory Edit Edit properties for selected item Rename the selected item ef Cut the selected item Copy the selected item 3 Paste the selected item Record amp Replay Start a new recording use the drop down menu to access advanced recording options Stop a recording replay or load test gt Start replaying a testcase use the drop down menu to access advanced replay options Start replaying a testcase without pausing for page think times UU Pause the replay Replay the next URL and pause 1 Replay to the end of the next current page and pause be Start a load test Editor Compare the replays of a recording 1 Show differences in comparison as a percentage pt Expand all pages in the testcase tree Collapse all pages in the testcase tree Sort the testcase Open the testcase report X Run testcase configuration wizards Navigator The Navigator is used to view and manage test cases and datasets Test cases and datasets are saved in a repository Test cases are created by executing and saving tests with the Analyzer tool Datasets are created by importing existing datasets or creating new datasets using the Dataset Editor The repository is saved in a file with the wpt extension Opening the Navigator View The navigator view is opened by selecting Window gt Show View gt Web Performance Navigator from the main menu Open Close or Create a Repository Each of these operations can
225. itten to the client Under the ASP NET process model when this counter exceeds the requestQueueLimit defined in the processModel configuration section ASP NET will begin rejecting requests ASP NET Disconnected Requests The number of requests that were disconnected due to com munication failure ASP NET Errors sec Rate of errors occurred ASP NET Last Request Execution Time The amount of time that it took to execute the most recent ASP NET request ASP NET Pipeline Instance count Number of active ASP NET application pipeline instances ASP NET Queued Requests The number of ASP NET requests waiting to be processed ASP NET Rejected Requests The number of ASP NET requests rejected because the request queue was full ASP NET Request Wait Time The amount of time the most recent request was waiting in the queue ASP NET Requests Executing The number of ASP NET requests currently executing ASP NET Requests Not Found The number of ASP NET requests for resources that were not found ASP NET Requests Not Authorized Number of requests failed due to unauthorized access ASP NET Requests Queue Length The number of ASP NET requests in the application request queue ASP NET Requests Succeeded The number of requests that executed successfully during the sample period ASP NET Requests Timed Out The number of requests that timed out ASP NET Requests sec The number of ASP NET requests executed per second ASP NET Sess
226. ize and duration differences are displayed as the numerical difference between the two values The dif ferences may also be displayed as a percentage difference To view the difference as a percentage there are three options e Press the pull down menu at the upper right corner of the Testcase Editor panel select Compare to then select Show changes as e Press the percentage button on the main toolbar e Select Edit gt Toggle percent view on the main menu Note once the Testcase has this setting modified it will be remembered whenever this Testcase is opened for example oad Testing Software Web Performance Inc ebsite Load Testing Software Web Performance Inc 1 Changing the default If preferred the size and duration differences may be displayed as a percentage as the default setting To change the default setting to shows differences as a percentage select the Window gt Preferences option on the main menu Select the Web Performance gt Testcase Editor item Select the checkbox next to Display comparisons as percentage to set the application to show percentages as the default Clear the checkbox to have the application show the numerical differences as the default Note Testcases that have been opened before will remember their difference setting and will override the default setting Cancel the comparison To cancel the comparison use one of the following e Select Compare to item from the Testcase
227. l be higher Use ps top or other programs to find and stop background processes that may be increasing the system load so that the full power of the computer is available for the per formance test Note that there is lag in getting the information from the operating system so the value will not be exactly the same as the value displayed by other utilities Memory This measures how much of the memory allocated for internal buffers is actually in use This number has no relation to any operating system specific information you might view using an OS utility such as Windows Task Manager This value will go up and down during the performance test and could occa sionally reach the ow or out of memory values It will slowly creep up towards the 80 mark when using large numbers of virtual users or when running the performance test for a long period of time When the program absolutely has run out of memory you will see this value quickly climb into the 90 range every 30 seconds or so When this happens no more users will be added to the engine to pre vent the program from running out of all memory and causing corrupt test results Version The current version of the Load Engine software running on the engine Adding Engines Many times load engines are automatically detected and displayed in this view when the application is started or when the load engine software is started However in some circumstances the engine may not be added automatic
228. laying the next web page VU Start There are two choices for this option random and immediate When random is selected vir tual users do not start playing back at the same time Instead they are distributed over a one minute or longer if you wish period This option simulates a more realistic scenario in which users start the visit to the web site in irregular intervals When immediate is selected all of the virtual users for each incremental period start simultaneously Delay A virtual user is assigned to play back a single testcase repeatedly The delay setting is the number of seconds to delay between repeats Repeats When the Test Duration section is set to Run maximum repeats this column specifies the number of times a testcase should be attempted Running the Load Test The load test cannot be run until the application detects there are no invalid entries or configuration errors Once the load test configuration is valid the Run button on the Load Test Configuration Editor is enabled Selecting this button begins running the load test and opens the Load Test Results View Status View The Status View provides detailed information about certain long running operations such as Replaying a testcase When no operation is in progress it shows the current memory usage Memory status In default mode the memory status is displayed The numbers displayed reflect the heap memory usage which is the space the program has
229. lement AIX only the percentage of entitled CPU time being utilized This value may exceed 100 when the active partition has time donated or stolen from another partition Steal The time that the guest CPU had something runnable but the hypervisor chose to run something else instead applies only to systems running on virtual machines Memory The total memory utilization as reported by the OS Context Switches sec The rate at which the OS kernel switches from one thread to another Process Queue Length The number of system threads in the process queue Page reads sec Rate of major memory faults resulting in page reads Page writes sec Rate at which pages are moved to disk to free space in physical memory Disk I O Time Elapsed time during which a disk was servicing read or write requests Avg Disk Service Time Average amount of time for each disk I O transfer ms Disk Queue Length Number of queued disk operations Disk Reads sec Rate of disk read operations Disk Writes sec Rate of disk write operations Network bytes sent Network outbound throughput Network bytes received Network inbound throughput Network packets received sec Number of network packets received per second Network packets sent sec Number of network packets sent per second Network Packets Received Errors Number of network packets received with errors Network Packets Sent Errors Number of network packets sent with
230. ler to reach the engine EngineUserCapacity Controls the maximum number of users that can be assigned to the engine If this field is omitted the value will default to 5 000 StartingRemoteEngineUserCapacity Controls the maximum number of users the engine will start at the beginning of a test the first ramp If this field is omitted the value will default to 1 000 Additionally it may be necessary to specify the public IP address from which the engine will be accessed especially if that IP address is assigned to a NAT or firewall device other than the engine itself This may be specified by editing the file Load Engine lax and adding the option Dj ava rmi server h ostname site mycompany com to the end of the lax nl java option additional entry in the file For example lax nl java option additional Djava library path lib32 Djava rmi server hostn If the lax nl java option additional entry does not already exist it may be added to the end of the lax file along with a blank new line after the entry at the end of the file Once all of the settings have been entered and saved into the appropriate files the engine may be restarted in order to pick up the correct settings Accessing an Engine behind a Firewall In order to access an engine behind a firewall it may be necessary to configure the port settings used by the engine for accessibility The RmiRegistryPort and RmiEnginePort should be set and the firewall should be con
231. let mode enables a Launch button allowing the report to be rendered by an external web browser but help links will be provided from an online website instead of from the installed help sys tem Advanced APIs Use of the Advanced APIs will attempt alternative ways of configuring the proxy settings in Internet Explorer Use of these may allow you to record if you are unable to record normally At this time the Advanced APIs are not compatible with Internet Explorer 8 Direct APIs These settings attempt to configure the proxy settings for the Operating System directly Enabling or Dis abling the direct APIs may be necessary if you are unable to record normally Interactive Content Viewer The Interactive Content Viewer preferences are used to configure the behavior of the Content View for when the Content View Rendering has been set to Interactive above Preferences Mie type fiter text Interactive Content View ee General Help IV Allow Scripts Install Update IV Allow Activex E web and XML IV Enable Click to Configure For input fields E Web Performance F Allow download of missing resources Baseline Report El Browser Windows Interactive Conten Client Certificates Configuration Wizards Diagnostics Dialogs File Upload IP Aliasing Licenses Load Test Load Test Report Performance Goal Defaults Proxies Recording Server Checklist Think Time Usage 4 l Restore Defaults App
232. llation folder The logs are stored in the fol lowing folder structure e TO e T1 e Tn e BCO e BC1 e BCn e VUO e VU1 e VUn e RO e R1 e Rn TO Tn For each test run a new folder will be created under the tracelog folder BCO BCn For each Business Case in the test a corresponding folder will be created under the test folder VUO VUn For each virtual user running the Business Case a corresponding folder will be created under the Business Case folder RO Rn For each repeat of the Business Case that the virtual user performs a corresponding folder will be created under the virtual user folder Within each repeat folder RO Rn a log of the user activities will be contained in a file called og txt An example of this file is shown here 00 01 248 BCS started testcase BC Casel 00 01 248 WPS started page 0 PAGE http dell2 81 00 01 249 CNI initiated connection to dell2 81 connection 20102672 00 01 251 CNO connection del12 81 ec O opened to nection 20102672 eZ al tarted request for onnection 102672 n n qJ O op on lt 203 ompleted request for ection 102672 2257 tarted response for ection 20102672 265 TSE completed response for nection 20102672 TTP 1 1 200 OK 00 01 266 CNI ection 267 TQS ection 268 ection 269 ec 7 269 Ss ec 7 281 c ection 17099451 s 0 0 4 1O A OQ nN 0p on
233. lp Install Update JavaScript Web Web Performance Baseline Report Browser Client Certificate Cloud Accounts Configuration V Diagnostics Dialogs File Upload IP Aliasing Licenses Load Test Load Test Repo Performance Gc Proxies Recording Transaction B Server Checklist Think Time Usage XML ui gt Usage Logging Transaction Blocking Hosts 7v v v Transactions with the following servers will not be recorded Entries starting with Host names ad doubleclick net g live com liveupdate symantec com rss msnbc msn com toolbar live com urs microsoft com www download windowsupdate com gt URLs The following URLs will not be recorded are treated as subdomains and block all hosts within that subdomain Add Host Remove Host URLs http webperformance com favicon ico http webperformanceinc com favicon ico http www webperformance com favicon ico http www webperformanceinc com favicon ico https webperformance com favicon ico https webperformanceinc com favicon ico https www webperformance com favicon ico https www webperformanceinc com favicon ico 4 rT Add URL Remove URL Restore Defaults Apply Cancel Web Performance products have the ability to track the usage of various features and report those usage metrics to Web Performance Inc via the internet This feature may be disabled by users with a valid license key via t
234. ly cme e Allow Scripts Enable or Disables scripting support of content within the Content View May be used to disable Javascript or VBScript when inspecting recorded content e Allow ActiveX Enable or Disable ActiveX controls within the Content View May be used to disable ActiveX controls that cause problems when inspecting recorded content e Enable Click to Configure for input fields Enables support for editing testcase fields by clicking on the initial form field in the Content View e Allow download of missing resources Permits the Content View to connect to the server live if the recorded content contains a reference to a URL that is not contained in the recorded testcase Client Certificates The Client Certificates preference page determines what client certificates will be presented to the server during recording and playback 10 x type Filter text Client Certificates oe fee a Help Install Update Recording Web Performance O K Temere Browsar Client Certificate lt none gt 7 mpor Password Test Password Client Certificates Licenses Load Test Replay Load Test Report Performance Goals No Client Certificate Proxies Same as Recording Certificate T SOAREN C Unique Client Certificate Per User Usage Dataset lt none gt Client Certificate lt none gt v Password lt none gt v Tes
235. ly fields with matching values are examined for sub fields using this rule If this value is omitted then no fil tering will be applied by value detector pattern name group A number which identifies which capture group in the detector pattern should be used as the name of the embedded field If this value is omitted the name is assumed to come from capture group 1 detector pattern value group A number which identifies which capture group in the detector pattern should be used as the value of the embedded field If this value is omitted the value is assumed to come from capture group 2 Unnamed Anonymous Patterns An anonymous name and value pattern match can be used to detect and parse individual components from a posted value such as a list ASM can then look for assignments to the embedded fields using the detec tors listed above For example suppose the application uses a field called query withavalue of 1 2 3 In this example we can write a rule to treat 1 2 and 3 each as separate fields Parameter Value detector PatternizedAnonymousUsageDetector detector pattern d parent value pattern Fields Required detector the type of detector to use This style of detector may be specified as Pat ternizedAnonymousUsageDetector paud for short detector pattern A Regular Expression to search for If there are 1 or more capture groups in the pattern then each cap ture group is treated as an individual field Otherwi
236. machines 7 Eee ioj x type filter text Windows Q i General Help M viewer Rendering Mode Install Update Content view Rendering Mode Interactive Web and XML 5 Web Performance Report Rendering Mode Direct x Baseline Report Browser Windows Interactive Contenl Client Certificates Configuration Wizards Diagnostics Dialogs File Upload IP Aliasing Licenses Load Test Use Advanced APIs Use Advanced APIs to configure the browser For embedded viewers J When launching For recording M Direct APIs Use direct Windows APIs to configure the browser Automatic Always C Never t Load Test Report Performance Goal Defaults Proxies Recording Server Checklist Think Time Usage E a 2 Viewer Rendering Mode Content View Rendering Mode Controls how content is delivered to the Content View Using the Interactive mode form fields within the Content View may be interactively clicked on for direct configuration of the posted field Alternatively the Proxified mode serves content to the Content View through an internal proxy server Report Rendering Mode Controls how content is delivered to the Report View Using Direct mode the Report Viewer interacts directly with Internet Explorer Use the Servlet mode to serve report content through an internal HTTP Serv let Using the serv
237. mance If however you are trying to stress your web site to see if anything breaks you will want to run the test over a longer period of time Alternatively the Run maximum repeats option will allow the test to run for as long as necessary for each testcase to be repeated as many times as specified in the testcase s Repeats column This allows for each testcase to run a predetermined number of times stopping the load test upon completion The sample period is the length of time over which metrics will be sampled before saving the values This value should be shorter for short tests and longer for long tests For example if your test only lasts an hour then having samples every 10 seconds makes sense If though your test is intended to run overnight then the sample period should be much longer in the area of 5 minutes This helps make the data easier to interpret When running extended tests large amounts of data are collected which could cause the pro gram to run out of memory and halt the test prematurely As a rule of thumb when running a test for multiple hours you should have sample periods that are on the order of minutes while short tests can handle sample periods as small as 5 seconds Virtual Users The Load Test Configuration Editor allows you to specify the number of virtual users to simulate at the start of the test and to optionally specify how many virtual users to periodically add to the test and how o
238. mance test if you don t know what to do with the results Its best to decide on performance goals for your website right at the beginning before going through the time and expense ofa test There are no easy answers to this question since the goals vary by application Studies show that the percentage of people who give up on a website and go somewhere else go up as the performance decreases but there s no industry standard for where to draw the line The performance goals can be expressed as X percentage of web pages should load in N seconds with no more than Y percent errors If you re still stumped you can start with a goal of having web pages load in between two and four seconds for normal operation although you might try staring out your watch for seconds to see how truly long a period that can be when you re waiting for a web page Of course it s possible for most pages on a site to load quickly while a couple of pages require longer periods of time which is why there s a percentage qual ifier A good place to start for error percentages would be 1 Our own published research shows that web servers will start rejecting connections while performance is still in the acceptable range and that s part of normal operation Execution During the execution of Phase One one or more test cases will be recorded in the browser and then analyzed These steps are explained in the subsequent chapters Record A Testcase and Analyze A Rec
239. me A new name must be entered Duplicate Dataset names within a Repository are not allowed Other Pop up Menu items Additional items on the Navigator s pop up menu are available based on the item selected in the Navigator view These are e Edit Testcase Opens a Testcase Editor when a testcase is selected e Edit Dataset Opens a Dataset Editor when a dataset is selected e Import Dataset Opens the Import Dataset Dialog when a dataset or the Dataset Folder is selected e Reload Dataset Opens the Import Dataset Dialog when a dataset is selected e Create a new Dataset Opens the New Dataset Dialog when a dataset of the Dataset Folder is selected e Record a new Testcase Starts recording a new testcase when a testcase or the Testcase Folder is selected Notes e Every open repository loads the contents of each test cases into memory Closing unused repos itories will reduce the memory consumed by the test cases Testcase Editor Testcase Editor The Testcase Editor is used to view details of the testcase and the replays of the testcase The Testcase Editor initially presents the test case as a tree of web pages URLs Opening the page click the will dis play the additional resources requested for the page images style sheets etc When a new testcase is recorded a Testcase Editor window is opened and displays the transactions as they are recorded The Test case Editor can also display comparisons between the v
240. ment or attribute will become a configurable name value pair field in the Fields View Whenever Load Tester s Application State Management tool runs it will search for incoming name value pairs that have matching outgoing name value pairs A name value pair may take the form of either an ele ment tag with content or an attribute within a tag When the ASM tool detects a match it will automatically configure the test case to transmit the value it received Our experience is that XML test cases frequently send and receive data elements under different names When this happens ASM will not detect the match and the element will most likely be left unconfigured It is possible to encourage ASM to recognize valid non identical matches using the field name equivalency fea ture of ASM License Key Activation Single user license keys require activation when they are imported into the Web Performance software This locks the license key for use by that user on that computer We realize that some license key activation schemes can be more cumbersome for licensed users than they are for software pirates Therefore we have attempted to make license key activation as painless as pos sible e First time users on an Internet connected computer will be activated automatically without any addi tional steps e Moving a license key from one computer to another requires only one additional step de activation before installing the license key on the new
241. mines the most likely sources for these variables If you wish to re run the Application State wizard later select the testcase in Navigator or Testcase Editor and choose the Configure gt Application State option This wizard will lead you through the steps for re con figuring the testcase as needed Some choices can be overridden see the Application State section of the user manual Controls For a walk through of the basic process see the Replay a testcase section of the Quick Start Guide A replay can be initiated from the Play button and stopped with the Stop button from the toolbar B e r I PI p Replays are performed using the selections under the Recording menu or the corresponding toolbar but tons When any of the replay options are selected the testcase being displayed in the active editor window will be replayed If no editor windows are open the testcase currently selected in the Navigator View will be replayed The replay actions available are Record Starts recording a new testcase Stop Stops the replay and cancels any outstanding transactions gt Play Replays the testcase including pauses between page selections think time gt Fast Play Replays the testcase without think time between pages 00 Pause Pauses the replay after the completion of pending transactions The replay may be restarted using any of the other buttons Single Step Replays the next transaction in the recorded
242. must be in the response Press the Add Extractor button F Complete the Prefix and Suffix fields Enter the name of the user variable to store the session identifier in e g action Verify that the correct value is shown in the Value selected for extraction field When these items are complete the dialog should look like the picture below When it does you can press the OK button to save the new extractor Create Extractor a x Extract Yalue from Content Please select how you would like the value to be located in a response during playback Anchors This extractor will search the response for the fixed text entered below and extract the value located between the two delimiters Prefix kennon A Suffix W Repetition number to extract from i Sl Extraction options Extract value into User variable faction Assume extracted value is never URL Encoded v Recorded Response ad NEXT_PAGE UPLOAD_PROGRESS_POPUP amp SPAWN_EXPORT_MS_LIST_THREAD i adioValue vRadioGroupName iffselVal 3 iavascriptsetField TAG ACTION javas NEXT_PAGE UPLOAD_PROGRESS_POPUP amp PROGRESS_TYPE_ID vProgressType UPLOAD PROGRESS POPUP amp SHOW TRANSFERING TEXT Y amp FIRST TIME FL Y Z 4 gt Value selected for extraction When replaying this testcase the Virtual User will run this extractor after the response has been received In this case it will look for the target data as configured above and store it into a
243. n Settings _ 2 Configure Proxies to Access the Internet 5 No proxy Auto detect proxy settings for this network Use system proxy settings Manual proxy configuration HTTP Proxy 127 0 0 1 Port 25255 Use this proxy server for all protocols SSL Proxy 127 0 0 1 Port 2526 ETP Proxy Port os Gopher Proxy Port 0 SOCKS Host Port 0 SOCKS v4 SOCKS v5 No Proxy for Example mozilla org net nz 192 168 1 0 24 Automatic proxy configuration URL Reload ae Gad Ge e Select the Manual proxy configuration option e Enter the data as shown in the HTTP proxy and SSL proxy fields substituting the port numbers from step 1 e Clear the No Proxy for field e De select the Automatic proxy configuration URL option e Push the OK buttons until you return to the browser Recommendation manually switching the proxy configuration can be cumbersome There are several Fire fox extensions that can switch between multiple proxies available from the Firefox extensions page Google Chrome Google Chrome respects the Windows systemwide proxy settings Safari Safari respects the Windows systemwide proxy settings Opera The most recent version of Opera we tested does not seem to respect Windows systemwide proxy settings If you need to record using this browser you will need to configure Opera s proxy settings manually Step 3 Select proxy server Finally if a proxy server is required to
244. n this scenario involves the following steps 1 Install Web Performance Advanced Server Analysis Agent on your server s 2 Install a license for advanced data collection on the agent 3 Begin data collection to a log file on each server 4 Runa load test using Web Performance Load Tester 5 Stop data collection on each server and move the log files to a location accessible by the Load Tester workstation 6 Integrate performance logs from each server into the recorded load test results 7 Re open the load test report to review the newly integrated data Manually Installing a License on the Agent As of version 4 2 itis no longer necessary to import any license onto the agent Beginning Manual Data Collection with the Agent Data collection may be started on the Server Agent by entering the command start log sample period lt period gt replacing lt period gt with the same sample period set in Load Tester for your test For example start log sample period 10s To set a sample period of ten seconds In general the sample period on the Server Agent should match the sample period selected in Load Tester The Server Agent will then begin data collection and display a message indicating the location of the per formance log file Before beginning data collection and your load test it is recommended that the following settings be verified e The sample period used by the agent should be the same as the sample period set in Load Tester for
245. n your Web Performance testcase using default rules as well as custom rules as supplied below Baseline Report Detection Rules Add Rule Browser Example Ad Client ID Detector Client Certificates Copy selected Rule s Configuration Wizards Application State Import Rule Detection Rules Remove Rule Dynamically Named Fields Ignored Fields Test selected Rule s Validation Rules Diagnostics Rule Parameters The keys and values entered here determine what detection strategy is used and what that strategy is hina looking for For more information about parameters that may be entered please consult the user manual iasin icenses a Load Test detector name Example d Client ID Detector detector sdd Remove Parameter Load Test Report string prefix google_ad_client Performance Goals string suffix Proxies field name client Recording fragment pattern pub d 10 Usage To create a new rule simply press the Add Rule button and then enter the parameters for the detector The parameters for a detector will vary based on the type of detection strategy desired There are presently four basic types of detectors e Single Field String Delimited Detectors e Variable Field String Delimited Detectors e Regular Expression Detectors e Dynamic Path Segment Detectors In addition to detectors which locate values assigned by the server the ASM wizard u
246. nd field that contains the filenames g a e Edit field Choose a datasource for the field myFile Datasource Encoding Name Wa Recorded Value Dl4aj a Value Choose a source for the name of the file to upload Files should be uploaded into Load Tester first see File Uploads under Window gt Preferenc Datasource DataSet Files 3 Field filename s Lox _ cance When editing the modifier of a file upload field the Field Editor dialog will show a Filename part in addition to the name and value parts The Filename part of the field can be used to configured to change the name of the file sent to the server if required This may be the same dataset field as specified above if just the name of the file excluding the path name is sufficient or an alternate dataset field containing a complete file name may be used In many cases the server will completely ignore the filename sent in these cases the Filename part can be left as a recorded datasource Edit field Choose a datasource for the field myFile Datasource Name Recorded Value Mitesh Resume doc Value rerame IZ Datasource K DataSet Files Field filename Lo _ ance Content Modifiers Configuring replacement of part content is performed from the Fields View If an HTTP request contains the content type multipart related it is displayed in the Fields View with type part For other styles of HTTP re
247. nd status codes to determine which transactions are web pages and which resources should be placed in which web pages e Activity monitoring uses timing to group HTTP transactions into pages groups This analysis mode usually generates more logical groups when an application uses asynchronous methods to generate HTTP requests e g AJAX style applications The activity threshold determines how much inactive time must elapse before a web page is considered done This algorithm also uses referrer analysis where appropriate Recorder Ports amp Browser Launching Normally the ports used by the Recorders internal proxy are selected automatically to avoid conflicts How ever under some conditions such as using browsers that cannot be configured automatically custom browsers it may be useful to set the ports manually The Manually select recording ports option is used to configure the Recorder to use the same ports every time it runs If either of the port fields contains invalid values or unavailable ports a warning message is dis played and the option cannot be enabled until valid ports are configured For more information on manual browser configuration see the Manual Browser Configuration FAQpage The Launch default browser when recording option controls the launching of the default browser when a new recording is started Turning it off will cause no browser to be launched when a recording is started This can be useful when an already r
248. nderstands parsers which detect embedded fields within posted content e Name and Value Patterns e Unnamed Values Single Field String Delimited Detectors Single Field Detectors are designed to locate segments of code within a page for a specific field Parameter Value detector sdd detector name Example Javascript Detector string prefix setField ID string suffix Y field name ID Fields Required detector This should always be set to either StringDelimitedDetector or just sdd for short in order to indicate that this configuration should be treated as a single field detector For example detector sdd field name The name of the field that is being assigned string prefix The prefix of the text just up to the value of the assignment string suffix The suffix of the text immediately following the value of the assignment Optional assignment The confidence that this detector has that the found assignment is accurate to the transaction If DEF INITE this detector will replace the value by the discovered assignment If PARTIAL this detector will only replace the value ifa DEFINITE assignment for the same field was not found If omitted this field defaults to PARTIAL detector name The name given to this detector If omitted this will default to the file name less the properties exten sion encoding required Specifies the required URL encoding strategy that a value extracted by this detector must be encoded with befor
249. ndows To configure a Windows machine to use multiple virtual IP addresses for right click on My Network Places on the Desktop or execute Start gt Control Panel and double click on Network and Dial up Connections F9 Network and Dial up Connections l 0 x Fie Edit view Favorites Tools Advanced gt Ee q Back v Search L3 Folders amp Address a Network and Dial up Connections fad Go i f L 4 Le Make New Local 4rea Virtual Private Connection Connection Connection Dell 3 object s Note that a limitation of Windows is that you can only configure virtual network devices using a Local Area Connection VPNs and ISDN or other modem connections do not have this ability The next step is to edit the properties of your network connection bringing up the following dialog Local Area Connection Properties M l File and Printer Sharing for Microsoft Networks MI Y Intemet Protocol TCP IP Select Internet Protocol TCP IP and click on the Properties button which brings up the following dialog Internet Protocol TCP IP Properties General le x You can get IP settings assigned automatically if your network supports this capability Otherwise you need to ask your network administrator for the appropriate IP settings Obtain an IP address automatically Use the following IP address IP address 192 168 4 101 Subnet mask 255 255 255 0 Default
250. ng to view the menu and selecting the Open Test Report menu item Printing the Reports The report may be printed by using the Print button along the top of the report viewer Saving as a file Most browsers also provide a mechanism for saving the page to disk including all the images Internet Explorer also allows saving in the mht web archive format based on MIME which combines the page and all images into a single file that can be easily distributed to other users Saving as a PDF You may create a PDF of the report by launching the report in a browser and then printing to a PDF enabled virtual printer such as that provided with Adobe Acrobat There other programs available some such as PDF Creator are available free Search the Internet for pdf writer Saving charts A chart image may be saved to a file by right clicking on the chart and using the Save Picture As feature Exporting Data Selecting the CSV format link below each table will provide CSV formatted representation of the data which is importable into most spreadsheet programs such as Microsoft Office and Open Office Testcase Report The Testcase Report contains 5 sections 1 Summary high level metrics relevant to the entire testcase 2 Pages detailed metrics about each page similar to the information displayed in the testcase editor 3 URLs detailed metrics about each URL in each page similar to the information displayed in the test case edito
251. ns we can create the testcase In the Navigator select the Create Empty Testcase item from the pop up menu on the Testcases node to create a blank testcase where the transactions can be placed G web Performance Load Tester Fie Edit WPTest Repository Record Play Window l os HIB E BankServiceDemo wpt a Dataset Edit iC Load Co Open Repository Close Repository E New Repository H Save Repository Recently Used Record New Testcase El Create Empty Testcase B New Load Configuration We now have an empty testcase renamed Check balance G web Performance Load Tester File Edit WPTest Repository Record Play Window Help l oa len p o mmo Tour 7 Navigator 5 o Check balance X Elf BankServiceDemo wpt Check balance 7 Title B E Test 5 Data No content to display iC Load Configurations The next step is to create the two transactions required for the Check balance testcase Each transaction can be imported request and response using the Import gt As New Web Page item from the pop up menu in the testcase editor Play Window Help hm o rpe Jamey BAN Check balance 7 D bytes 00 00 000 sec Title ndo Ctrl Z Wb Redo Gtrl of Gut Girl B ony Ctrl C Paste Ctrl 4s New Web Page _ Export r o Properties Note that Analyzer groups transactions together in pages within a testcase For a web service there are no pages so Analyzer will s
252. ns are unable to connect to server connection closed without receiving response from server unable to write request to server e g user variable missing or dataset exhausted validator failed unable to find content unexpected status code etc and extractor unable to locate content This applies to Testcases Web Pages and Transactions If any transactions failed on a web page the web page will also be recorded as a failure Likewise any failure on a transaction or web page will result in the recording of a failure for the testcase This applies to Testcases Web Pages and Transactions Hits sec The number of transactions completed per second Transactions sec would be more technically accurate but is not used for two reasons 1 hits sec is a standard industry term and 2 the term transaction is already applied to many other levels of interaction in business applications Note that a completed trans action implies that there is a complete response received from the server Therefore transactions which are prematurely terminated due e g due to network errors are not counted as a hit Transactions which com plete successfully but result in an error due to transaction validators are counted as a hit Thus you can have errors when hits sec is zero This measurement is reported only at the test summary level Note that required CAN transactions are not counted as individual hits Maximum Duration The highest duration for the item See Ave
253. ns occurring with a given host while testing There are two ways to block undesired transactions If your transaction blocking preferences are likely to change from recording to recording for example you wish to record only sites within the example com domain space you can configure domain name based transaction blocking from the Advanced Recording menu However some domains and URLs should be blocked globally for example Windows will some times interrupt a recording by visiting download windowsupdate com and you can block traffic to these resources using the Transaction Blocking Preferences page Per Recording Settings Before each recording you can limit the domain names that can be recorded QO lt e v b gt DD ba wa b wv Start Recording Advanced Recording You can add any number of domains to the allow list and all domains that are not on this list will be excluded by the proxy during the recording A dot prepended before the domain name implies all sub domains of that domain name The deny list excludes all domains on that list In the screenshot below example com and www example com would be eligible for recording but cdn example com and example edu would be excluded from recording Start a recording Please provide the following information before you begin recording Testcase name becording 13 Choose repository C Users lane Desktop fail wpt Bandwidth limit Unlimited M W
254. nt As of version 4 2 itis no longer necessary to import any license onto the agent Performance Logging These commands are used on the agent to create performance logs in parallel with a load test but when Load Tester is unable to connect to the agent to coordinate test collection automatically See Monitoring Through A Firewall start log sample period lt period gt name lt name gt Starts creating a new performance log which may be imported later into a completed load test result The sample period parameter sets the sample period at which data is collected by the agent and should be the same as the sample period used in the load test Use name to specify a name for the test results to assist in identifying log files stop log force Closes a performance log being collected and turns off monitoring until a new test or log is started Use force to terminate a log even if it was started remotely by load tester this is generally only used if the network connection is no longer usable for Load Tester to stop the log automatically Other Commands commands Lists all command names recognized by the agent counters Refreshes the list of performance counters that the agent is configured to collect Locating Server Metric Counters In some scenarios it may be necessary to monitor server metrics outside of the Advanced Server Monitoring Agent Many of these metrics can be replicated by following the reference table below
255. o configure user entered data please consult the Customizing a Testcase section of the manual The previous configuration for dynamic fields will be replaced After the ASM wizard has Finished configuring your testcase you may inspect the results of the ASM wizard from the Fields View The automatically configured fields will appear with a grey background showing they have been automatically configured 4 create users 5 create users 81641 bytes Issue Tracker Login 1 Issue Tracker No Projects Project List User List 1 User List 2 User List 3 ct D md fm fim fim fim im 4 HI 395 sec Size Duration 32 027 110 9 869 039 6 332 008 7 227 038 9 725 mal 043 9 895 44 125 sec elapsed Goal Thir 6 000 6 000 6 000 6 000 6 000 6 000 Fields in web page User List 2 Name Type _EVENTARGUM Form field _EVENTTARGET Form field _ VIEWSTATE Form field bmAdd Form field m Headers B Errors gt Replay 4 Search a Engines Datasource User Variable _VIEWSTAT dDwtNDAyMDIZMT04030802 User Variable bmAdd Recorded Value Create New User Servers 2 Metrics v Actors B C ontent Transaction Object move Object move Object move Object move To override ASM s default handling of the field simply right click on the field in the Fields View and select Edit Simply change the Datasource to Recorded to reset the field t
256. o its recorded value without any dynamic handling or enter another datasource to send In addition to Form Fields and Application specific fields the ASM wizard also manages state fields defined by the web server such as E Tag and If Modified Since These configurations are visible from the Headers View e Headers 22 B Errors gt Replay Search 2 Engines S Fields amp Servers Me Headers for loadsofim ages html 2 Request line and headers F GET loadsofim ages htm HTTP 1 1 f Name Datasource Recorded Value A PATH loadsofim ages htn HEADERS Accept text html a Accept text html applicati Accept Language en us a User Agent Mozilla 5 0 compa 7 Accept Encoding gzip deflate Proxy Connection Value Keep Alive If Modified Since User Variable If Modified Wed 27 Jun 2001 1 If None Match User Variable If None Ma 273bbab39ffcO Lat _ 4 Wl pri p Troubleshooting The best way to determine if your application s getting the right values is to check your application state or database For example if you run a test case that supposed to purchase a product check your database to see if there s a record of the purchase If this shows there s a problem the next step is to check your own application s error logs for trouble Once a problem has been verified the next step is to walk through the pages in the replay looking for error messages from the server It may be useful later to configure validators from the Valid
257. o or actively participating in a load test the following information is displayed Name The name of the computer that the engines is running on If the value is ocal this indicates the load engine embedded in the controller running on the current computer is being used This is not rec ommended if remote load engines are also being used Status Indicates the state of the load engine Possible values are Offline Idle Running Initializing and Stopping Color The color used to represent this engine in the graphs on the right side of the view Active Users The number of virtual users actually running Estimated Users The total number of virtual users that it appears the machine could generate Note that the estimated number usually is inaccurate at lower load averages so that your computer very well may be able to generate a larger number of virtual users This is because at low load averages the estimation is not as accurate as ata high load average Also the response of many computers is nonlinear so that the load average could hover at 20 for example and stay there while the number of virtual users climbs CPU The CPU utilization of the engine s computer where 100 has all of the machine cycles being used Note that on UNIX this value is greatly affected by background processes that are blocked so even though a process isn t taking up any CPU time if it is stuck in a disk wait or otherwise hung your load average wil
258. o so they can allow the traffic through our firewall A Amazon has a very broad range of IPs available You can use the lists provided in this Amazon article or you can check the IP address of the instance in the AWS console and add rules as needed Alternatively you can purchase Elastic IPs from Amazon for a monthly fee and then associate those IPs with the instances in the AWS console once they are running This will give you a set of specific IPs to use so that firewall rules do not need to be changed each time new engines are launched Q My tests run fine using the built in load engine When using a cloud engine get errors in my test like Unable to establish connection to the server testserver 1080 What is wrong with the cloud engine A The cloud engines are designed for testing public Internet sites and require fully qualified domain names or IP addresses that are reachable from the Internet The hostname testserver cannot be resolved by the load engines since itis not a fully qualified domain name The solution depends on your specific situation e Ifthe site is publicly accessible you simply need to use the public hostname for the site in the test case rather than the internal hostname To do this you can either re record the testcase with the cor rect hostname or use the mass edit feature to change the hostnames in the testcase see the help for instructions e Ifthe site is not publicly accessible you may want to consider
259. ode during replay with the specified format if decoding appears nec essary from the recording e Never The detector should never attempt to decode characters with the specified format When a source format is specified without a qualifier the qualifier is assumed to be Only To con figure the detector to test multiple different types of decodings each qualifier and format pair should be separated by a comma For example unescape source Probably HTML Maybe Javascript Means that the string will be HTML decoded on replay if it appears HTML encoded in the recording or if the string does not appear to be encoded at all during recording However if the string appears to be Javascript encoded in the recording then it will be Javascript decoded during replay If the unescape source option is omitted it will default to Maybe HTML Maybe Javascript Probably None fragment pattern A regular expression which allows this detector to detect only a dynamic fragment of the value of the field For more information on the behavior of this field please see the Fragmented Value Detectors section Regular Expression Detectors In addition to string delimited detectors it is also possible to use a Regular Expression to capture field values from a page This form of detection rule provides greater control over the search used to locate the dynamic value Additionally the search pattern can contain multiple capture groups allowing a single search to extr
260. of arrow keys space and enter keys for navigation and selection If you need help using these options please use the Support Request Form IP Aliasing Configuration If a system is configured for use with multiple IP addresses it may be necessary to select which IP addresses should be used during a load test These IP addresses may be specific per network adapter or the workstation may be specifically configured for multiple IP addresses Configuring the local Workstation The IP Aliasing preference page may be accessed by selecting Window Preferences Web Per formance IPAliasing eee ee A lel iol x of the IP addresses avail petiere E an Ove able on the current system cial ue j Help which may be used to reach Install Update Local IP Addresses to use for Replays and Load Tests other servers By default Web Performance Use Operating System Default Web Performance Load Baseline Report Use Selected Interfaces Tester is configured to use E Browser the default configuration Client Certificates 192 168 1175 a Diagnostics specified by the Operating is ids 192 168 1 177 System However if more IP Aliasin 192 168 1 178 i a 192 168 1 179 control is desired then the Licenses dialog can be set to Use pe lis e i oad Test Repor Selected Interfaces and nile the checked IP addresses Proxies will be used If the work Recording San station has multiple IPs Usage
261. of the web pages will be estimated to meet or fail the performance goals given the test parameters Of course these are just estimates and an actual load test will need to be run to get definitive answers One of the most common sources of performance problems with web pages is designing the pages on a LAN with virtual unlimited bandwidth which leads to large page sizes When the pages are then viewed over a WAN which is bandwidth limited the pages can be much slower to view This report uses the simulated bandwidth described in the Load Test Configuration Editor to estimate the effects of limited bandwidth on page load times Load Test Report Load Test Report This is a comprehensive report summarizing the performance of a load test and detailing the performance of each page in the test The report consists of many sub sections which are selectable from the navigation tree at the top of the report viewer see picture below When the report is opened from either the Navigator or the Load Test Results view the Test Summary section will initially be displayed Re opening the report at a later time will return to the most recently viewed section aP physical baseline x Report Section Test Summary a M Entire Report Total hits Peak hits sec ga User Capacity Load amp Peak Page Duration e H PPD by Maximum Duration P1 P V PPD by Average Duration S Servers Test Su M Summary X Checklist TEEN Serv
262. ollowing the same procedure as moving the license key from one computer to another Q What happens if copy the activated license key to another computer A At best the software will not run At worst it may trigger a license revocation preventing the license key from working on any computer You would need to contact support to issue a new license key Q backed up my entire OS on one computer and restored it to another Now the software will not run What can do A You need to deactivate reactivate the license key as explained above Q Does the activation process contact your server or use the Internet A Yes it contacts our server to validate that the license key has not already been activated Q Does the software ever contact the server again A Yes the software will periodically verify that the license key is still valid It is also contacted when you deactivate the license Q How does a license key get revoked A When we detect that the license enforcement mechanism has been circumvented the license key will be revoked We will make every attempt to contact you and or your company to resolve the problem before this step is taken We hope we never have to take this step Q lost my activated license key file Is there an easy way to reset it so that can activate it again A No You will need to contact the sales team for a new license key The original serial number will be revoked and a new key must be issued und
263. om a server that is not being tested or the URL has negligible performance impact is a candidate for this technique Note The term transaction in these documents always refer to a single HTTP transaction which corresponds to a single request response between a web browser and a web server It should not be confused with any concept of a transaction in the web application such as making a purchase on an e com merce site Once you have located the URLs or servers to be ignored they can be removed from the testcase manually by deleting the undesired transactions Be sure to run the configuration wizards again especially the ASM wizard to update the testcase configuration Failure to do this can cause errors during replay You may also use the Blocking preference page to block these transactions from being recorded and then re record the testcase Note that during the recording process these transactions will still pass between the browser and server they will simply be left out of the testcase Ignore the field during automatic configuration Some fields are detected by the ASM logic as dynamic when they are not Frequently there are fields that could change in various parts of the application but not for the particular testcase being simulated This causes extra work for the load testing tool and potentially misleading errors during a test if the fields do not appear in the page during a replay or load test To disable dynamic han
264. ompleted the same view provides a summary of the most frequently used test param eters O amp 6 23 06 8 48 4M create issues X Elapsed Time 00 24 25 Est Duration 00 25 00 Report 0 amp o Hits Sec 12 E Errors 9 275 9 000 cco 700o cco soco 4000 3 000 2000 1 000 o 001143 000143 001143 002143 000143 53 504 O Bytes s 28 319 O Cases Min Elapsed time While a testis running this indicates the time elapsed since the test was started If the test has completed it indicates the total duration of the test Estimated Duration This indicates the estimated duration of the test based on the test configuration Report Opens the Load Test Report The remainder of the view displays numerical and graphical displays of 6 key performance metrics During a test these metrics will be updated periodically After a test has completed the charts will show the results for the entire test while the numbers will reflect the last sample collected Display Properties Opens the properties editor for configuring the display preferences Use this to change the number of charts displayed in the display Chart Properties Opens the properties editor for configuring the chart preferences Use this to change the data displayed in the chart 0 Chart Maximize Maximize the selected chart Headers View The Headers View displays HTTP start line and headers for th
265. on E PPD by Maximum Duration P1 P a PPD by Average Duration a M Servers Test Su K Summary Checklist Sager Server physical gives a vari LY Individual Metrics included in t M Load Configuration a M Testcases M Summary Eaman a Create Account 1 Confidenc M Create Contact 2 Peak User M Add Note 3 Summary o View Note 4 start Ee Web Pages amp Testcase Create Account 1 elder Testcase Create Contact 2 Total teste aula Tecteaco Add Note 2 Total hits Peak hits sec cy Print E Save P Export Launch G Settin gt A webperformance formation about a load test The summary section is the first and peak users simulated hits sec etc The server statistics are b server CPU load and memory usage had an impact on performance 38 100 39 2 34 PM 10 11 07 00 21 04 706 88 767 120 0 You may also use the Errors View and Metrics View to get more detailed results of the load test Videos Please see the complete list of videos on our web site Tutorials Index Video Tutorials see list on website Online Tutorials Full tutorials e Measuring SugarCRM Performance e Load Testing an AJAX Application e Load Testing 101 ASP Net Applications Mini tutorials e Best Practices e Unique User Logins e Customizing User Input e Creating a Dataset e Overriding ASM e
266. on figured dataset choose the Dataset type from the Datasource chooser 4 Saving a Customization Note in the picture of the Customization dialog earlier in this page there is a Save Customization button This allows the current configuration to be saved for later use It will then appear in the Customization drop down list in the Fields view It can be further customized by choosing it in the left hand list in the Cus tomization dialog and re saving it Actors View The Actors View displays the list of actors that both control and respond to the content of your testcase dur ing a replay or a load test The Actors View is opened by selecting Window Show View Actors from the main menu ciws J 151 330 DYTES VU UL UUL SEC 13130 74 SEC Giapsea kud Title Size Duration Status URL E Web Server Load Testing Tools Web Performance 93 151 00 00 470 200 http de E Web Server Load Testing Tools Web Performance 88 245 00 00 531 200 http de lt gt Headers Errors Fields Replay y Actors _ Servers Engines Content rPe 7G Validators for Web Server Load Testing Tools Web Performance Center 1 Actions Taken _pasencnssccsonensseoeones pecesensscasnossesonsesssosonsessonase nsec qoon peessnesscesesesssonenoseseonessseoennesssoesenssesenoes peeseesesooesosseeqnsesssesoneessonosnseseasoen peesonnescennesessonenescsooneneseoeones veoseneseosnsensoonsosescoonosssoooncsseseeoes v Nerify the size o
267. on This proxy will be automatically con figured for the browser when a recording is launched Restoring the auto detected proxy settings To restore the auto detected proxy information or to detect changed proxy settings for the computer or net work press the Auto Detect button Adding a new proxy To add a new proxy press the Add button to the right of the list of proxies Enter a valid name and proxy infor mation in the lower right portion of the page To save the new proxy press the Apply button To copy an existing proxy setting select the proxy in the list and press the Copy button To save the copy press the Apply button Modifying an existing proxy To change an existing proxy select the proxy in the list The lower right portion of the page displays the edi table information Make the changes as needed and press the Apply button At any time before Apply is selected the original information can be restored by press the Restore Defaults button Deleting a proxy To delete a proxy select the proxy in the list and press the Delete button Note that at least one proxy setting must be selected as the default and it may not be deleted If no proxy should used select the No Proxy set ting Recording Settings Page grouping During recording Analyzer uses several algorithms to determine what requests should be grouped into a page e Referrer analysis uses the Referrer HTTP header in requests along with content type a
268. on choose Properties from the pop up menu on the Load Con figuration and de select the Use Default option in the Proxy Configuration section NOTE Mass editing of Path Segments and Hostnames is now performed in the Fields View Choose the hostnames or path segments customization along with further filters if necessary and then the fields can be multi selected and edited all at once The SSL use for a testcase can be edited en masse via the mass edit testcase editor menu as shown here recording 11 recording 12 recording 12 7 10 265 bytes 508 sec 2 036 sec elapsed TH Compare to i Title Size D x Configure B Example Web Page 1 092 Open Report a lt webpage gt Hostname Mass Edit Path Segment Mass Delete Proxy Properties Note that mass edits to hostnames and path segments are implemented as modifiers which means that the original testcase is not modified As a result the changes are not visible in the testcase editor you must look at the Headers View or the Actors View to see the modifiers that have been applied Itis also possible to delete all transactions matching a particular hostname This is useful if you have acci dentally recorded a 3rd party domain such as google analytics or doubleclick net which does not belong in the test script Working with Replays Replay selection Replays are created using the play options available under the Recording men
269. or this validation rule should be retrieved from Constant Podcast Pal Dataset field User variable v Response Content lt table width 100 cellspacing 10 gt lt tr gt lt td gt lt hi gt lt span id lblProjectName gt Podcast Pal lt span gt lt h1i gt lt input type submit name btnAdd value Create New Issue onclick if typeof Page lt td gt lt tr gt lt tr gt lt td align right gt View Issues recalart nama draniliaw nanrhanna dadnctRaclfdran Vieu V lanm iana avaerrint f gt 00 00 000 se ktopDefault aspx ese Lies IssueList asp Lies TIssueDetail a Olly haa Validators f Actions T i Modifi Tip Itis not necessary to tab back and forth between the Content View and the Actors View Either view may be displayed side by side with the other by dragging the top tab of the view to the edge of the other view This makes it easy to Copy text from the Content View press the Add button of the Actors View and Paste the text into the Constant field to validate on Size validation Itis possible to also validate that the size of a response remains within reasonable bounds by using size val idation This style of validation may be used by selecting Validate content length from the drop down menu next to the Add button a Create Content Length Validator Validate Content Length Please select how the response size in byte
270. orded region g e cx images amazon com gw collage st 4 mm Filter ye Search Eh CIRE 1 475 Loaded 86 Shown 0 Selected Sort Recorded Value FWD It is now easy to select for example all the fields for hostname ecx images amazon com using the Shift key and the mouse For more complex changes the filter field can be used to further refine the results shown in the fields view For example to change all hosts with amazon in the name enter amazon in the filter field In this example however the results are not exactly correct In this screenshot the view is filtered by amazon but the second row has a field without amazon in the hostname This is because the filter field looks for the filter text in all columns By searching for the same text the cells containing the text are high lighted in yellow showing the cell that caused the confusion gt Replay y Actors 4 Search 322 Fields in testcase recording 1 Metrics B Content Servers amp Engines B Errors Headers Show the form fields and que Name Type Datasource Recorded Value Transaction T Host port Host port recorded region amazon com sss 301 Moved Pe Host port Host port recorded region d21025i6d3q8zm cloudfront net AmazonSearc Host port Host port recorded region e images amazon com 417XQ0XwQu Host port Host port recorded region eoimages amazon com 41LPmftIOUL Host port Host po
271. ording Deliverables The Web Performance Analyzer module of the Web Performance Load Tester will generate the fol lowing information in a report which you can both edit and print Base Performance Analysis The base performance is the fastest the system will perform under any circumstances Before starting a per formance test it makes sense to first investigate whether the system meets performance requirements while not under load This report highlights which web pages do not meet your performance goals at various band widths Bandwidth Requirements Analysis Using the base performance it is possible to estimate the bandwidth required to simulate any number of users and is used as a ball park figure to see if the available bandwidth is adequate before starting a load test Record A Testcase Recording Recording is the process of interacting with a website while Analyzer listens records and analyzes the HTTP transactions between the browser and server Analyzer constructs a tree representing the pages and URLs visited during the session The recording may be inspected and replayed at a later time For a walk through of the basic process see the Create a Recording section of the Quick Start Guide A recording can be initiated from the Record button and stopped with the Stop button from the toolbar Be r 0 ho p Once a recording is started a new Editor tab is created to display the recording Browser and proxy
272. ormation you may submit a support request Help gt Support Request and send the test results to our support system Q After a load test Load Tester displays the message Missing samples from engines What does this mean A When using remote engines during a load test there may be times when the load engine is not able to promptly communicate with the controller This can be caused by the engine approaching it s CPU memory or network bandwidth capacities or by network congestion between the engine and the controller In this case the engine is usually able to continue performing in the load test but the summary graphs may show subtle dips where data from a specific engine is unavailable Q How can see more detailed metrics from my load test results A Activating the Metrics view and selecting the test results will display the detailed metrics for the test Navi gation within the view allows display of summary testcase server engine page and URL metrics The detailed metrics may also be exported from the Export item in Navigator pop up menu for the selected test results Q When running a load test with load engines on Windows see Engine operating system out of network sockets errors What does this mean A By default when a Windows socket is closed by an application Windows waits 240 seconds before clos ing it During this time the port that the socket used is placed in the TIME_WAIT state and cannot be reused W
273. otal Size The total number of bytes transferred for this item Includes both request and response Note that the bytes transferred includes only the bytes that make up the HTTP transactions Other bytes trans ferred at lower protocol levels such as those required for TCP IP overhead are not included For individual transactions the bytes transferred for required CAN transactions are not included in the target transaction TTFB Standard Deviation The standard deviation of sampled TTFBs for the transaction Users The number of users currently being simulated At the test summary level this is the total number of users in the test At the Testcase level this is the number of users simulating the testcase Waiting Users The number of users working on a page or URL at the end of the sample period Note that working on refers to the process of requesting and receiving the contents of a page or URL Users that are not working on pages or URLs will either be executing think time or the repeat delay For individual trans actions the user is considered to be waiting on the transaction from the time it starts sending the request until the last byte is received including any required CAN transactions Load Engine metrics Load Engine metrics are collected by the load engines in the process of monitoring its own performance Time see above CPU The total CPU utilization as reported by the OS Memory The amount of VM memory that is
274. ould see a dif ferent session identifier with the same balance returned each time At this point we can declare success step 2 of this tutorial we have configured the web service testcase so that it can be successfully replayed Note that since the Bank demo service does not use true XML the XML viewers may not always format the content properly In the screenshot above the plain text viewer has been selected for both the request and response content Additionally the tabs have been locked to prevent the view from switching back to the XML viewer each time a transaction is selected Step 3 Configure the testcase for multiple users The key difference between the simple replay completed in the last step and a load test is volume A load test is simply a lot of replays all happening at the same time We could perform a load test with the testcase right now if we wanted But it would not be a very accurate simulation of the expected use case of the sys tem since the same person is not likely to be checking their balance simultaneously from multiple locations over and over again Instead we would like the load tests to simulate many different users checking their bal ance Creating test data The first step in simulating multiple users is to create the list of users For this tutorial we will assume that the system is already populated with accounts and we have the list of user names passwords and current account balances availabl
275. ours A If you do not instruct Load Tester to shut down the cloud engine the cloud engine will continue to run and accrue charges until you stop it It is your responsibility to check the Amazon Web Services console to ensure that cloud engines have been shut down when no longer needed The cloud engine may still be run ning so you should check that right now Note that starting with the 4 1 release cloud load engines have an automatic idle shutdown period After a brief time of inactivity they will shut down automatically to prevent unnecessary billing The period can be adjusted on the Cloud Accounts perference page However we still recommend manually checking the AWS console at the end of each day or testing effort to ensure the engines are terminated when no longer needed Q didn t read or understand the answers to the questions above and now have big bill from Amazon Can get a refund A No Q Why not Can you make an exception just this one time A No We have no control over the contract that you established with Amazon Web Services when you opened the account Their refund policy is quite strict and no matter how nicely you or we ask the answer will still be no Asking rudely and screaming do not help either Reference Manual Views Toolbar buttons The toolbars provide quick access to frequently used operations Repository Open an existing repository Create a new repository Close the selected repos
276. peration gt login lt operation gt i lt username gt lt username gt i lt password gt lt password gt lt request gt The testcase is now configured to use a different user identity each time the testcase runs Replaying the testcase as described earlier will allow you to easily verify this behavior Each time the testcase is replayed a different username and password are sent in the requests and a different account balance is returned The following shows the get balance transaction from the 3rd replay You can see that the bal ance 83801 matches the balance for that user in the dataset E content x Headers Errors Fields Replay Actors Servers Engines Statistics E ei UU lle lie Content for webpage gt 2 elm e JA lt request gt al lt response gt lt operation gt get balance lt operation gt lt result gt 1 lt result gt lt sessionid gt 2BD444CB846601FSF4C44806DL lt balance gt 83801 lt balance gt lt request gt lt response gt s Pa XML Text Image Raw HTML XML Text Image Raw Configure validation Validating the results in this way is easy for a few replays but is not practical for a load test It would be more efficient to have Analyzer automatically validate the balance returned in each testcase against the value in the dataset To configure a validator first return to the original testcase in the editor 2 Load Tester Re
277. ption Verify content is not found is appropriate when entering an error message When entering a string of text that is unique to this particular page the option Verify content is found is appropriate The next section determines what this validator will search the response for Here a search string may be entered into the Constant field If itis more appropriate to vary the string being searched for then it is pos sible to select the appropriate radio button to obtain this value from the current row of a dataset or from a user variable Finally the Response Content displays the content of the current response for reference When a Con stant search string has been entered and located it is possible to scroll to that point by clicking on the high lighted block that appears next to the content display ng 6O g G H Issue Tracker Create Issues Issue Tracker Create Issues M Issue Tracker Login 1 E Issue Tracker Issues 1 i Issue Tracker Issues 2 Issue Tracker Issues 3 i SmartNav htm D i lt imi ra Content 3 Headers Erro ei UU fees Response con Issues Podcast Pal Create New Issue ID Issue click t HTML XML Text Image Raw Create Content Validator Validate Content Recorded value contains search string v Verify that Verify content is found Verify content is not found v Look for The content f
278. quests such as those that post a single raw content block that block will be displayed in the Fields View with type Message body B Conte me Heade B Errors 00 F f lt f o Fields in testcase Check balance Double clicking on the field opens a dialog where the replacement data is spec Name Type Datasource Recorded Value ified POST content Message body lt request gt lt operation gt login POST content Message body lt request gt lt operation gt get bi The replacement configurations allowed are 1 Replacing the entire content of the part from a file or dataset field 2 Replacing multiple smaller sections of the part from datasets or user variables Partial content replacement If only some sections of the field require replacement double click the field or choose Edit from the pop up menu in the Fields view Adding the modifier Edit field Choose a datasource for the field POST content Open the Field Recorded Value lt request gt lt operation gt login lt operation gt lt u Editor dialog and select the Text with Recorded replaced regions Ierai datasource Dataset Text constant Text with replaced regions Concatenation File upload Transform Edit field Choose a datasource for the field The dialog changes to display the content the lower text area is used to select the sections of text to POST content Datasource Recorded
279. r 4 Trend performance trend plots and detailed metrics for web page durations and sizes only appli cable if one or more replays have been performed 5 Errors a list of errors similar to that displayed in the Errors view Baseline Performance Report Summary Bandwidth Goals Master Launch Settings Baseline Performance Analysis Load Configuration 2 Analysis Summary Bandwidth requirements for 750 users Minimum Bandwidth Required 14 168 1 kbps estimated Total User Network Speed 38 340 0 kbps The purpose of the Baseline Performance Report is to examine the performance of system with a single user in order to determine its performance when not under load A great deal of the time web based appli cations do not meet performance requirements with even a single user because the web page load times are not objectively measured The Analysis Summary gives an overall summary of the report s findings from the two other major sections which look at Performance Goals and Bandwidth Estimates The Bandwidth report gives estimated values for the minimum and maximum bandwidth needed by the host ing company to support the specified number of users It is a good place to start when planning the band width that will be required to perform the load test and for capacity planning with the web hosting company Of course once a load test is performed real bandwidth data will be available The Goals section shows how many
280. r Consult the browser documentation where required WARNING these configuration changes will prohibit normal browsing when the Web Performance software is not running These changes will need to be reversed to resume normal browsing Be sure to write down or backup your settings to ensure they can be restored correctly Windows Systemwide Proxy Settings Most browsers will use Windows Systemwide Proxy Settings by default e Open the Internet Options dialog by choosing the Start menu and opening the Control Panel item eA E gt Control Panel All Control Panel Items gt gt aa ae P View by Adjust your computer s settings Default Programs g Device Manager Display JE Folder Options Getting Started amp Indexing Options amp Java Location and Other Sensors ar Network and Sharing Center amp NVIDIA Control Panel E Performance Information and Tools Phone and Modem ial Programs and Features LS Recovery ma RemoteApp and Desktop Connections amp Speech Recognition We System Troubleshooting ky Windows Anytime Upgrade amp Windows Defender Desktop Gadgets tg Devices and Printers Ease of Access Center AA Fonts w amp HomeGroup Keyboard P Mouse E Notification Area Icons fA Parental Controls amp Personalization P Power Options Realtek HD Audio Manager 9 Region and Language sound amp Sync Center LL Taskbar and Start Menu amp User
281. r advanced users the default value unselected will suffice for most normal cases If the extracted value appears URL Encoded and can potentially contain the characters and or but no other characters that would be encoded by a URL Encode process then this field may be checked to indicate that those characters must be encoded 2B and 25 respectively when the extracted value is re transferred back up to the HTTP server Finally the bottom section of this dialog shows the response that was received when this testcase was recorded Additionally a sample value is displayed of what would be extracted if this extractor processed a response from the server identical to the response being displayed Regular Expression Extractors For more flexible searches choose the Regular Expression option in the Extractor type section Con figuration of this extractor is very similar to the String delimited extractor The primary difference is that instead of supplying prefix and suffix strings a single regular expression is supplied Extract Value from Content Please select how you would like the value to be located in a response during replay v Extractor Type Choose the type of extractor to create String Delimited Regular Expression Script Extractor Parameters The match group will be extracted into the specified user state variable Regular Expression class nav download href 7 Instance number to extract from 1
282. r increase indicates a limitation of network and or server capacity Packets Sent sec the rate at which packets are sent on the network interfaces This metric is expected to increase proportionally to the applied load A greater than linear increase could indicate less efficient oper ation of the network A less than linear increase indicates a limitation of network and or server capacity Bytes received sec the rate at which data is received on the network interfaces This metric is expected to increase proportionally to the applied load A greater than linear increase could indicate less efficient oper ation of the network A less than linear increase indicates a limitation of network and or server capacity Bytes sent sec the rate at which data is sent on the network interfaces This metric is expected to increase proportionally to the applied load A greater than linear increase could indicate less efficient operation of the network A less than linear increase indicates a limitation of network and or server capacity Packets Received Errors the number of inbound packets that contained errors preventing them from being deliverable to a higher layer protocol These errors are considered a serious network degradation Packets Sent Errors the number of outbound packets that contained errors preventing them from being deliverable to a higher layer protocol These errors are considered a serious network degradation Collisions sec the
283. r3 0001 kegkq WebUser3 0002 nvsqs WebUser3 0003 IFlsv WebUser3 0004 gccua WebUser3 0005 FFlnmn WebUser3 0006 jrugs WebUser3 0007 gigei WebUser3 0008 wbfbn WebUser3 0009 ijaic Edit Fields Fy Creating a dataset Datasets may be created empty or imported from an external file They may then be edited manually cell by cell or entire rows may be filled by selecting the column press the column header and then the Fill but ton Create a new dataset In the Navigator view the pop up menu which appears from any existing dataset or the Datasets folders in each repository contains a New Dataset item Selecting this menu item will open the New Dataset dialog Grew Dataset x Name users Fields username Add password Remove carce Enter a name in the name field and then press the Add button You may then type each field name sep arated by the lt return gt key to define the fields in the dataset After pressing the OK button the dataset will be created with one row of sample data and the Dataset Editor will be opened Values for each field can be entered within the Dataset Editor Import a dataset from an external file A dataset can be created using existing data in CSV or text format From the Navigator view select the Import item from the pop up menu on any dataset or the Datasets folder Selecting this menu item will open the Import Dataset dialog 1 Choose the file to import 2 The file may
284. rCapacity NN for the local load engine see the Configuration Files section for the location of the system properties file Change the value of NN to reflect the number of total users that is desired for this engine Repeat this for each engine and restart the engines This setting will place a maximum limit on the number of users the engine will report that it can support Since the controller will not allocate more than the reported capacity to each engine manipulating these settings will allow manual selection of the distribution Note that the capacity of the engines will always be reported as 100 when a test is not running Also the reported capacity may be lower than configured based on the CPU and memory utilization as analyzed by the overload prevention feature Live Load Engines The Live Load Engine is a special version of our Load Engine software pre packaged on a Linux based bootable CD It can be downloaded in ISO format from our website and then written to a CD Any x86 based computer can then be booted from the CD and it will automatically run the Load Engine without installing anything on the host computer The hard drive in the computer is never used What are the advantages of this approach e There is no installed footprint on the machine e The load engine is automatically configured to use all the memory available on the machine This feature is especially useful when e There are no PCs available that you have authoriza
285. rage Duration for more details Maximum Page Duration The highest page duration See Average Page Duration for more details Maximum TTFEB The highest TTFB for the transaction See Average TTFB for more details Minimum Duration The lowest duration for the item See Average Duration for more details Minimum Page Duration The lowest page duration See Average Page Duration for more details Minimum TTFB The lowest TTFB for the transaction See Average TTFB for more details Pages The number of pages completed during the sample period This is a summation of each of the Com pletions metric for each page in the test Note that a completion does not imply success only that the Virtual User attempted every transaction in the web page Pages sec The average rate at which pages were completed Page Duration Standard Deviation The standard deviation of sampled durations for all pages Succeeded Pages The number of pages that succeeded during the sample period See the Failures met ric for more details Successes The number of times that the item was completed during the sample period without recording any failures See the Failures metric for more details This applies to Testcases Web Pages and Trans actions Time The time at which the sample period ended This is expressed as an elapsed time since the start of the test Total Pages Failed The total number of page failures recorded up to the current sample period T
286. rate at which outgoing ethernet packets must be re transmitted When this metric exceeds 5 of packets sent sec this indicates a network problem or network capacity limit Connections Established the number of TCP connections for which the current state is either ESTAB LISHED or CLOSE WAIT This metric is expected to increase proportionally to the load applied to the sys tem Connection Failures the number of times TCP connections have gone from SYN SENT or SYN RCVD to CLOSED TCP Segments Retransmitted the number of TCP segments which were previously transmitted but had to be retransmitted again External Evaluation Developers or advanced users who need to see sources that these metrics are measured from should refer to the Locating Server Metric Counters section Monitoring Through A Firewall and other network configuration options In many cases the agent and controller will be able to immediately connect to one another and will even automatically detect one another if they are both connected to the same local LAN This section outlines the configuration options available for the agent should an error be received while attempting to connect to it In order for the controller to connect to an agent the agent will need to be able to accept connections from the controller on at least one network interface The IP address and port number used to accept connections may be controlled by using a plain text editor to edit the file
287. re a match is found the ASM wizard will automatically configure the extractor and modifier as demonstrated above Unlike a single field configuration the single quote character is reserved as an escape sequence To force the detector to match a brace such as the brace may be surrounded by single quotes If the detector should match a single quote then the quote should be doubled Press the Test selected Rule s button to validate the configuration Note that this step verifies that the con figuration is valid but not necessarily correct In other words it checks that the combination of parameters pro vided is allowed and the parameter names are spelled correctly but cannot verify that the rule have the intended result Accept the changes OK button and run the ASM wizard on the testcase by selecting the Configure gt Appl ication State item from the pop up menu in the Navigator Verify that the fields have been detected by the wizard as required Dynamically Named Fields Occasionally your testcase will include variables that not only have changing values during playback but also change in name as well Consider the case where two variables are posted to your application server serialno 1234 color1l1234 blue In this case you may specify that the variable co or1234 should be renamed using a name derived from the variable serialno each time the test is played back In order to configure your testcase you must configure
288. red However Analyzer is not always able to automatically configure the workstation correctly and must occasionally be configured manually The remainder of this section will guide you through the process of determining what settings are correct for your particular network configuration Which of the following best describes the problem you are experiencing e The Recording Configuration Wizard appears After entering in the URL of the site to be recorded the wizard indicates that it was unsuccessful connecting to the site and requires a manual configuration e A Web Browser is launched but indicates Proxy configuration failed or displays a similar error page e A Web Browser is launched and displays a message stating that The Analyzer module of the Web Performance Load Tester is now successfully record ing your test case However when attempting to connect to the desired site an error message is displayed or nothing is displayed
289. resh command A Page Refresh Processor may be used to extract the duration that a browser should wait until re requesting the same page x Configure Page Refresh Processor Page Refresh processor The extractor did not locate a page refresh time in the response The selected extractor did not locate the page refresh time on this page In many cases this is correct because this processor should be configured on the first page that does not have a page refresh tag Press OK to use the default extractor or choose the custom configuration option C Use custom refresh time extractor Gonmfigure Extracted value is measured in seci Continue downloading resources during refresh delay Reload completed resources on each refresh To use a page refresh processor first locate a sequence of the same URL and select the last URL which no longer contains the refresh command breaking the loop Examine the previous pages and determine how the server specifies the frequency at which the URL should be polled For example the HTML fragment lt META HTTP EQUIV REFRESH CONTENT 1 gt may be included by the server to indicate that the page should be refreshed in 1 second The page refresh processor uses an extractor to extract the duration the user should wait before refreshing the page If no refresh is specified the loop is considered complete and the user will continue on through the next page If a refresh is found
290. rform this function Testcase Configuration FAQs How can change the URL recorded for a Web Page or transaction 1 Open the Headers View 2 Select the desired Web Page or transaction 3 Edit the URL How can change a header in a transaction 1 Open the Headers View 2 Select the desired Web Page or transaction 3 Edit the Header How can change the testcase to send different values in place of form fields or query parameters Open the Fields View Select the testcase in Navigator Locate the field s in the Fields View Single values or duplicate identical values can be edited in place by double clicking the table cell Multiple unique values can be changed to all have the same value by opening the Edit Field dialog Edit button and then entering a Constant Value OY How can change the testcase to send different values in a form field on each replay 1 Create or import the desired values in a dataset 2 Configure modifiers on each field parameter in the Fields View by opening the Edit Field dialog Edit button 3 Each time the testcase is replayed the next value from the dataset will be used depending on the dataset configuration To reset the dataset to the beginning select the Reset dataset state item from the Replay View menu How can change the username and password used in the testcase See the Authentication Section How can create custom transactions or testcases without recording them Each
291. rict SSL Security Checks Enables additional security checks for SSL compliance This may report SSL session errors not revealed by lenient or legacy web browsers e Disable SNI for Recording and Playback Enabling this feature will disable SNI support for all test cases and recordings Most users will not need to disable this feature However if all intended servers do not support SNI or if all tests will be conducted without SNI setting this flag may improve Load Tester s performance during testing e TLS Renegotiation Security Controls how Load Tester interacts with servers which use TLS rene gotiation but have not yet been upgraded to support secure renegotiation RFC 5746 Note that changes to this setting will require Load Tester to be restarted as well as any Load Engines which will be used for testing This setting has three options e Strict Load Tester will only allow renegotiation with servers which have been upgraded for secure renegotiation If the server requests insecure renegotiation Load Tester will generate an error e Interoperable Load Tester will refuse requests from a server for insecure renegotiation but will continue to use the connection e Allow Insecure default Load Tester will allow servers to renegotiate insecurely using the orig inal TLS standard e Simulate even distribution for DNS load balanced hostnames For hostnames which have multiple IP Addresses assigned to them This instructs Load Tester to ass
292. rms CAN Connection Authentication Negotiation CAN refers the use of headers in HTTP messages by browsers and servers to negotiate the protocol that will be used to transmit authentication credentials The most common protocol is NTLM CAN Transactions The additional transactions required to negotiate the authentication protocol Depend ing on the protocol and the state of the connection there will usually be 0 1 or 2 CAN transaction for a sin gle transaction attempted by the Virtual User CAN Duration The total duration of all CAN transactions that were required to complete a transaction N A if no CAN transactions were required NTLM A protocol used by Microsoft Web Servers if enabled to accept authentication credentials from the browser Page Duration The total time to complete all the transactions for a web page This time starts when a con nection for the first transaction is initiated and ends when the response for the final transaction is completed The page duration does not include the think time after the page is completed Repeat delay the delay between the time when a VU finishes a testcase and begins the next Sample A set of data collected during a specific time period Sample period the length of time during which a sample was measured SNI Server Name Indication This is an extension to the TLS protocol which the browser sends the host name of the server it is attempting to reach to the destination se
293. roportionally to the load applied to the system Process Queue Length the number of processes waiting to be scheduled to run On windows a sustained processor queue of less than 10 threads per processor is normally acceptable dependent on the workload Memory group Memory The percentage of available memory that is in use Large values of this metric suggest that the frequency of page swaps to disk will be high For Windows servers this is the percentage of virtual memory currently committed For Linux servers this is the percentage of physical memory in use non free cached or buffered Cache Memory Allocation The amount of memory reserved by the Operating System for cache usage Decreases in this value can be used as indicators that the Operating System requires memory for other pur poses which might not cause an immediate increase in memory usage Cache Memory Allocation Ratio The percentage of physical memory reserved by the Operating System for cache usage Decreases in this value can be used as indicators that the Operating System requires memory for other purposes which might not cause an immediate increase in memory usage Page reads sec the rate at which the disk was read to resolve hard page faults Hard page faults occur when a process references a page in virtual memory that is not in working set or elsewhere in physical mem ory and must be retrieved from disk This counter is a primary indicator of the kinds of fa
294. rs are in the Virginia DC area and Northern California The European Union datacenter is in Dublin Ireland The Asia Pacific datacenter is in Singapore Q Can run engines in both the multiple regions A Yes However you must configure multiple cloud accounts in Load Tester one for each region Note that you do NOT need two Amazon EC2 accounts your account credentials can be shared between regions Q What are the bandwidth limitations of the load engines A The load engines utilize a 100Mbps connection Due to network overhead and other considerations you will find that Load Tester will report a peak of 90Mbps of HTTP traffic for each engine under the best con ditions However due to the nature of virtualized environments there is no guarantee that a particular engine will have that much bandwidth available We recommend careful monitoring of the bandwidth metrics in the Engines View of Load Tester during a test If any limitations are observed by any of the engines the test results could be invalidated If this happens the test should be cancelled and restarted with enough load engines to keep bandwidth below that point Q How many virtual users VUs can a single load engine simulate A This varies greatly depending on the testcase bandwidth consumed average hits sec SSL testcase complexity Typical testcases allow 500 1000 VUs per engine Because the cost of cloud computers is so low our general recommendation is to use a
295. rt numbers than the default ports are not available you must enter different port numbers they are automatically checked for availability 5 Remember the selected port numbers they need to be entered in the browser configuration later 6 Press the OK button Preferences oo General Help Install Update Web web Performance Baseline Report Browser Client Certificates Cloud Accounts Configuration Wizards Diagnostics Dialogs File Upload IP Aliasing Licenses E E Load Test Load Test Report Performance Goal Dei Proxies Recording Server Checklist Think Time Usage H XML Recording 7 M Use content and referrer analysis for page grouping M Use activity monitoring for page grouping AJAX style Activity threshold 1000 ms orts 2 J Manually select r HTTP 2525 SL 2526 MV Launch default browser when recording V Wait for recording completion to restore browser settings I Allow streaming content through recording proxy Step 2 Configure the browser The browser must now be configured to use the selected ports The following browsers by default respect the Windows systemwide proxy settomgs e Internet Explorer 8 e Firefox 3 6 e Safari e Google Chrome For other browsers these instructions can be loosely followed but settings must be applied to the specific browse
296. rt recorded region e images amazon com 51py0ux5 7L Host port Host port recorded region e images amazon com 419VIYS7UL _ Host port Host port recorded region _e images amazon com 41ZE9SmWdz Host port Host port recorded region eoimages amazon com 41vrFBQnIAL Host port Host port recorded region e images amazon com 519sTrkvwaL Host port Host port recorded region g ecwimages amazon com ts transparent p Host port Host port recorded region g ecuimages amazon com ts navPackedSp Host port Host port recorded region g ecwimages amazon com 2 CM1_US _V16 Host port Host port recorded region g e ximages amazon com gw collage s Host port Host port recorded region g e images amazon com it sprites h2 _V1 wi m Filte amazon Ex Search amazon E CIRE 1 475 Loaded 84 Shown 0 Selected Text Filter Sort Recorded Value FWD To solve this the filter could either be revised to amazon com Alternatively a per column filter can be con figured instead This can be done either from the Filter By Column option in the pop up menu or in the cus tomization dialog Both methods achieve the same result Here is the customize dialog with the added configuration to filter for amazon in the recorded value column fl Table Default E Current Table View fig cookies fig everything fig file uploads fig hostnames fig path segments fig recently changed Set as Default
297. rver This extension allows for Virtual Host ing of secured sites Testcase A series of web HTTP transactions between a client and one or more servers A testcase is usually created by recording the interactions between a browser and the servers The testcase is rep resented as a series of pages each page can contain one or more transactions Testcase Elapsed Time the total time to perform all the pages in the test case and the intervening periods of think time This will usually be much larger than the sum of all the Page Durations in the testcase due to the addition of the think times Think Time The time delay between the end of one page and the start of the next The name reflects that this time delay represents the time the user spends reading entering data or thinking about the last page received TLS Transport Layer Security The modern protocol for ensuring traffic between a client and server is secured Used for HTTPS communications Transaction A pair of HTTP messages request and response between a client e g browse and a server Virtual User A simulation of a real user using a browser or other web application to interact with a server Troubleshooting Guide Recording Configuration Troubleshooting Guide Getting Started If you are reading this page then you have attempted to record your website but were unsuccessful Rest assured Analyzer is compatible with every network configuration we have encounte
298. s should be validated Validate response size _ Is no larger than Is equal to 5 237 Recorded size 5 237 Using this validator it is possible to verify the size of the response Simply check the appropriate options and enter the corresponding size constraints measured in bytes Use Is no smaller than to specify a mini mum allowable size and or Is no larger than for a maximum allowable size or select Is equal to to spec ify a single exact value Note Due to a server s ability to vary the transmitted size of a response for example by altering com pression scheme or transfer encoding this option may not be available for some responses Extractors Extractors are able to examine a response and extract information that can be re used later by a Modifier String delimited Extractors The Actors View allows you create and edit simple extractors capable of extracting a value into a User Var iable Since the value will likely be changing an extractor may be specified by using a pair of delimiting anchors to denote the beginning and end of the value to be extracted B Create Extractor eee Extract Yalue from Content Please select how you would like the value to be located in a response during replay Extractor Type Choose the type of extractor to create String Delimited Regular Expression Extractor Parameters This extractor will search the response for the fixed text entered below and extract the valu
299. s two steps are required 1 Export the root certificate 2 Import the root certificate into your browser Exporting the root certificate The root certificate may be exported in two different formats CER or PEM Most browsers will accept the CER format so try it first Start a recording When the Welcome Page appears click the test your SSL configuration link Click the appropriate link to download the certificate in either CER or PEM format Save the certificate somewhere you can remember e g your desktop Follow the instructions for your browser on importing the certificate We have included instructions for a few of the most popular browsers below If your browser is not listed here check the documentation for your browser ae note the CER and PEM certificate files may be copied directly from the following folder where lt user gt is your windows username if the download links do not work C Documents and Settings lt user gt webperformance Internet Explorer 6 0 Select Tools gt Internet Options from the IE menu Select the Content tab Push the Certificates button Select the Trusted Root Certificate Authorities tab Push the mport button to start the Certificate Import wizard Push the Next button Push the Browse button and locate the certificate file where you saved it Then follow the Wizard to completion Va So ee a After installing the certificate you will see it listed under the name Web Performance
300. s Agent Log Properties Next select the dat file s to import You may update the name of each server as it will appear in the load test report and add or remove as many log files as you choose Verify Settings Verify name and clock difference for each server File Server Type Log File Name 11411 130 pm agent log dat 11411 130 pm agent l 10 1 1 185 Advanced Server Name 10 1 1 185 Type Advanced Load Test Name 1 14 11 1 32 PM my load test Started at Jan 14 2011 1 32 14 PM Server Log Name 1 14 11 1 30 PM Agent log Started at Jan 14 2011 1 30 43 PM Add Remove Log file Lead Time 90 gt seconds eins tans Each log may be imported in Advanced or Basic mode depending on whether or not you have pur chased a license to use the Advanced Server Monitor Agent The Log file Lead Time may be adjusted to reflect how far in advance the log file was started prior to the test It is recommended that this number be divisible by the sample period for best correlation with meas ured load test results Normally this value will not need to be modified unless the system clock for the work station running Load Tester or the Server Agent was set incorrectly Server Agent Commands When running the Server Agent the following commands are supported Frequently Used Commands quit Terminates the Server Monitoring Agent making it unavailable for further data collection License Manageme
301. s during replay After any edits run the ASM wizard to ensure a valid configuration Also note that any changes to the testcase could make it impossible for the ASM wizard to correctly analyze the testcase again resulting in replay errors The Testcase Editor is used to view details of the testcase and the replays of the testcase The Web Pages and HTTP transactions within the testcase can be moved duplicated or deleted using cut copy and paste Performing these actions changes the structure of the testcase This can limit the ability to accurately com pare the testcase to other replays that have not been modified in an identical fashion The editor displays a warning when performing an action that may invalidate comparisons This warning can be suppressed by selecting the Do not show this dialog again option To restore the appearance dialogs that have been sup pressed turn off the applicable entry in the Dialogs preference page Window gt Preferences gt Web Per formance gt Dialogs The Testcase Editor is also used to modify the think time between Web Page requests in the testcase Menus and Shortcuts The cut copy paste undo and redo actions are available in two menus A right click context menu is avail able inside the Testcase Editor s View The actions are also useable from the Edit gt main menu Standard keyboard shortcuts are enabled for the actions these are listed in the following sections To view the key board s
302. s large the costs can be substantial Cloud vendors provide these com puters on demand at a very low cost per hour giving testers the resources they need when they need it Q Are there any downsides to using the cloud for load generation A Yes Cloud computers are virtualized which implies that other virtual computers guests are running on the same physical hardware If one of those other guests suddenly tries to consume all available CPU or bandwidth there will be less of each for the load engine This can interfere with the accuracy of the metrics recorded during these times Our load engines monitor their own CPU utilization to prevent overload but cannot measure the impact of the other guests on the system To mitigate this problem we recommend run ning load tests with many more engines than required to lessen the impact of these problems on the test results Q How much does it cost A See the Cloud tab on our price list Q What steps are required to start using cloud computers to generated load with Load Tester A Please see our video and tutorial Q What is the maximum number of virtual users that Load Tester can load test using cloud engines A We have not yet reached the limits of Load Tester s capabilities in this regard In November 2010 we load tested over 100 000 users for a customer in preparation for a major sporting event The system per formed flawlessly we look forward to pushing those limits much farther
303. s many engines as is feasible to improve both the accuracy of the simulation real users will be coming from a broad range of IP addresses and reduce the effects of resource contention from other guests on the test results However there are limits to the number of instances that Amazon will allow you to create with your account so when running very large tests you may be forced to push the engines to their limits Our EC2 load engines are limited to a maximum of 3000 VUs Note that they are self regulating to prevent overload conditions that could reduce the accuracy of the test results Q What instance type do the load engines use A Our load engines run the Medium High CPU instance type We have optimised our engines to yield the most accurate and consistent results using this type Q After starting a cloud load engine the engine says running in the Engines View but get a Unable to connect error message A Sometimes the load engine may take a few more minutes to start so try again in a few minutes If the con nection is still refused then it is likely that network or firewall policies on your network are prohibiting con nections to the engine Check with your network admin to ensure that the machine running Load Tester can open connections to the engine on ports 1099 and 1100 Q What range of IP addresses will the load engines be running on need to tell my network administrator what addresses Load Tester will need access t
304. s received Not every attempt will result in a completion but every completion will result in either a success or failure For testcases and web pages a completion indicates that all child elements web pages and transactions were attempted This applies to Testcases Web Pages and Transactions CAN Attempts The number of times that one or more CAN transactions were required to in order to com plete a transaction Detailed Page Durations This metric holds a list of the time and duration of each page load completed dur ing the sample period This metric applies only to web pages and is also available at the summary level for all pages Note that the option to collect these metrics is off by default to conserve memory It can be ena bled in the preferences Window menu Duration Standard Deviation The standard deviation of sampled durations for the item Errors A list of all errors recorded during the test This is not a numeric value itis a list separate from the computed and observed metrics Note that multiple errors could occur during the execution of a single trans action Failed Pages The number of pages that failed during the sample period This is a summation of the Fail ures metric for all web pages in the test Failures The number of times the item failed during the sample period A transaction may fail in many ways any of which will result in the recording of a failure Some common examples of failure conditio
305. s will originate from the IP address of the computer running Web Performance Load Tester but there are reasons why you may want virtual users to each have their own IP address For example some hardware load balancing devices use the IP address to route packets to dif ferent computers By default Web Performance Load Tester will use the Operating System to select an available network address but at most you might have four network cards which is not nearly enough to give every virtual user its own IP address To get past this limitation the multiple IP address feature uses the ability of your oper ating system to configure virtual network devices When it starts Web Performance Load Tester will create a list of all real and virtual network devices During a performance test as each virtual user is created it will be assigned a new IP address if there are more users than IP addresses the virtual users will grab an IP address from the front of the list The use of multiple IP addresses will also work if you have multiple playback engines but you must con figure virtual network devices on each computer separately The following sections describe how to configure virtual network devices on the different operating systems Note that this feature of Web Performance Load Tester makes use of the built in feature of your operating system to configure virtual network devices and the complicated setup procedure is required by the oper ating system Wi
306. se every instance of the whole pattern is treated as an individual field Optional parent name pattern A Regular Expression which filters which fields are parsed for this sub pattern by name Only fields which have a matching name are examined for sub fields using this rule If this value is omitted then no filtering will be applied by name parent value pattern A Regular Expression which filters which fields are parsed for this sub pattern by value Only fields with matching values are examined for sub fields using this rule If this value is omitted then no fil tering will be applied by value Configuring your computer for Multiple IP Addresses This section covers how to configure your computer to generate virtual users from more than one IP address This is only needed if your web application makes use of the client s IP addresses which is quite rare or if a piece of hardware such as load balancer uses client IP addresses The concepts behind networks and which IP addresses are valid for your network are beyond the scope of the manual Please consult with your network administrator before going any further The following modifications have a high probability of rendering your computer inoperable if done incorrectly Do not use this configuration unless you are sure it is required An IP address is intended to identify the source of a computer s network traffic and is used to route network packets on a network By default virtual user
307. se handles is controlled by the ulimit setting To see the current setting run ulimit n To change the setting run ulimit n NNNN where NNNN is the new value Choosing a new value is dependent on the nature of your testcase the number of users being simulated and other factors We usually increase it by a factor of 10 over the system default since load testing is con siderably more network intensive than the default installation of most OSes expect Note that the above solution is not permanent it will only affect the current session For a more permanent solution add a line like the following to the etc security imits conf configuration file may be different depending on the Linux Unix distribution You will need to logout in before this change will take effect lt username gt hard nofile NNNN Q My load test generated the following errors what does it mean Page did not contain required variable s variablel variable8 variable23 A lt means that the software expected to find certain variables in the pages returned from the server because they were there in the recorded testcase The most common causes of this error are 1 An unexpected page was returned from the server and this page is very different from the recorded page due to an error condition such as improper authentication 2 The page returned from the server is correct but the field is missing from that page 3 The page returned from the server is corre
308. ser s Web Browser and the Application Server but are not immediately exposed to the end user Generally no further configuration is required in order for your testcase to play back successfully However an easy optimization can be made to increase the number of virtual users supported by each load gen erating engine by removing those fields that never change However for large test cases removing those fields from the ASM Wizard may be an inconvenient approach The Application State Management Wizard offers ignore preferences in order to automatically ignore those fields which are not intended to be treated as dynamic These preferences may be accessed by selecting Window Preferences and then selecting Web Performance Configuration Wizards Ignored Fields 10 xi type filter text Ignored Fields 4 k ie I dN Install Updat v Ignored Names hoped Fields with the following names will be automatically ignored by the 45M Wizard Web Performance Baseline Report Field Names PTA Browser submitaction Client Certificates Configuration Wizards Application State Detection Rules Dynamically Named Fields Ignored Fields Remove Name Validation Rules Diagnostics File Upload wv Ignored Values E Usages of fields with the following values will be automatically omitted by the IP Aliasing ASM Wizard a Load Test Field values A
309. small number of accounts usually between 10 and 20 e A representative of the application operations team to monitor the correct operation of the tests e Test cases must be configured for multiple logins and unique data Execution e Record remaining test cases e Configure test cases for unique data such as separate logins e Check application state if used e Configure validation if needed so you know the test cases are working e Replay each test case with a single user to verify they are working correctly e Repeat each test with more than one user to make sure multiple simultaneous authentications are working Deliverables e A suite of tests ready for a larger scale multi user simulation e The final list of requirements for Phase 3 Configure and Replay a Testcase Configuration Authentication Authentication is the process by which the user tells the server who he she is The user may provide this information in a number of different ways and the server may or may not accept the credentials After the server has accepted the user the rest of the web application is made available There are 3 common mech anisms of authentication in web applications as described below In all cases we recommend using different credentials for each virtual user during a load test to accurately simulate the behaviour of real world users We have a tutorial which illustrates a common use case Web form login In this method the username
310. space section of the reference manual describes configuration of the workspace location Recording FAQs Q cannot record what next A Follow our Recording Troubleshooting Guide Q Why do I need to record some pages for Analyzer to analyze my website Why can t it just scan my site and test all the pages A Analyzer is designed for complex transactional websites that have strict performance goals and are likely to experience performance problems due to architectural database or business logic problems Scanning a website for all the pages is impractical in these cases Our initial product surveys indicated that analyzing a website in the spider manner has little demand but we are happy to be proven wrong If you have this need please tell us You may vote for the feature request in our issue tracking system see the support section of our website and search for scan website Q When record with Netscape or Mozilla Firefox etc the pages do not look right or might even have errors in the Web Page tab of the Content viewer A The embedded browser uses the default browser for the platform on the Windows platform the default browser is IE Therefore if your site returns content that is optimized for different browsers the content dis played by the embedded browser IE will be the content that was optimized for the browser used during recording e g Netscape The only solutions are 1 record with IE and 2 ignore the d
311. ssed via the pop up menu in the Navigator view or the Edit menu In the example below a default per formance goal is configured that will be applied to each page or transaction in the testcase that are con figured to use the testcase goals E Properties Dialog Automatically applying performance goals to new testcases The Performance Goal preference page allows changes to the automatic performance goals The Per formance Goal page is located in the Web Performance section of the Preferences dialog Window gt Pre ferences menu item Use these settings to automatically apply performance goals to new testcases when they are created Preferences iol x lype filter text Performance Goals 7 X Help Install Update p Page Duration 3 Web and XML M Apply page duration goal to new testcases Web Performance 3000 ms Baseline Report Browser Client Certificates Configuration Aiza Diagnostics Dialogs File Upload IP Aliasing Licenses Load Test Load Test Report Performance Goals Proxies g Recording Server Checklist Think Time Usage Transaction Duration M Apply transaction duration goal to new testcases fioo ms A Validation Preferences The Validation Rules preferences page allows general rules to be entered that affect how the Validation Wiz ard will configure default validation rules for a testcase Since pages m
312. st and modify the name in the text area below the list When com pleted select the Apply button to save the changes Replays for testcase Web Performance Replays 9 13 AM 8 3 05 replay Delete 9 59 AM 8 11 05 replay 11 49 AM 8 12 05 replay Promote 9 18 AM 8 15 05 replay 9 22 4M 8 15 05 replay Name Enter new replay name herel Apply cne The Promote button will cause the selected replay to be promoted to the position of the original recording This will result in several changes to the structure of the testcase 1 All user defined actors from the original recording will be copied from the base testcase original recording to the replay 2 All replays except the promoted replay will be deleted 3 The original recording will be deleted 4 The promoted replay will become the base testcase and will for all intents and purposes become the original recording 5 Automatically applied configurations will be cleared replaying the testcase or using in a load test will require completion of the Replay Configuration wizards authentication ASM etc Comparing replays The Testcase Editor can display the size and duration differences and changes in the Status between the displayed content and either a replay or the original recording When a comparison is performed the item being compared to the displayed content is shown at the top of the Testcase Editor panel to the right of the displayed item The compar
313. stcase that simulates purchasing an item does not generate any record of the purchase in the system Examples of the above situations Errors generated When a replay cannot be completed successfully the Replay View will indicate how far the replay prog ressed before errors were encountered Status 32 a Replay stopped 00 34 40 i 202 wis n Checking the Errors View will usually provide more information about the problem Content Headers Enos x Sees Fields Replay Actors Servers Statistics Engines Ay Sia 1 errors in replay 2 07 PM 12 6 06 replay Description Transaction Title Page did not contain required variable s w 2 Different Status Code Returned Automatic validation is performed on the status code of each transaction and in most cases it is expected to be an exact match to the recording There are some exceptions that the logic will allow automatically When a problem is detected it will appear in the Errors View Content Headers Gla Fields Replay Actors Servers Statistics Engines 177 errors in test results 30 11 06 10 51 Load Configuration 1 i Description Transaction Title z TTT i Validation error papierjpeg 1 Validation error B Validstion error Envoi d un fichier DADS U 2 00 03 31 B Validetion error Envoi d un fichier DADS U 2 00 03 31 B Validation error Envoi d un fichier DADS U 21 Fails to R
314. t Passwords Recording The Recording section determines which certificate will be presented during the recording process The certificate s must be imported using the Import button Certificates are protected by a password use the Test Password button to test the password entered for the selected certificate Replay The Replay section determines which certificate will be presented by each virtual user during the replay of a testcase To configure each virtual user to use a different certificate they must all be imported into Analyzer In addi tion a dataset must be created containing two fields 1 filename 2 password After creating the dataset configure the Dataset Client Certificate and Password fields Use the Test Pass words button to validate the configuration Depending on the number of certificates testing the passwords could take several minutes License Key Management Advanced features of Web Performance products are disabled until a license key has been installed Eval uation license keys are available from the website http webperformance com ATTENTION The license keys are encrypted binary files Opening them with a text editor or any program other than Web Performance products will likely result in the display of some meaningless garbage Calling us to complain will not change that Please follow the directions for Importing license keys Managing license keys To manage the
315. t button and locate the certificate file where you saved it Select the Trust this CA to identify web sites option Push the OK button te ae ee After installing the certificate you will see it listed under the name Web Performance The certificate will expire in 10 years Manual Browser Configuration Do you have a VPN active If yes be sure to perform the VPN configuration steps at the end Under the most common configurations Web Performance software will automatically detect and configure the default browser for your platform IE on Windows When it does not or the configuration is unusual it may be necessary to configure the browser manually It may be possible to simply adjust the automatically detected browser settings in the Browser Settings and Proxy Settings preference pages Additionally unsupported browsers may be configured using those same preference pages If this is not successful then a fully manual configuration may be necessary The fol lowing steps illustrate the process for IE and Firefox Step 1 Configure recording ports In order to manually configure the browser Analyzer s internal recording proxy must be configured to use fixed port numbers it normally chooses them automatically 1 Select the Preferences item from the Window menu 2 Select the Web Performance gt Recording item in the tree on the left 3 Turn on the Manually select recording ports option 4 Ifa warning message is displayed beside the po
316. t lax and adding the option Djava rmi server h ostname site mycompany com to the end of the lax nl java option additional entry in the file For example lax nl java option additional Djava library path lib32 Djava rmi server hostn If the lax nl java option additional entry does not already exist it may be added to the end of the lax file along with a blank new line after the entry at the end of the file Once all of the settings have been entered and saved into the appropriate files the agent may be restarted in order to pick up the correct settings Mapping multiple agents to a single IP address In some cases only a single public facing IP address on the firewall is available for use If there are multiple server agents behind that single firewall address they must obviously use different port numbers on that address In this case the server agents MUST be configured to use those same port numbers Mapping port numbers on the firewall to different port number on the server agents will result in connection failures Stand alone operation Some network environments may restrict the access of a server making it unavailable for automated control by Web Performance Load Tester to collect data during a Load Test In such scenarios it is still possible to collect performance data from your server by using the Advanced Server Analysis Agent to collect a log file which may be integrated with a load test Running the Server Agent i
317. tate Variable is simply a named place to store some data The User State Variables are by default reset each time the Virtual User restarts a testcase Modifiers operate on a request They change a specific sec tion of a request as it is written to the server to contain the value from a variable or dataset Manual Configuration Here is an example of a pair of transactions that require manual configuration The response of the first trans action contains some information that needs to be extracted and saved for use in the second transaction the TAG_ACTION field In this example the javascript included in the source of the page will set the value of the TAG_ACTION field to the value supplied as the second parameter to the javascript setField method This value could be different each time the response is received and must therefore be extracted dynam ically during a replay in order to supply the correct value for the next transaction The source of the response page is shown below Eil UU ll il Content for Manuscript Central 1 S erie PORTAL 0 amp NEXT_PAGE LOGIN amp CURR 4 Al LOAD_PROGRES5_POPUPESPAWN_EXPORT_MS_LIST_THREAD Y amp FIRS oupName if selval 3 fjavascriptsetField TAG_ACTION javascript pop JAD_PROGRESS_POPUP amp PROGRESS_TYPE_ID vProgressTypeld amp FIRE ESS_POPUP amp SHOW_TRANSFERING_TEXT Y8 amp FIRST_TIME_FL 8 amp CURRET 35_POPUP amp SHOW_CREATING_IMPORT_FL V amp FIRST_TIME_FL
318. tcase section Validators Validators are used during a replay or load test to examine a received response and determine if that response was valid or not In addition to reviewing validators created automatically by various components of Web Performance Load Tester validators may be created by pressing the Add Button of the Actors View Presently there are two criteria that a new validator may use listed from the drop down menu located next to the Add button Con tent and Size Content validation Using content validation a search string may be entered When the response is processed the page will be deemed valid based on whether or not the response content contained the search string This style of val idation is selected by default when pressing the Add button but may also be accessed through the drop down menu by selecting Validate text in content Validate Content Recorded value does not contain search string v Verify that The content for this validation rule should be retrieved from Constant Error DataSet Users Username O User variable O y v Response Content lt DOCTYPE HTML PUBLIC W3C DTD HTML 3 2 EN gt lt HTML gt lt HEAD gt ne A HTTP EQUIV Content Type CONTENT text html CHARSET iso 8859 1 gt lt mm The first option on this screen is concerned with whether or not to flag an error when the search string is located The o
319. tem For web pages the title will be extracted from the document For other resources a best guess will be made such as a filename If the same resource appears multiple times the titles will be numbered to avoid confusion 2 Size the size of the item in bytes For web pages this is the total size of all items in the page 3 Duration the amount of time taken to load the item For web pages this is the total time taken to load all items on the page The format is MM SS mmm minutes seconds milliseconds 4 Goal The performance goal configured for this item Blank if no goal has been configured 5 Think Time The amount of time the Virtual User will pause between pages to emulate the time the user spend reading the page or entering data Applies only to web pages 6 Status the HTTP code received in the response from the server 7 URL the URL of the item preceded by an icon representing the type of item e g text graphics 8 Type icon An icon indicating the type of resource for this URL There are icons for web pages text files images forwards and errors 8 9 Performance Goal warnings If a performance goal failed for an item in the testcase a warning icon 9 is displayed at the beginning of the column Placing the mouse over the icon shows the cause of the performance warning 10 SSL displays a locked icon if the transaction is with a secure site 11 Replay list displa
320. tent For Demo License Form ndash Web Performance 1 ky a had QJ Edit Field x Company Name RequiredRegion Use Phone Constant UnitedStates City DataSet 7 Dataset field Field r Country User variable Announcements Mailing T cme List Sign up to receive new product announcements Send Why spend time reading a manual when we can develop working test mwa HTML XML l Image Text Raw Here the user has clicked on the Country field The Content View will automatically search within the recorded testcase to find where the field was submitted and allow the field to be parameterized for future replays and load tests For configuration options configuring the HTML XML tab of the Content View see Interactive Content View Preferences Text viewer The Text tab displays other text resources javascript style sheets etc and the source HTML for a web page If the response had either a Transfer Encoding or Content Encoding scheme applied e g gzip deflate the text is decoded as needed wr Headers B Errors Fields gt Replay v Actors E T E S Search El Content 53 il OH dia fise pons 5 A lt IDOCTYPE html PUBLIC W3CHDTD XHTML 1 0 Strict JEN http fwww w3 org TRixhtmll DTD xhtmld strict dtd gt lt html xmins http fiwww w3 org 1999 xhtml xml lang en US lang en US gt lt head gt lt meta http equiv content type content text html chars
321. tent with one of the selected files during playback Importing files A predefined set of files must be imported into Load Tester through the File Uploads preferences page This page may be accessed from the menu Window Preferences Web Performance File Uploads lt Preferences oE type filter text v Available files for upload Help Install Update My Upload pdf Add file s Web Performance Baseline Report Remove file s Browser Refresh Client Certificates Diagnostics Generate Dataset File Upload Licenses Load Test Load Test Report Performance Goals Proxies Usage Restore Defaults Apply con Once on the File Upload page you may select the Add file s button to select files for Load Tester to keep available for use during a load test Each file will be copied into a private location from which they may be synchronized with any remote load engines in use prior to a load test If a file is changed after adding it the Add file s button may be used to replace the copy used for load testing with the updated copy Creating a Dataset The simplest way to create a dataset is from the same File Uploads preferences page described above By selecting the Generate Dataset button Load Tester will offer to create a dataset of all the files currently available using the repository and names specified Alternatively if the intended load profile consists of different test cases where some files ma
322. ter Launch Settings Baseline Performance Analysis Load Configuration 2 Analysis Summary Bandwidth requirements for 750 users Minimum Bandwidth Required 14 168 1 kbps estimated Total User Network Speed 38 340 0 kbps The Summary gives an overall summary of the report s findings the Bandwidth report gives estimated values for the minimum and maximum bandwidth connection needed by the hosting company to support the specified number of users and the goals shows how many of the web pages will be estimated to meet or fail the performance goals Of course these are just estimates and an actual load test will need to be run to get definitive answers Phase Two Test Configuration Phase Two Testing Procedure Customize amp Verify Test Cases The goal of Phase Two is to make sure that simulation will be accurate and that all aspects of the test meet the requirements including network availability This phase takes the most amount of time because it is here that the details of how the back end works must be worked out While Phase One relied strictly on recordings for analysis in Phase Two the Web Performance Analyzer module will simulate a user with accurate data substitution which puts extra requirements on the testing process To make sure the virtual users are accurate the tester can actually watch the pages as they are sent to the web server and visually confirm that everything is working correctly Prerequisites e A
323. testcase you will have to track backwards in the application to find the source of the problem For example if you have seen an error from the Web Performance software like this Page did not contain required variable s xname The related page is the first place that the Web Performance software has detected a problem so this is the first place to look Did this transaction receive the expected page in the response If yes why was the var iable not in the page If no why was the correct page not returned Was something in the request URL query parameter cookie form field incorrect The answers to these questions with the help of the appli cation developer should lead you to discover what piece s of data in the request s are in need of further configuration Step 2 What is the correct data to send Once we have located the incorrect data we can then determine what the correct values should be In some cases this will be obvious In other cases the application developer may be able to help One of these two cases will apply 1 The user would have provided this data 2 The server provides this data There are a few exceptions to the above e Some data is randomly generated by scripts within the page In this case since the server will generally accept any value we will consider it user data even though the end user did not actually enter this information With some testcases you may find that the problem occurs
324. testcase and pauses once the transaction is complete 1 Page Step Replays the next page in the recorded testcase and pauses when the page is complete Once a replay is started it is associated with the original testcase and is displayed in the editor window if the editor for the testcase is open In order to view a specific replay select the entry from the pull down replay menu at the top left of the editor window as shown below To delete and rename replays select the Edit Replays item from the menu rding Window Help e b gt 00 bo oho e eee Be TE Terie 7 Aeb Performance with SSL ia web Performance k 727380 bytes 00 30 582 sec 11 49 AM 8 12 05 replay 19 18 AM 8 15 05 replay 5 19 22 AM 8 15 05 replay Web Performance Inc boftware Web Performance Inc boftware Web Performance Inc ormance Testing Inc 1 Support Web Performance Testing Inc 2 Support Web Performance Testing Inc 3 Replay status The current status of the replay will be displayed in the Status View Status X Replay playing Page 3 of 6 xz hUlt U URL 12 of 20 _ More detailed information about a replay is available in the Replay View Testcase 11 49 AM 12 6 05 replay Duration 00 08 56 Pages 3 of 6 Status playing Errors 0 URLs 17 of 20 Current Page Website Load Testing Software Web Performance Inc 2 http webper Unlimited x webperformanceinc com 80 waiting 26 http
325. the Dynamically Named Fields preferences how to detect this behavior in your application This option may be configured through a preference page accessed by selecting Window gt Preferences and then selecting Web Performance Configuration Wizards Application State Dynamically Named Fields 10 x type filter text Dynamically Named Fields Orar 1 Help Identifier Fields Install Update The Following fields have values that known to be reused in the names of other fields E Web Performance add Field _ Baseline Report Serine Browser Remove Field Client Certificates Configuration Wizards Application State Detection Rules Dynamically Named Fields Ignored Fields validation Rules Diagnostics Dependant Fields ae File Upload Fields with the Following name patterns will derive their actual name From the selected T identifier field The amp character represents the value of the identifer in the name of the IP Aliasing dependant and will change between Testcases Replays and Load Tests sa added Load Test CAAT Load Test Report Remove Field Performance Goals Proxies Recording Usage Configuring these fields is done in two phases The first is to select the Add Field next to the Identifiers table and enter the name of the field that identifies a value In our example the identifier is serialno whos
326. the test case to verify that no errors occurred during the replay Then open the content view and select the get bal ance transaction in the testcase editor to view the result E Check balance gN Check balance 492 bytes Title ll lt webpage gt 1 lt webpage gt 2 00 00 000 sec Size 217 Duration 00 00 000 275 00 00 000 D0 00 000 sec elapsed Status URL 200 http fiw webperformanceinc com demo banl 200 http www webperformanceinc com demo banl k gt Headers Errors Fields Replay Actors Servers Engines Statistics Dump view TE Eli UU lle ige Content for lt webpage gt 2 e A lt request gt la lt response gt lt operation gt get halance lt foperatio lt result gt esyt gt lt sessionid 341E42054152044F52D7403174144879 lt Bessionid gt lt balan gt 749 lt jalance gt lt jrequest gt lt response Big rfl Le ff XML Text Image Raw HTML XML Text Image Raw Checking the value of the session identifier we can see that it is different from the original transactions we created indicating that Analyzer was able to successfully extract the session identifier from the previous response and modify this request to send the correct session identifier Also note that the balance returned is correct we ll come back to this later in the tutorial If you replay this testcase again you sh
327. the user will wait for amount of time instructed and then refresh the page The extractor is configured in the same way as other extractors except that the result must be the refresh delay instead of an arbitrary string to be used by other modifiers The Virtual User will perform a loop on the page as long as refresh delays are located in the returned page content When a page refresh is detected the behavior of the refresh may be customized by using the remaining options e Extracted value is measured in configures in which unit the numerical delay should be interpreted when using a custom extractor e Continue downloading resources during refresh delay if this option is enabled the virtual user will con tinue to download remaining transactions in the page such as images even after a page refresh has been requested e Reload completed resources on each refresh if this option is enabled when virtual user refreshes the page all previously downloaded resources on that page will be re downloaded Additionally any active and incomplete resources will be cancelled when after the page delay expires and the page must be reloaded The default extractor used by the page refresh processor looks for META tags in the format above If the URL returns refresh directives in a different format then the Use custom refresh time extractor may be used to customize the extractor and allow it to correctly extract the page refresh time Once the page refres
328. this option disables the content type auto selection mechanism This allows the user to manually select which viewer to use for the selected content Hex mode this button controls the formatting of content in the Raw content viewer By default it will display in hex dump format The alternate is to dump the content as text formatted in the local character set AON Export buttons these buttons can be used for export the request or response content 7 Request viewer displays the request content formatted for the selected content type tab 8 Response viewer displays the response content formatted for the selected content type tab HTML XML viewer The HTML XML viewers display the content in an embedded browser that renders the selected page from memory including all images style sheets etc from the recording fell UU tel igi Response content for Load Testing Software and Services ndash Web Performance Content 23 Vane po mance PRODUCTS SERVICES SUPPORT RESOURCES BLOG COMPANY Web Performance Load Testing Automated load testing without complicated hand coding saves you time money and headaches AAR TreeteD ral ESTED LVR Ea HTML XML Image Text Ra In addition the HTML tab of the Content View can be used to configure submitted form fields When exam ining a form simply click on the form field that should be parameterized for each Virtual User Hl UU llel ll Response con
329. this setting can be customized and unsupported browsers configured in the Browser Settings page ce Preferences L EIR type filter text 2 Browser KE baina Web Performance Baseline Repor Browser Internet Explorer Add Client Certificat Firefox Cloud Accounts Google Chrome Configuration V Safari Make Default Diagnostics aaa Dialogs n File Upload IP Aliasing Licenses toad Tez Path C Program Files x86 Interi Select Browser configurations Delete Name Internet Explorer Version 9 0 7930 16406 Load Test Repo 7 WV Clear Cookies Performance G WV Clear Cache Proxies Recording Server Checklist Think Time Usage XML Use Windows System wide Proxy Settings Continue Recording After Browser Process Terminates Restore Defaults Apply SS hain Default browser The default browser is indicated by a mark next to the browser name in the list To select a different browser for recording select the browser in the list and press the Make Default button This browser will be configured and launched automatically during the recording process Restoring the auto detected browsers To restore the auto detected browser information or to detect a recently installed browser press the Auto Detect button Adding a custom browser To add a browser that is not automatically supported select the Add button to the right of the list of con figurations Enter a
330. tic configuration This involves creating a rule that the ASM Wizard can use to automatically locate the data and configure modifiers and extractors as needed when the wizard is run This is a good way to handle cases where the same data needs to be extracted modified in multiple transactions such as session identifiers or there are multiple fields that are expressed in the same manner It can be a little more difficult then a manual configuration but generally saves configuration time and effort in the long run Note that some situations can ONLY be configured manually and some can ONLY be configured auto matically Additionally there are some cases where neither manual nor automatic configuration is possible via the techniques described here Please submit your testcase to Web Performance support for assistance in these cases You can use the Support wizard to help automate the process Extractors Modifiers and User State Variables There are a few important concepts to understand before pro ceeding When a request requires dynamic data that comes from a previous response there are two discrete steps 1 extract the relevant data from the response into a user state variable 2 modify the appropriate part of the request as it is written to the server to contain the value from the variable Terminology Extractors operate on a response They look for a specific piece of data in the response and place it into a User State Variable User S
331. tically use its custom host file on every engine Both Load Tester and Load Engines will first check the custom hosts file discussed here to resolve a host name For hostnames not specified in this file each machine will resolve it s default hostname resolution setup generally by first checking for an entry in the local hosts file and then making a DNS query To begin using a hosts file first create a plain text file in Load Tester s configuration files directory See Con figuration Files named hosts txt The format for the file is as follows Each entry is added on it s own line in the format IPAddress Hostname Aliases The IP Address and hostname should be separated by one or more white space characters For hostnames that may resolve to multiple IP addresses multiple entries may be created 10 1 1 1 server 10 1 1 2 server Alternately Load Tester supports a more compact format which uses an equal sign to separate the IP Addresses and hostname when multiple IP Addresses are present The following is equivalent to the above example 10 1 1 1 10 1 1 2 server Comments are started with the character Any text found between the comment character and the end of the line is treated as a comment and ignored Example hosts txt This is an example hosts txt file for use with Load Tester The general format is IPAddress Hostname Aliases LO pails S myserver Load Test Metrics Load Tester
332. tically return to displaying the memory status Ga status x 77u playing O Page 3 of 6 G _ URL 12 of 20 a Replay Gonosz File opening status While repository files are opening the Status View will display the progress of the operation e number of files completed e bytes read from the current file k C7 ERT x 77u File Open files 2 of 5 bytes LS Shortly after the files have been read the Status View will automatically return to displaying the memory status Load test status During a load test the status view will show the progress of the current test stage The following pictures show examples of the starting testing and stopping stages Status sN Load Test Sending test configuration to local 0 Users 0 Errors bo 86 Complete vop Load Test 5 Users 0 Errors i 55 Complete Load Test Allowing virtual Users to Finish 2 Users 0 Errors nn 50 Complete Changing the display The Status View will typically select the best mode for displaying information relevant to the current oper ation The mode may be manually selected using the drop down menu at the top of the view Status Memory Record Replay File Open Load Test Results View This view is activated when a load test is started to allow monitoring of the progress of the test while it is run ning After the test is c
333. tion to install software on e A large number of PCs is required for a large test but not enough can be obtained on schedule or within budget How to use In most cases the only steps required are 1 Insert the CD 2 Power on the computer 3 Wait for the engine to appear in the Engines View of Load Tester 4 Select the engine and press the Update button if needed The engine will start with the default options use all available memory and use DHCP to obtain a network address Manual configuration When the manual configuration option is selected the following items may be customized Network Interfaces the detected network interfaces may be enabled and disabled using IP Addresses Set the IP address instead of getting the address via DHCP DNS Settings Set the DNS servers manually instead of getting the settings via DHCP Hostname Assign a hostname to the engine rather than using the automatically generated name Engine Memory size Assign the engine memory size instead of using the maximum available mem ory This should be used when dynamic file uploads are used in a load test because this will con sume memory outside of the engine and is this information is not available when the maximum available memory is calculated at boot time ORAON These configurations are performed using either command line prompts or text mode GUI Several of the configuration tools are standard Linux tools that use a combination
334. title width 200 sk Datasource Recorded Value Transaction Title 4 Set as Default Delete After accepting this result the Fields View should now show look roughly like this depending on the hosts present in your testcase Replay Actors 4 Search 22 Metrics Content E Servers 2 Engines Errors Headers S Fields in testcase recording 1 Ch Name Type Datasource Recorded Value Transaction T Host port Host port recorded region amazon com 301 Moved Pe Host port Host port recorded region d21025i6d3q8zm cloudfront net AmazonSearc Host port Host port recorded region d313lkinz3f56t cloudfront net pixeling 0 1 n Host port Host port recorded region e cx images amazon com 417XQ0XwQu Host port Host port recorded region e cx images amazon com 41 LPmftlOUL Host port Host port recorded region e cx images amazon com 51py0ux5 7L _ Host port Host port recorded region ecx images amazon com 419VIYS7UL _ Host port Host port recorded region ecx images amazon com 41ZE9SmWadz Host port Host port recorded region ecx images amazon com 4ivrFBQnIAL Host port Host port recorded region cx images amazon com 519sTrkvwaL Host port Host port recorded region g cximages amazon com transparent p Host port Host port recorded region g cx images amazon com navPackedSp1 Host port Host port recorded region g cx images amazon com CM1_US _V16i Host port Host port rec
335. tory as the downloaded installer This file may contain the lines INSTALLER UI silent USER_INSTALL DIR Web Performance Server Monitor Agent USER SHORTCUTS If any of these lines are omitted default settings will be used Upgrading the Agent An older version of the agent software has already been installed on a server then it may be upgraded by selecting the corresponding entry in the Servers View and using the Upgrade function Installing the License As of version 4 2 itis no longer necessary to import any license onto the agent Running the Agent Windows By default a folder named Web Performance Server Monitor Agent will be created in the Start menu Selecting the option Server Monitor Agent will launch a console application while the agent is accepting and or communicating with Load Tester Simply type quit at the console to terminate the agent Linux amp AIX By default a shortcut named Server_Monitor_Agent will be installed in the user s home folder This short cut will start the Server Monitoring Agent For example root gt Server_Monitor_Agent The agent will then run as a console application while the it is accepting and or communicating with Load Tester Simply type quit at the console to terminate the agent Configuring the Agent When the monitoring agent starts it will identify itself on the network allowing any running Load Tester controllers to automatically detect and configure th
336. tresults archive 07 07 wpt Browse Skip Backup and delete data i Finish Cancel First the wizard will need to know where to backup the existing data It is recommended that this step not be skipped since it is possible to accidentally remove some information without recognizing it s importance x Cleanup Repository Please select which of the Following items you would like to remove From this repository M Testcases not configured in a Load Profile v 1 testcase s selected a Tl Replays gt Oreplays s selected IV Response Content Content for 1 testcase s selected Unused Datasets gt 0 dataset s selected a lt Back Finish Cancel On the next screen the wizard will prompt you for what information you would like to remove This includes the following options Testcases not configured in a load Profile any testcases you have recorded or created which are not configured to run in a load test Replays replays of your testcases which have been run in the past Response Content the content of each URL in your testcase Removing content prevents the Content View and many testcase configuration options from operating normally Only testcases which have already been configured for replay will be available in this list Unused Datasets Datasets which are not referenced by any remaining testcases Loadtest Results Results from your previous load tests Configuration Files There are
337. tus information at the same time it may be useful to move the Replay View to another window pane see the Navigating the UI section for details Replay View Fields Content Headers Errors replay x Testcase 11 49 4M 12 6 05 replay O Duration 00 08 56 Pages 3 of 6 6 Status playing Errors 0 URLs 17 of 20 Current Page Website Load Testi 3 oftware Web Performance Inc http webperformanceinc com productsjinde webperformanceinc com 80 waiting 26 http webperformanceinc comfimages download_anl gif webperformanceinc com 80 receiving 33 http webperformanceinc comfimages4 analyzer_sm jpc counter2 hitslink com 80 idle 3 http fcounter2 hitslink com statistics asp v 18s 207 amp g 1 name ofthe replay 2 current activity paused stopped playing or thinking 3 title and URL of the current page 4 running time of the total replay duration including think time 5 total number of errors encountered during the replay 6 number of the current page and the total number of pages in the testcase 7 number of the current URL on the page and the total number of URLs in the current page 8 additional info depending on the selected tab Connections tab H webperformanceinc com 80 waiting 26 http webperformanceinc com images download_anl gif 0 webperformanceinc com 80 receiving 33 http webperformanceinc comfimages4 analyzer_sm jpe 2 counter2 hitslink com 80 idle
338. u For more information on creating replays see the Replaying manual page Note that any replay can be compared to any other replay or the original recording Although this section will only refer to replays it always applies to the original recording as well If the Testcase being displayed in the Testcase Editor has been replayed the pull down menu at the top of the Testcase Editor panel contains a list of the replays Replays can be viewed by selecting the appropriate entry from the list The replays associated with a Testcase can be deleted or renamed using the Edit Replays selection in the replay menu at the top of the editor panel rding Window Help b gt gt 00 bo oo ae my Bee Web Performance Agjeb Performance with SSL Web Performance gt LS 727380 bytes 00 30 582 sec 11 49 4M 8 12 05 replay 9 18 4M 8 15 05 replay 9 22 4M 8 15 05 replay Web Performance Inc boftware Web Performance Inc an boftware Web Performance Inc Support Web Performance Testing Inc 1 Support Web Performance Testing Inc 2 Support Web Performance Testing Inc 3 Renaming Deleting and Promoting Replays To open the Replay Editor select the Edit replays item from the Replay selection list Once the Replay Editing dialog is opened one or more replays can be deleted by selecting the replay s to delete and selecting the Delete button To rename a replay select the entry in the li
339. uence is simply that no sub field will created for that Parser on that Field Mass Editing fields The Fields View now has great flexibility in filtering selecting and editing multiple fields at a time The fol lowing example shows how to filter the fields to show only the Host port fields for a subset group of trans actions in a testcase and then edit them as a group First we will select the Fields View and then in the Navigator select the testcase The Fields View will now be showing all instances of the default field types in the entire testcase The host port fields are not shown by default To show them we must customize the view First select the customization chooser shown below gt Replay y Actors Search Fields in testcase recording 1 Name af bb be cat cf ecf ecn 4 Filter Type Datasource URL URL URL URL URL URL URL URL URL URL URL URL URL URL Ek Search A Metrics E Content Servers 2 Engines Errors Headers 5 Fields 3 Recorded Value 4 4 4 1009 32 100001 4 0 1 0 99 opt 0 segments 1009 32 100001 99 0 0 0 OMTDROZDMDIJJLRFLGQQY UTF8 31 RE 1 475 Loaded 26 Shown 0 Selected Sort Name FWD gt a Trans 1 hos lt imac lt imad rec lt IMAC coc lt imac file lt imac EVE ay Cu lt inje ge lt image gt pixeling 0 lt image gt lt imag
340. ults that cause sys tem wide delays It includes read operations to satisfy faults in the file system cache usually requested by applications and in non cached mapped memory files Large increases in this metric can degrade system performance Increasing physical memory can alleviate the problem Page Writes sec the rate at which pages are written to disk to free up space in physical memory Pages are written to disk only if they are changed while in physical memory so they are likely to hold data not code Large increases in this metric can degrade system performance Increasing physical memory can alleviate the problem Disk group W O Time Utilized The percentage of time during the sample interval that the disk was executing I O Service time The average amount of time required for each I O transfer Reads sec the rate of read operations on the disk A plateau in this metric could indicate a performance bot tleneck Writes sec the rate of write operations on the disk A plateau in this metric could indicate a performance bot tleneck Queue Length The average number of write requests that were queued for the disk during the sample inter val Network group Packets Received sec the rate at which packets are received on the network interfaces This metric is expected to increase proportionally to the applied load A greater than linear increase could indicate less efficient operation of the network A less than linea
341. ume that the addresses should be vis ited in a round robin fashion per session During a Load Test this means that the IP addresses will be evenly distributed among different Virtual Users Since a single Load Engine s DNS server may cache the result of a hostname lookup enabling this option instructs Load Tester to assume that round robin load balancing should be used Otherwise the engine or DNS server s default caching will be used e Hostnames with IPv6 addresses If a hostname resolves to both IPv4 and IPv6 addresses this set ting will determine which protocol Load Tester will use On some platforms Load Tester may not sup port IPv6 connectivity such as on installations of Load Tester or Load Engines on Windows XP or Solaris When using the Automatic setting Load Tester will automatically restrict usage to only IPv4 on platforms where IPv6 is not supported This setting may be set to Prefer IPv4 addresses to emulate users arriving only through IPv4 networks If this setting is set to Allow IPv6 addresses then Load Tester will allow the Simulate even distribution for DNS load balanced hostnames feature above to spread traffic between IPv4 and IPv6 addresses Browser Settings The Browser Settings page is located in the Web Performance section of the Preferences dialog Window gt Preferences menu item The preferred browser is normally chosen in the Recording Configuration Wizard when the first recording is performed However
342. un in a load test More elaborate testcases can also be defined using dynamically named variables Consider if our case had been serialno 1234 color1234 blue weight1234 in lbs 5 1234 assembly date 20051201 Itis possible to specify multiple fields as having a single dependency by adding their names to the Fields table e color amp e weight amp _in_lbs e amp _assembly_date This configuration will allow the Application State Management Wizard to correctly assume name depend encies for all three dependent variables Itis also permitted for a dynamically named field to be associated with multiple identifiers For example con sider another case itemid 123456789 checkbox123456789 checked legacyid 123 checkbox123 unchecked To configure this case simply create to identifier fields e itemid e legacyid Next add the dependant field checkbox amp to both identifier fields The Application State Management Wiz ard will examine both uses of the checkbox fields and only associate dependency when the name of the field corresponds to the value of the identifier In this example the wizard will associate the first checkbox field as being dependant on itemid and associate the second checkbox field as dependant on the field legacyid Ignoring Fields in the Application State Management Wizard The Application State Management Wizard will attempt to automatically configure those variables shared by the end u
343. unning browser is to be used for recording Allow streaming content through the recording proxy allows Load Tester to stream data to the browser while recording Enabling this feature makes the recording somewhat smoother and allows the browser to pro gressively render pages With this feature disabled Load Tester will wait until each transaction is completed before delivering it to the browser and helps to ensure that the recording contains only completed HTTP transactions which are likely to be requested by real users Enable SNI extension for TLS connections allows Load Tester to use SNI during recording Some servers may have SNI configuration problems which Load Tester will detect Disabling SNI can be used to get around these configuration problems or to simulate legacy browsers This setting may be disabled or have no effect if the Disable SNI for Recordings and Replays is set on Load Tester s General Preferences Blocking Undesired Transactions During recording users may occasionally notice URLs to sites that are unaffiliated with the Test Case being recorded These URLs can be triggered by automatic update checks within the web browser or third party plugins Alternatively they might also include hit counters or advertisements that do not affect the actual behavior of the application being tested All of these URLs can be manually removed in the Test Case Editor but it may be easier to configure Analyzer to simply ignore all transactio
344. unning for as long as the server requires until the test has been attempted at least as many times as specified in the limit or until the test is stopped by the user Multiple Test Cases More than one test case can be run simultaneously by adding them to the table To add a test case to the table select the test case with the pulldown box and then click on the plus sign The distribution of test cases is determined by the Weight column For example if you were going to simulate 100 virtual users and wanted 20 of the load to be from test case 1 and 80 of the load from test case 2 you would puta weight of 20 for test case 1 and a weight of 80 for test case 2 Network Simulation The Speed parameter describes the network bandwidth of each virtual user in the simulation No matter what network configuration was used to record a test case this setting controls the simulated network con nection For example if the Speed parameter is set to 128 Kbps that means the peak data transfer by each individual simulated user will not exceed 131 072 bits per second 128 x 1024 This implies that if you recorded a business case over a local LAN playing that business case back at modem speeds will take much longer The implications of the effects of bandwidth can be studied by running a Baseline Per formance Report Sample Period The sample period is the length of time over which metrics will be sampled before saving the values For
345. urce Name Destination Field Name Type Add Web loginReturn ind Exact Match Rem Web Pesformance w w url Regular Expression W Baseline Report Browser Client Certificates Cloud Accounts Configuration Wizar Application State Detection Ru Dynamically Equivalent Fi Ignored Field Validation Rules Diagnostics Dialogs Experimental Optior _ Restore Defaults Apply ana 4 m When setting up a field name equivalency first choose the rule family that the equivalency should apply to for example JSON or XML This rule family is defined by the equivalency name family parameter of any RegExAssignmentDetector However itis not necessary to understand how assignment detectors in Load Tester work before using field name equivalencies The Source Name column describes the name of the data element as it appears in some response con tent To determine the correct value for this name you will need to examine the relevant transactions in the Content View The Destination Field Name column describes the name of the field as it appears in the Fields View If possible use an exact match equivalency When necessary equivalencies can also be written using reg ular expressions Regular expressions can be written with or without capture groups If capture groups are present then they must match but they may match in any order Field name equivalencies won t take effect until you re run the ASM wizard on each applica
346. urrent server configuration CPU m Server Color Type CPU Memory Disk Network Version 19 v 10 1 1 151 Advancec 8 0 5 0 3 5 6673 a Basic Advanced ag 1 30 2 2 Memory N 100 40 Add Remove Upgrade V Show live metrics ono oee When you open the Servers View you will be presented with a list of servers which are presently configured for monitoring The graph on the right side of the view displays information being actively observed from your server The check box next to the host name may be used to toggle whether or not the particular server is being actively monitored To start monitoring a new server you may need to first add the server to the view depending on the type of server monitoring you are using See the Basic Server Monitoring and Advanced Server Monitoring pages for more information To monitor a server during a load test be sure the server is selected via the check boxes in the view before starting the load test The following options may be used to manage the Server Monitoring configuration e Add Start monitoring a new server as described on the Basic Server Monitoring page e Remove Stop and remove the highlighted monitor s Additionally the following controls may be used to configure Server Monitoring Agents e Upgrade Upgrades the remote Server Monitor Agent to the same version being used by the con troller This operation will require that the agent application be quit and re opened on the
347. user state variable Step 2 Configure the Modifier In most cases Analyzer will automatically parse the fields submitted with each request and they will be vis ible in the Fields view Here is the TAG_ACTION field Fields in transaction Manuscript Central 2 Choose customization w Name Type PROXY_TO_DOCUMENT_TASK_ID FormField PROXY_TO_PAGE_NAME FormField PROXY_TO_ROLE_ID FormField SANITY_CHECK_DOCUMENT_ID FormField TAG_ACTION FormField LOGIN USER_EMAIL FormField Filter Ek Search Ek LJRE 38 Loaded 23 Shown 1 Selected Sort Name FWD Double clicking the field or choosing Edit from the pop up menu for the field will open the Field Editor dialog In this dialog selecta User Variable datasource for the field value and enter the name of the var iable as shown below Note that the variable name MUST be the same name used in the extractor configuration above Edit field Choose a datasource for the field TAG_ACTION Name Recorded Value LOGIN Value Datasource User State Variable name action After these changes are complete replay the testcase and verify that the new configuration changes have the intended effect If the testcase still generates errors be sure to verify that this particular field is now cor rect there are often multiple fields that need customization before arriving at a successful testcase Once you have determined that the manual conf
348. uthentication established prior to the start of monitoring For example browsing a network share on the server that requires authentication will usually establish the required permissions The direct windows monitoring is the equivalent of using the Windows Performance Monitor perfmon exe to monitor the Committed Bytes In Use counter of the Memory performance object on the remote server UNIX server with Java based application server Install the WPIMonitor war file in your server in the usual deployment folder It will install a servlet named Monitor in the path WP IMonitor monitor note the WPIMonitor war file can be found in the product installation folder If necessary you may modify the deployment descriptor for the serviet as necessary for your environment However if you change the path required to access the monitoring servlet then you must configure the mon itoring within Web Performance Load Tester as a custom script installation and provide the full URL to the Monitor servlet Custom monitoring server script Web Performance can monitor any server via HTTP if a customized script is developed to return the server CPU and memory in the supported format The following plain text content format is supported MIME type text plain version 1 CPU S nnn memorys nnn After writing and testing your script enter the URL of the script into the URL field of the configuration dialog Advanced Server Analysis To take ad
349. valid name and executable in the lower right portion of the page To save the new con figuration select the Apply button Note Automatic configuration of the proxy settings are only provided for the auto detected browsers For cus tom browsers the proxy configuration must be performed manually prior to recording and the recording ports must be specified on the Web Performance Preference Page For more information on configuring a custom browser see the Manual Browser Configuration FAQpage Modifying an existing browser To change an existing browser select the browser in the list The lower right portion of the page displays the editable information Make the changes as needed and select the Apply button At any time before Apply is selected the original information can be restored by selecting the Restore Defaults button Cache and Cookies options The browser s cookies and cache must be cleared prior to initiating recording and restored shortly after wards If this is not done the recording would reflect the state of the browser s cache For example cached pages or images might never be requested from the server which would result in a recording that did not reflect the true content of a web page When Internet Explorer or Firefox are automatically detected Web Performance Load Tester will by default automatically clear the cache and cookies before each recording Use the Clear Cache and Clear Cookies checkboxes to enable or disabl
350. vantage of the Advanced Server Analysis the Web Performance Server Monitoring Agent must be installed on your server The agent will collect performance data from your server while a load test is run ning Most configuration of the server monitoring agent is performed through the Web Performance Load Tester controller Generally once the server and controller have been started an entry for the server will appear in the Servers View of Web Performance Load Tester The Server Monitor agent will collect extended metrics for Windows Linux and AIX servers with minimal configuration overhead Installing the Agent To install the Server Monitoring Agent first download a copy of the installer appropriate for the platform of the server from www webperformance com The installer should then be run on each server that will be mon itored during the test On Windows platforms a GUI will lead the user through the installation process For Unix systems the installer will run on the command line For example chmod x ServerAgent_Linux_4 2 bin ServerAgent_Linux_4 2 bin Silent and Scripted Installations The Server Agent can be installed silently by adding the argument i silent to the command line For exam ple ServerAgent_Linux_4 2 bin i silent This will install the server agent with default settings Alternatively the installation may be customized by cre ating a plain text file named installer properties located in the same direc
351. vious visits you should 1 Turn off cache and cookie clearing for the selected browser 2 Start the browser and perform the initial visit to pre load the browser cache 3 Record the testcase 4 Reset the cache cookie browser settings if applicable Note that depending on the browser settings and cache behavior a resource that is re used between pages may still be requested multiple times When the browser is expecting to use the cached version it will make a request with an if modified since header If the resource has not changed the server will respond with a 304 status Not Modified Javascript AJAX frameworks may issue multiple requests for resources com pletely ignoring the browsers cache Some testcases may require more advanced handling of the if modified since dates To turn on dynamic handling of these headers go to the testcase properties Edit gt Properties and select the option on the Restart Options tab Note that this is only required if last modified dates of resources are expected to change between the time the testcase is recorded and replayed Load Testing FAQs Q During a load test see many of these errors Unable to establish a connection to the server What does this mean A It means that the Virtual User failed to connect to the target server when initiating a request for a URL If it happens with only a single user running then it could be a network or DNS problem If the error does not occur at the be
352. webperformanceinc comfimages download_anl gif webperformanceinc com 80 receiving 33 http webperformanceinc comfimages4 analyzer_sm jpc counter2 hitslink com 80 idle 3 http fcounter2 hitslink com statistics asp v 18s 207 amp gt l Connections Datasets A detailed log of the replay is available in the Event Log view Phase Three Large Scale Tests Phase Three Testing Procedure Phase 3 Full Scale Load Testing A full scale load test consists of generating an increasing number of virtual users while measuring both client and server side metrics The result is a set of metrics that can be used to estimate the capacity of the system under test and point the way to look for performance improvements This stage can be repeated as necessary as changes are made to the system under test One area of interest is performance enhancement and code tweaking While our performance testing con sultants can suggest places to look for improvement however individual systems require the appropriate domain experts For example an Oracle DBA would be required to tweak the performance of stored pro cedures while a NET performance expert would be required to profile and modify NET code Prerequisites How Many Users to Simulate A description of the load to generate must include how many users to start with how many users to add in each time interval and the end testing goal Example The test will start with 50 users and add 25
353. xi type filter text Ignored Fields 4 k ie I dN Install Updat v Ignored Names hoped Fields with the following names will be automatically ignored by the 45M Wizard Web Performance Baseline Report Field Names PTA Browser submitaction Client Certificates Configuration Wizards Application State Detection Rules Dynamically Named Fields Ignored Fields Remove Name Validation Rules Diagnostics File Upload wv Ignored Values E Usages of fields with the following values will be automatically omitted by the IP Aliasing ASM Wizard a Load Test Field values Add Value nextpage Load Test Report AES Performance Goals Proxies Recording Usage This page contains two lists one for omitting fields by name and one for omitting specific uses of a field by their value For example suppose your case contained a HTML fragment lt input name btnSubmit type Submit value submit gt This may result in a fixed value post being sent to your server btnSubmit submit You may always remove this value from the Application State Management Wizard manually or you could specify that this field always be automatically removed with either ignore list Ignored Names Ignored Values btnSubmit submit Be very careful not to include a blank entry unless you intend for the Wizard to treat blank values as fixed values as well The
354. y be used in one test case and not another then it may be necessary to customize a dataset to specify the subset of files that should be used Please see Create a new dataset for more information Creating a Modifier Once files have been successfully imported and a dataset prepared we will be ready to proceed to the Fields View to locate a file upload to be updated nm Headers Errors 5 Fields 3 gt gt Replay Actors 4 Search El Servers 4 Engines 2 Metrics E Content m Fields in web page Neevia com Online Document Converter Choose customization v Name Type Datasource Recorded Value Transaction Title jResolution FormField 300 Object moved 1 jRotate FormField PageByPage Object moved 1 myFile FileUpload Dl4aj a Object moved 1 Ol FormField sRGB Object moved 1 outF FormField PDF Object moved 1 ownerpwd FormField Object moved 1 il Filter Ek Search Ek CIRE 74 Loaded 45 Shown 1 Selected Sort Name FWD Editing a file upload field is similar to editing other fields The first step will be to configure the value which contains the file contents To use the files configured above for the content of the file upload choose a File upload datasource You will then have the opportunity to choose a source for the name of the file to use as the content By default Load Tester will select a Dataset source which is the most common method Then choose the dataset a
355. ying think time Mass editing the testcase Duration Status URL 00 00 453 200 a ht 00 03 031 200 a het Undo ube 00 03 688 200 6 htt Si Redo Giri 00 00 406 200 jj htt 00 02 969 200 6 htt of Cut Ctrl x To change the think time between web 00 00 406 200 fj htt Copy Ctrl C pages right click on the web page and 00 01 500 304 f htt By Pacts Cian select the Properties item Import gt Export gt Properties x Edit Web Page properties Edit the properties associated with the web page http issuetracker IssueTracker Issues IssueDetail aspx pid 1 The think time is modified by entering the Name Issue Tracker Issues 2 new value in the text field and pressing the OK button The timing change can also be applied to all web pages within the test T Apply think time to all web pages in the testcase case by checking the Apply change to all web pages item Think time SIUM R2 s MM SS MS m Performance Goal Use testase goal No goal Custom goal milliseconds cancel_ Mass Editing the testcase NOTE Mass editing of the proxy configuration via this feature is no longer needed To change the proxy used for a replay or the default proxy used for load tests simply change the selected proxy in the pref erences Window menu gt Preferences gt Web Performance gt Proxies gt Test Replay To change the proxy used for a specific load test configurati
356. ys the replays that have been performed for this testcase See the Replay selection section below for more details 12 Testcase Size Shows the total size of the testcase in bytes The tooltip shows the total number of pages and transactions 13 Testcase Total Page Duration Shows the total amount of time take to load all pages in the testcase during the recording 14 Testcase Duration Shows the total time in the recording including page load time and think time 15 Editor menu the pull down menu at the upper right corner of the Testcase Editor panel can be used to select comparisons configure the testcase for replay open the testcase report and modify the visible table columns Additionally the think time between web pages may be displayed See the section on Changing the visible columns for details Sorting The Testcase Editor s table allows the user to sort the information in each column by either clicking on the column header or selecting the sort button on the toolbar and choosing which column to sort Clicking the column header a second time or selecting the same column to sort reverses the sort direction On the first sort the title and URL columns are sorted alphabetically the status column is sorted lowest to highest and the duration and size columns are sorted highest to lowest When a column is sorted the transactions within each page are also sorted according to the sort selection peo el 4 EY Be g Sort by
Download Pdf Manuals
Related Search
Related Contents
SIMATIC HMI ProTool Progettazione di apparecchiature grafiche User manual - Global Game home controller livre rouge.indd Clarke Encore L26 User's Manual Operating Instructions - Manuals, Specs & Warranty HP LaserJet M1319 MFP Getting Started Guide – XLWW ガソリン計量機の「標準使用期間」について Samsung 720B Bruksanvisning 311644D, Automatic XT Spray Guns, Japanese Copyright © All rights reserved.
Failed to retrieve file