Category: Education

Presentation Description

No description available.


Presentation Transcript

Web Stress Testing : 

Web Stress Testing Matt Odhner Program Manager Application Center Microsoft

Topics to be Covered : 

Topics to be Covered Important web hosting statistics What stress testing solves & common stress testing issues Web Application Stress tool demonstration Understanding the report data What a commercial stress tool needs Application Center Test (ACT) demonstration Visual Studio integration The importance of bandwidth testing Other ACT features Capacity planning

Slide 3: 

Popular web sites receive over 40,000,000 requests per day Web hosting is expected to be a $14.6 billion industry by 2003 Newport Group study revealed 52% of web applications failed to scale, 60% had no performance testing, only 25% used a testing tool Zona Research found that $4 billion a year is lost due to slow and failed web pages Web Hosting Statistics

Slide 4: 

Stability issues - unexpected downtime and poorly written COM objects Performance problems – locate bottlenecks and whether the application will handle peak loads Capacity planning - how many machines are needed to support usage Plus, it avoids financial losses and ensures customer satisfaction Stress Testing Solves …

Slide 5: 

Memory Processor Network Hard disk COM component Stress Testing Locates Bottlenecks

Slide 6: 

Invalid test platform Invalid script Thread safety issues with unstable server COM components Active Server Page script errors and GLOBAL.ASA issues Insufficient processor power and/or scripts are too complex for the hardware Common Stress Test Issues

Slide 7: 

Web server Member Stress Client Controller Stress Client Member Stress Client Traditional Test Bed

Approaches to Stress Testing : 

Approaches to Stress Testing Confirm that the application functions under load Find the maximum requests per second my application can handle Determine the maximum number of concurrent connections my application can handle Test the application with x number of unique users

Slide 9: 

Scripts view - create, edit, delete, and run stress scripts. Creating the Script

Creating the Script (cont’d) : 

Creating the Script (cont’d) Record using your browser – this method is recommended because all page elements are captured.

Slide 11: 

Concurrent browser connections Script Configuration - Settings

Slide 12: 

Users view - manage user names and passwords. Script configuration - Users

Slide 13: 

Clients view - add and remove the client machines used to stress the web server(s) Script Configuration - Clients

Slide 14: 

Script item details – modify query string, edit POST data, use SSL, query RDS. Script Configuration - Script Item Details

Performance Monitor Data : 

Performance Monitor Data Collect performance monitor counters from within the tool

Slide 16: 

Sub AddNewScript() Set objWAS = CreateObject("WAS.EngControl.1") Set objScripts = objWAS.Scripts Set objScript = objScripts.Add objScript.sName = "A New Script" objScript.ScriptItems.sServer = "www.targetserver.com" MsgBox "The new ScriptID is " & objScript.ScriptID End Sub Scriptable Object Model

Slide 17: 

=h= Selected new user: User2, password, ASPSESSIONIDGQQGQNYG=MPBBLMOAFBPBPDFAJLMCCFCO; Account=6001 =h= closed socket =h= linger is on, linger timeout is 0 =h= connected to the server. =h= sending request to server (470 bytes) GET /fmstocks/_NewAccount.asp HTTP/1.1 Host: localhost Session Trace Option

Slide 18: 

ASP Client

Slide 19: 

Reports view - analyze the results of a test. Reports – Tabular Report Data

Slide 20: 

Request Time To First Byte Time To Last Byte Response 0 ms 9 ms 6 ms Time to First and Last Byte

Slide 21: 

MHz Cost = N * S * avg (Pt) / avg(Rps) Where: N = Number of Processors S = Speed of Processors Pt = System: % Total Processor Time Rps = ASP: Requests per secondReports view - analyze the results of a test. Calculating ASP Performance

Slide 22: 

Example: a test using a 2 processor web server achieved 350 requests per second, with the processors 70% utilized. So, this works out to … 2 processors * 400 MHz => 800 MHz 70% processor utilization => (800) * (0.70) => 560 MHz used 350 ASP requests per second 560/350 => 1.6 million cycles per ASP request Calculating ASP Performance

Slide 23: 

Designed to meet internal test needs http://webtool.rte.microsoft.com contains: Searchable knowledge base Tutorial of main features Latest download Object model sample scripts Peer support on the discussion alias: webtool@microsoft.com Online help contains samples The tool respects ROBOTS.TXT More About Web Application Stress Tool

Slide 24: 

All of the features in Web application Stress, Plus: Accurate simulation of client connection speeds Running a script a specific number of iterations Testing of servers in multiple domains Handle complex applications that require conditional responses Capable of changing subsequent requests based on the response of a previous request Functional and performance testing In-depth reporting and troubleshooting What is Needed in aCommercial Stress Test Tool?

MicrosoftApplication Center Test : 

MicrosoftApplication Center Test

Slide 26: 

Integration with Visual Studio IP router technology Data collector to replay actual web site traffic Completely scriptable, even as the test is running Graphical and tabular reporting Capacity planning Can import Web Application Stress scripts Significant Features

Slide 27: 

1. Visual Studio Integration

Visual Studio Integration (cont’d) : 

Visual Studio Integration (cont’d)

Slide 29: 

58% of web site users said download speed was a primary factor that influences them to return to a site (Forrester Research) Web surfers give a site about 10 to 15 seconds to display before they hit the stop button and go to a different site Bandwidth is not expected to improve soon Chart shows forecast for the year 2003 Bandwidth Statistics

Slide 30: 

Client computers Web farm T1 56 K T3 28.8 2. IP Router Technology

Slide 31: 

ACT Local Area Network Web cluster Delay prior to sending each packet so that1,588 bits per second is maintained IP Router Technology (cont'd)

Slide 32: 

IP Router Technology (cont'd)

Slide 33: 

Client computers Internet traffic Replays exact traffic 3. Data Collector

Slide 34: 

If IsObject(Session) = False Then Set Session = CreateObject("ACT.Session") End If Set oRequest = Session.CreateRequest oRequest.Path = "/samples/cookie.asp" oRequest.Headers.Add "Connection", "Close" oRequest.Headers.Add "Cookie", "FirstName=Matt&Lastname=Odhner" Set oConnection = Session.CreateConnection("MATTOD15") Set fs = CreateObject("Scripting.FileSystemObject") Set writeToFile = fs.OpenTextFile("c:\test.txt", 8, TRUE) thePath = oRequest.Verb & " " & oRequest.Path & " " & _ oConnection.Send(oRequest).ResultCode & chr(13) & chr(10) writeToFile.Write thePath writeToFile.Close 4. Completely Scriptable

Reporting - Tabular Reports : 

Reporting - Tabular Reports

Slide 36: 

Reporting - Connections vs. TTFB & TTLB

Slide 37: 

Reporting - Comparing Scripts

Slide 38: 

6. Capacity Planning 1. Manual capacity planning

Slide 39: 

Web cluster Internet Filter Filter Filter Capacity Planning (cont'd) 2. Historical capacity planning

Slide 40: 

Client computers Web farm Capacity Planning (cont'd) 3. Calibrated capacity planning

Slide 41: 

Summary Web Stress tools give answers to the problems of Web application stress, via: Modeling Prediction Identification of bottlenecked resources Provision of performance Metrics to help developers decide what content to deploy So - employ one today to improve your web application's performance!

Slide 42: 

http://www.microsoft.com/TechNet/iis/sol.asp http://msdn.microsoft.com/library/techart/windnami stakes.htm http://msdn.microsoft.com/workshop/server/asp/server102599.asp http://msdn.microsoft.com/workshop/server/asp/server092799.asp http://msdn.microsoft.com/workshop/server/asp/server122799.asp http://www.microsoft.com/siteserver/commerce/support/highcapacity.htm Resources - Further Reading

Slide 43: 

Resources - Other Web Stress Tools Available Mercury Interactive, Loadrunner/Winrunner - http://www.merc-int.com/products/ Radview, Webload - http://www.radview.com/webload/ RSW, eLoad - http://www.rswsoftware.com/ Segue, Silkperformer - http://www.segue.com/html/s_solutions/silk/s_performer.htm Bluecurve, Dynameasure - http://www.bluecurve.com/products/products.htm Rational, Rational Suite / PerformanceStudio - http://www.rational.com/products/rs/pstudio/index.jtmpl

Questions? : 

Questions? Matt Odhner Program Manager Application Center Microsoft

authorStream Live Help