Training
Certifications
Books
Special Offers
Community




 
Performance Testing Microsoft® .NET Web Applications
Author Microsoft ACE Team
Pages 320
Disk 1 Companion CD(s)
Level All Levels
Published 10/02/2002
ISBN 9780735615380
Price $39.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Index


Send feedback about this index to mspindex@microsoft.com

A
ACT. See also bottlenecks; stress tests
   core concepts
      authentication and encryption, 36-38
      concurrent users and simultaneous browser connections (SBCs), 33-34
      cookies, 35
      dynamic tests, 32
      headers, 35
      parsing ViewState, 39-40
      protecting Web sites from inadvertent stress testing, 40
      Secure Sockets Layer (SSL), 38
      SOAP, 38-39
      users and groups, 34
   creating test scripts
      analyzing recorded test scripts, 49
      debugging, 57-58
      introduced, 44-45
      load clients and, 58-60
      manually, 49-52
      recording test scripts, 45-48
      script modification, avoiding record and playback, 56-57
      setting test properties prior to script playback, 54- 56
      stressing the SQL tier, 52-54
      verification, 58
   defined, 30
   executing performance/stress tests
      creating a controlled environment, 62
      introduced, 60-62
   installing, 30-32
   introduced, 40-41
   user interface overview
      introduced, 41-42
      Results node, 43
      Tests node, 42
      Users node, 44
ActiveX Data Objects (ADOs), 52
ADO.NET
   performance tuning tips
      ExecuteNonQuery method, 152
      ExecuteReader method, 153-54
      ExecuteScalar method, 153
      ExecuteXMLReader method, 154-55
      introduced, 149-50
      SqlCommand object, 151-52
      SqlConnection object, 150-51
   resources, 126
ADOs (ActiveX Data Objects), 52
alerts, 89-94
analytical modeling, 255-56
anonymous authentication, 37
AppDomains, 166
Application Center Test
   core concepts
      authentication and encryption, 36-38
      concurrent users and simultaneous browser connections (SBCs), 33-34
      cookies, 35
      dynamic tests, 32
      headers, 35
      parsing ViewState, 39-40
      protecting Web sites from inadvertent stress testing, 40
      Secure Sockets Layer (SSL), 38
      SOAP, 38-39
      users and groups, 34
   creating test scripts
      analyzing recorded test scripts, 49
      debugging, 57-58
      introduced, 44-45
      load clients and, 58-60
      manually, 49-52
      recording test scripts, 45-48
      script modification, avoiding record and playback, 56-57
      setting test properties prior to script playback, 54-56
      stressing the SQL tier, 52-54
      verification, 58
   defined, 30
   executing performance/stress tests
      creating a controlled environment, 62
      introduced, 60-62
   installing, 30-32
   introduced, 40-41
   user interface overview
      introduced, 41-42
      Results node, 43
      Tests node, 42
      Users node, 44
Application Expert
   bounce diagram, 116-17
   conversation map, 115-16
   interpreting network captures
      calculating data transferred, 120
      counting network round trips, 120-21
      identifying application processing delays, 121-22
      introduced, 119-20
      predicting response times, 122-23
   introduced, 115
   packet trace view, 118
   Response Time Predictor tool, 118-19
   thread analysis, 117-18
application network analysis. See also Application Expert; Network Monitor
   data transferred, 99-102
   introduced, 95-96
   network latency, 96-98, 123
   network round trips, 98-99
   processing delay, 102-4
   response times, 97, 104-5, 123
   user scenarios, 105-6
application state, 145
AppMetrics
   Diagnostics Monitor (pre-production monitoring), 185-87
   introduced, 184
   Manager and Agent Monitors, 184-85
   Production Monitor, 187-90
architectural considerations
   Indy what-if scenario, 273
   performance modeling and, 254
ASCX file extension, 127
ASMX file extension, 127
ASP.NET
   authentication, 127-28
   caching
      caching API, 148-49
      fragment caching, 148
      introduced, 146-47
      output caching, 147-48
   configuration files, 128-30
   counters, 143-45
   file extensions, 126-27
   resources, 126
   tracing
      application-level, 139-40
      identifying problem code in ASPX pages, 140-42
      introduced, 137-38
      page-level, 139-40
      traditional ASP pages, 138
ASPX file extension, 127
ASPX pages, identifying problem code, 140-42
assemblies, 164
authentication
   anonymous, 37
   basic, 37, 127
   digest, 37, 127-28
   form-based, 128
   integrated Windows (NTLM), 36-37, 128
   Passport, 37-38, 128
   Windows-based, 127-28
automatic memory management. See garbage collection in CLR

B
backend activity profile, 23-24
basic authentication, 37, 127
blocking problems
   articles, 206
   deadlocks, 205-6
   identifying blocking connections, 201-3
   introduced, 200
   locks, 203-4
bottlenecks. See also ACT; stress tests
   backend performance, 24
   disk, 82-85
   identifying, 14-15
   Indy what-if scenario, 272
   memory, 86-88
   performance modeling for, 254
   processor, 77-80
   SQL tier. See also blocking problems; index tuning
      introduced, 192-93
      SQL Profiler, 193-98
      SQL Query Analyzer, 199
      System Monitor, 198-99
   Web tier
      disabling SSL, 158
      introduced, 155-56
      limiting images, 157
      limiting page size, 156-57
      naming conventions, 157
      trying new features, 158
bounce diagram (Application Expert), 116-17
Browse.vbs script, 50-52

C
Cache object, 147, 148-49
capacity planning. See TCA
capture buffers, 108
capture filters, 107-8
catching exceptions, 171
CLR
   introduced, 163
   Just-in-Time Compiler (JIT), 164-65
   load time, AppDomains, 166
   Microsoft Intermediate Language (MSIL), 164
   performance and, 163-66
   Pre-JIT, 165-66
   run-time
      exceptions, 171-72
      garbage collection. See garbage collection in CLR
      interoperability, 166-67
clustered indexes, 222-29
common language runtime. See CLR
Compuware Application Expert
   bounce diagram, 116-17
   conversation map, 115-16
   interpreting network captures
      calculating data transferred, 120
      counting network round trips, 120-21
      identifying application processing delays, 121-22
      introduced, 119-20
      predicting response times, 122-23
   introduced, 115
   packet trace view, 118
   Response Time Predictor tool, 118-19
   thread analysis, 117-18
Compuware DevPartner Studio
   distributed applications and, 182-83
   effective performance analysis for .NET, 183-84
   introduced, 179
   profiling
      introduced, 180
      Method Details window, 182
      Session window, 180-81
      Source Code window, 181
concurrent users
   concurrent server request processing, 233
   introduced, 232-33
   TCA concurrent users, 233
conversation map (Application Expert), 115-16
conversion deadlocks, 205
cookies, 35
counters
   alert, 90-91, 92
   ASP.NET, 143-45
   characteristics, 67
   color, 66
   defined, 63
   disk, 82-83
   IIS, 142-43
   introduced, 63-64
   memory, 86-88
   multiprocessor computer, 79
   .NET
      introduced, 172-73
      .NET CLR Exceptions object, 177-78
      .NET CLR Loading object, 175-76
      .NET CLR LocksAndThreads object, 176-77
      .NET CLR Memory object, 173-75
      .NET CLR Security object, 178-79
   Processor object, 78-79
   scale, 67
   SQL server, 198-99
   system, 80-82
CS file extension, 127
cyclical deadlocks, 205

D
data transferred, 99-102, 120
DBCC DROPCLEANBUFFERS command, 213
DBCC FREEPROCCACHE command, 213
DBCC SHOWCONTIG command, 223-25
deadlocks, 205-6
delays, processing, 25-26, 102-4, 121-22
DevPartner Studio
   distributed applications and, 182-83
   effective performance analysis for .NET, 183-84
   introduced, 179
   profiling
      introduced, 180
      Method Details window, 182
      Session window, 180-81
      Source Code window, 181
digest authentication, 37, 127-28
disk architecture and performance, 85
disk bottlenecks, 82-85
disk counters, 82-83
dynamic tests, 32

E
exceptions
   catching, 171
   CLR, 171-72
   performance and, 172
   System.DivideByZeroException, 171
   System.FileNotFoundException, 171
   System.OutOfMemoryException, 169
   throwing, 171, 172
   in unmanaged code, 172
ExecuteNonQuery method, 152
ExecuteReader method, 153-54
ExecuteScalar method, 153
ExecuteXMLReader method, 154-55
Extensible Markup Language (XML), 6

F
FILLFACTOR option, 223-26
finalization, 170
finally block, 171
fn_trace_gettable function, 197
form-based authentication, 128

G
garbage collection in CLR
   differences between workstation and server GC, 170
   finalization, 170
   generations and promotion, 167-69
   introduced, 167
   pinned objects, 167, 169
generations of objects, 167-69
GetNextUser method, 55
Global.asax file, 127

H
hardware configuration and performance modeling, 254
hits, 23
HTTP status codes, 136-37

I
IIS
   counters, 142-43
   log files
      formats, 131-34
      identifying problem pages, 135-37
      introduced, 131
   resources, 126
   tier capacity. See TCA
index tuning
   analyzing execution plans
      additional tuning information, 212-14
      introduced, 207
      populating data, 207-9
      viewing execution plans, 210-12
   choosing indexes
      clustered indexes, 222-29
      introduced, 215
      nonclustered indexes, 215-22
   introduced, 207
   understanding indexes, 214-15
Index Tuning Wizard, 228-29
indexed views, 226-28
Indy
   architecture
      front-end EXEs, 260-61
      hardware DLLs, 260
      interface definitions, 260
      introduced, 259
      kernel, 260
      workload DLLs, 260
   concepts, 258-59
   IndyView interface
      IBuySpy search transaction, 264-71
      system topology, 261-63
   introduced, 258
   TCA vs., 271
   what-if scenarios
      architectural improvements, 273
      bottleneck analysis, 272
      introduced, 272
Insert method, 149
integrated Windows (NTLM) authentication, 36-37, 128
Internet Information Server
   counters, 142-43
   log files
      formats, 131-34
      identifying problem pages, 135-37
      introduced, 131
   resources, 126
   tier capacity. See TCA

J
JIT (Just-in-Time Compiler), 164-65

L
latency, network, 96-98, 123
load balancing
   hardware-based, 160-61
   software-based, 160
load testing. See stress tests
locks, 203-4

M
Main subroutine, 49
managed code. See AppMetrics; CLR; DevPartner Studio
manifests, 164
memory bottlenecks, 86-88
memory counters, 86-88
memory leaks, 25, 86-88
memory management, automatic. See garbage collection in CLR
metabase settings, 101
Microsoft Application Center Test
   core concepts
      authentication and encryption, 36-38
      concurrent users and simultaneous browser connections (SBCs), 33-34
      cookies, 35
      dynamic tests, 32
      headers, 35
      parsing ViewState, 39-40
      protecting Web sites from inadvertent stress testing, 40
      Secure Sockets Layer (SSL), 38
      SOAP, 38-39
      users and groups, 34
   creating test scripts
      analyzing recorded test scripts, 49
      debugging, 57-58
      introduced, 44-45
      load clients and, 58-60
      manually, 49-52
      recording tests scripts, 45-48
      script modification, avoiding record and playback, 56-57
      setting test properties prior to script playback, 54- 56
      stressing the SQL tier, 52-54
      verification, 58
   defined, 30
   executing performance/stress tests
      creating a controlled environment, 62
      introduced, 60-62
   installing, 30-32
   introduced, 40-41
   user interface overview
      introduced, 41-42
      Results node, 43
      Tests node, 42
      Users node, 44
Microsoft Intermediate Language (MSIL), 164
Microsoft Network Monitor
   capturing network traffic
      capture structure, 114-15
      introduced, 112-14
   configuring settings, 107-9
   environment setup, 109-12
   Full version, 107
   introduced, 106-7
   Lite version, 107
   MAC address and IP address setup, 107
Microsoft Passport
   authentication, 37-38, 128
   introduced, 8
Microsoft Transaction Cost Analysis
   benefits, 234-35
   capacity planning approach, 231-32
   concurrent users
      concurrent server request processing, 233
      introduced, 232-33
      TCA concurrent users, 233
   five-step methodology
      introduced, 235-36
      step 1, creating a user profile, 237-38
      step 2, stress testing for user operation costs, 238- 41
      step 3, calculating the cost per user operation, 241- 45
      step 4, estimating site capacity, 245-47
      step 5, verifying site capacity, 247-48
   Indy vs., 271
   introduced, 231-32
   performance modeling vs., 271
   predicting and evaluating performance, 252
   Shop.Microsoft.com analysis, 235
MSIL (Microsoft Intermediate Language), 164
multiprocessor computer counters, 79

N
.NET. See also Web services
   counters
      introduced, 172-73
      .NET CLR Exceptions object, 177-78
      .NET CLR Loading object, 175-76
      .NET CLR LocksAndThreads object, 176-77
      .NET CLR Memory object, 170, 173-75
      .NET CLR Security object, 178-79
   platform, 4-6
   standard protocols, 6-7
   Universal Description, Discovery, and Integration (UDDI), 7
   Web Service Description Language (WSDL), 7
.NET CLR Exceptions object, 177-78
.NET CLR Interop object, 167
.NET CLR Jit object, 165
.NET CLR Loading object, 175-76
.NET CLR LocksAndThreads object, 176-77
.NET CLR Memory object, 170, 173-75
.NET CLR Security object, 178-79
.NET managed code. See AppMetrics; CLR; DevPartner Studio
.NET Passport, 8
network latency, 96-98, 123
Network Load Balancing (NLB), 160
Network Monitor
   capturing network traffic
      capture structure, 114-15
      introduced, 112-14
   configuring settings, 107-9
   environment setup, 109-12
   Full version, 107
   introduced, 106-7
   Lite version, 107
   MAC address and IP address setup, 107
network round trips, 98-99, 120-21
NLB (Network Load Balancing), 160
nonclustered indexes, 215-22
notification alerts, 89-94
NTLM (integrated Windows) authentication, 36-37, 128

O
OrdersList stored procedure, 220-22

P
packet trace view (Application Expert), 118
page views, 23, 96
Passport
   authentication, 37-38, 128
   introduced, 8
pathping utility, 97
performance analysis
   analyzing results
      identifying performance bottlenecks, 14-15
      introduced, 13-14
      verifying performance tuning results, 15
   methodology cycle, 12
   planning, 12-13
performance goals
   computer interaction behavioral patterns, 10-11
   identifying
      introduced, 18
      performance growth analysis, 20-21
      response time acceptability goals and targets, 18- 19
      throughput goals and concurrent user targets, 19- 20
   introduced, 9-10
performance growth analysis, 20-21
performance metrics, 24-26
performance modeling
   advanced, 252-53, 257
   introduced, 251-52
   methods
      analytical modeling, 255-56
      introduced, 255
      simulation modeling, 257
      statistical modeling, 256
   predicting and evaluating performance through TCA, 252
   scenarios
      architectural assessment, 254
      bottleneck analysis, 254
      capacity planning, 254
      hardware configuration, 254
      introduced, 253
      user, 255
   TCA vs., 271
   tools, 258. See also Indy
Performance Monitor (Perfmon). See System Monitor
performance test plan, 27
performance testing. See also stress tests
   current and emerging architectures and, 3-4
   importance, 1-2
   mirroring the production environment, 26
   overview, 11-12
   Web services and, 9
performance tuning
   ADO.NET tips
      ExecuteNonQuery method, 152
      ExecuteReader method, 153-54
      ExecuteScalar method, 153
      ExecuteXMLReader method, 154-55
      introduced, 149-50
      SqlCommand object, 151-52
      SqlConnection object, 150-51
   application and session state, 145-46
   caching in ASP.NET
      caching API, 148-49
      fragment caching, 148
      introduced, 146-47
      output caching, 147-48
   disabling ViewState, 149
   introduced, 145
   verifying results, 15
pinned objects, 167, 169
Pre-JIT, 165-66
processing delays, 25-26, 102-4, 121-22
processor bottlenecks, 77-80
Processor object counters, 78-79
processor-related problems and solutions, 79-80
ProductCategoryList_Recompile object, 203
production environment, mirroring, 26
ProductsMostPopular stored procedure, 210-11, 213- 14, 216, 218, 226-28
promotion of objects, 167-69

R
Remove method, 148
Response object, 57
Response Time Predictor tool (Application Expert), 118-19
response times
   acceptability goals and targets, 18-19
   application network analysis, 97, 104-5, 123
   computer interaction, 10-11
   predicting, 122-23
Response.End method, 138
Robots Exclusion Standard method, 40
round trips, network, 98-99, 120-21

S
SBCs (simultaneous browser connections), 33-34
Search_SQL.vbs script, 52-54
Search.vbs script, 45-48
Secure Sockets Layer
   disabling, 158
   introduced, 38
SendRequest# subroutine, 49
server capacity planning. See TCA
server errors, 25
server utilization, 25
session state, 145-46
Shop.Microsoft.com analysis, 235
simulation modeling, 257
simultaneous browser connections (SBCs), 33-34
Sleep method, 33-34
sleep times, user, 33-34
soak testing. See stress tests
SOAP, 38-39
sp_helpindex stored procedure, 217
sp_helptext stored procedure, 217, 220
spike testing. See stress tests
sp_lock stored procedure, 203, 204
sp_lock_verbose stored procedure, 203
SQL Profiler, 193-98
SQL Query Analyzer, 199
SQL server counters, 198-99
SQL tier
   bottlenecks. See also blocking problems; index tuning
      introduced, 192-93
      SQL Profiler, 193-98
      SQL Query Analyzer, 199
      System Monitor, 198-99
   introduced, 191-92
   resources, 192
   stressing, 52-54
SqlCommand object, 151-52
SqlConnection object, 150-51
SSL
   disabling, 158
   introduced, 38
statistical modeling, 256
STATISTICS TIME option, 212, 214
stress tests. See also ACT; bottlenecks; performance testing
   creating effective scripts, 13
   executing, 13
   hardware-based, 29-30
   protecting Web sites from inadvertent stress testing, 40
   purpose, 29
   software-based, 30
sysindexes table, 200
sysprocesses table, 201, 203, 204
system counters, 80-82
System Monitor
   collecting data, setting an interval, 69-70
   counters
      introduced, 142
      performance counters for ASP.NET, 143-45
      performance counters for IIS, 142-43
   introduced, 63-64
   logging and viewing logged data, 70-75
   monitoring objects, counters, and instances
      creating and configuring alerts, 89-94
      disk bottlenecks, 82-85
      introduced, 77
      memory bottlenecks, 86-88
      processor bottlenecks, 77-80
      processor-related problems and solutions, 79-80
      System object, 80-82
   monitoring remote computers, 76
   SQL tier bottlenecks, 198-99
   viewing real-time performance data
      chart view, 65
      graph view, 65-68
      histogram view, 68-69
      introduced, 65
      report view, 69
System object, 80-82
System.Diagnostics.PerformanceCounter namespace, 173
System.DivideByZeroException exception, 171
System.FileNotFoundException exception, 171
System.OutOfMemoryException exception, 169

T
TCA
   benefits, 234-35
   capacity planning approach, 231-32
   concurrent users
      concurrent server request processing, 233
      introduced, 232-33
      TCA concurrent users, 233
   five-step methodology
      introduced, 235-36
      step 1, creating a user profile, 237-38
      step 2, stress testing for user operation costs, 238- 41
      step 3, calculating the cost per user operation, 241- 45
      step 4, estimating site capacity, 245-47
      step 5, verifying site capacity, 247-48
   Indy vs., 271
   introduced, 231-32
   performance modeling vs., 271
   predicting and evaluating performance, 252
   Shop.Microsoft.com analysis, 235
Test object, 33, 34, 49, 55, 57-58
Test.CreateConnection method, 38
thread analysis (Application Expert), 117-18
Thread object, 67
throughput
   defined, 29
   goals and concurrent user targets, 19-20
throwing exceptions, 171, 172
throw-to-catch depth, 171, 172
TML (Transaction Modeling Language), 259, 264-66
Trace method, 57-58, 139-42
TraceLevel property, 57-58
Transaction Cost Analysis. See TCA
Transaction Modeling Language (TML), 259, 264-66

U
UDDI (Universal Description, Discovery, and Integration), 7
user activity profile, 22-23
User object, 51
user scenarios, 105-6
user sleep times, 33-34

V
VB file extension, 127
verification, 164
ViewState
   disabling, 149
   parsing, 39-40

W
W3C Extended Log File Format, 131-33
Web server testing. See stress tests
Web Service Description Language (WSDL), 7
Web services
   devices and demand, 8-9
   performance testing and, 9
   XML, 7-8
Web tier. See also ASP.NET; performance tuning
   ASP.NET tracing
      application level, 139-40
      identifying problem code in ASPX pages, 140-42
      introduced, 137-38
      page-level, 139-40
      traditional ASP pages, 138
   bottlenecks
      disabling SSL, 158
      introduced, 155-56
      limiting images, 157
      limiting page size, 156-57
      naming conventions, 157
      trying new features, 158
   defined, 125
   IIS log files
      formats, 131-34
      identifying problem pages, 135-37
      introduced, 131
   scaling
      how to scale, 160-61
      introduced, 158
      performance tuning, 159
      scaling down, 159
      scaling up, 159
      when to scale, 159-60
   System Monitor counters
      introduced, 142
      performance counters for ASP.NET, 143-45
      performance counters for IIS, 142-43
   understanding applications, 130
Windows-based authentication, 127-28
workload, 259
WSDL (Web Service Description Language), 7

X
XML (Extensible Markup Language), 6
XML Web services, 7-8
Xtremesoft AppMetrics
   Diagnostics Monitor (pre-production monitoring), 185-87
   introduced, 184
   Manager and Agent Monitors, 184-85
   Production Monitor, 187-90



Last Updated: September 17, 2002
Top of Page