ASP.NET 2.0 Performance Inspection Questions
From Guidance Share
- J.D. Meier, Srinath Vasireddy, Ashish Babbar, Rico Mariani, and Alex Mackman
Contents |
[edit]
Application State
[edit]
Caching
- Do you have too many variations for output caching?
- Could you use output caching?
- Is there static data that would be better stored in the cache?
- Do you check for nulls before accessing cache items?
[edit]
Data Access
[edit]
Data Binding
[edit]
Exception Management
- Have you implemented an error handler in Global.asax?
- Do you use try/finally on disposable resources?
- Does your code avoid exceptions?
[edit]
Machine.config
- Is the thread pool tuned appropriately?
- Is the memory limit configured appropriately?
- Have you removed unnecessary HttpModules?
[edit]
Pages
- Have you taken steps to reduce your page size?
- Is buffering disabled?
- Do you use Response.Redirect?
- Do you use Page.IsPostBack?
- Do you validate user input?
- Have you set Explicit and Strict to true?
- Have you disabled debugging?
- Have you disabled tracing?
- Do you set aggressive timeouts?
[edit]
Session State
- Do you disable session state when not required?
- Do you have pages that do not write to a session?
- Do you check for nulls before accessing items in session state?
- Do you store complex objects in session state?
- Do you store STA COM objects in session state?
[edit]
Threading
[edit]
Resource Management
- Do you explicitly close resources properly?
- Do you pool shared resources?
- Do you obtain your resources late and release them early?
- Do you transfer data in chunks over I/O calls?
[edit]
Server Controls
- Do you use server controls when you do not need to?
- Do you have deep hierarchies of server controls?
[edit]
String Management
- Do you use Response.Write for formatting output?
- Do you use StringBuilder to concatenate strings?
- Do you use += for concatenating strings?
[edit]
Unmanaged Code
- Have you enabled AspCompat for calling STA COM components?
- Have you enabled AspCompat for calling STA COM components?
- Do you use Server.Create object?
[edit]