技巧16:在任何可能时使用Server.Transfer,而不要用Response.Redirect
Response.Redirect告诉浏览器请求另一个不同的页面,这常常用于引导用户到登录页面或者出错处理页面。由于重定向强迫了一个新页面请求,结果是浏览器必须要与Web服务器循环2次,并且Web服务器必须处理一个额外的请求。IIS5.0引进了一个新功能Server.Transfer,它执行在同一服务器上的页面传输,这将避免额外的浏览器-Web服务器的数据循环,形成良好的系统性能,对于用户也有较好的响应时间。
技巧17:避免使用服务器变量
存取服务器变量导致Web站点建立一个特殊的请求并收集所有的服务器变量,而并不是你要求的那个变量。这类似于在文件夹中取回一个特殊的文件,要想取回一个文件,就得首先获取所在文件夹的信息。
不要存取非法的Request对象(比如Request("Data")),对于那些不在Request.Cookies、Request.Form、Request.QueryString或者Request.ClientCertificate中的项目,隐含就指向了Request.ServerVariables变量,而这些变量要比其他集合对象慢得多。
技巧18:调整Web服务器
有几个IIS调整参数可以提高站点性能。比如,对于IIS4.0,我们经常发现提高ASP ProcessorThreadMax参数能够产生重大的效果,特别是在那些要等待后台资源比如数据库或中间件产品的站点。在IIS5.0中,你可以发现调整ASP线程通道要比调整AspProcessorThreadMax效果更佳。
最佳的配置设定取决于应用程序代码、支持的硬件设备以及客户端的工作量。发现最佳配置的唯一方法就是测试。
相关参考资源
Optimizing ASP scripts
Developing Scalable Web Applications
Got Any Cache? by Nancy Winnick Cluts
Maximizing the Performance of Your Active Server Pages by Nancy Winnick Cluts
15 Seconds: Performance Section
Enhancing Performance in ASP - Part I by Wayne Plourde
When is Better Worse? Weighing the Technology Trade-Offs by Nancy Winnick Cluts
Speed and Optimization Resources by Charles Carroll
Tuning IIS
The Art and Science of Web Server Tuning with Internet Information Services 5.0
Leveraging ASP in IIS 5.0 by J.D. Meier
Tuning IIS 4.0 for High Volume Sites by Michael Stephenson
Tuning Internet Information Server Performance by Mike Moore
Navigating the Maze of Settings for Web Server Performance Optimization by Todd Wanke
Managing Internet Information Server 4.0 for Performance by Hans Hugli
ADO and SQL Server
Top Ten Tips: Accessing SQL Through ADO and ASP by J.D. Meier
Improve the Performance of your MDAC Application by Suresh Kannan
Pooling in the Microsoft Data Access Components by Leland Ahlbeck and Don Willits
SQL Server: Performance Benchmarks and Guides
Improving the Performance of Data Access Components with IIS 4.0 by Leland Ahlbeck
Microsoft Data Access Components (MDAC) and ActiveX Data Objects (ADO) Performance Tips by Leland Ahlbeck
Microsoft SQL Server 7.0 Practical Performance Tuning and Optimization - The Server Perspective by Damien Lindauer
Microsoft SQL Server 7.0 Practical Performance Tuning and Optimization - The Application Perspective by Damien Lindauer
Accessing Recordsets over the Internet by Dino Esposito
ASP components and threading models
ASP Component Guidelines by J.D. Meier
Q243548: INFO: Design Guidelines for VB Components under ASP
Threading Models Explained by Nancy Winnick Cluts
So Happy Together? Using ActiveX components with Active Server Pages by Nancy Winnick Cluts
Developing Active Server Components with ATL by George Reilly
Agility in Server Components by Neil Allain
Building High-Performance Middle-Tier Components with C++ by Jon Flanders
Active Server Pages and COM Apartments by Don Box
House of COM: Active Server Pages by Don Box
House of COM: Contexts by Don Box
House of COM: Performance Trade-offs of the Windows 2000 Component Execution Environment by Don Box
Building COM Components That Take Full Advantage of Visual Basic and Scripting by Ivo Salmre
Component Design Principles for MTS
Dictionary components
Creating a Page Cache Object by Robert Coleridge
Abridging the Dictionary Object: The ASP Team Creates a Lookup-Table Object by Robert Carter
Caprock Dictionary
Site Server Commerce Edition includes a dictionary component
Session state
Q175167: HOWTO: Persisting Values Without Sessions
Q157906: HOWTO: How To Maintain State Across Pages with VBScript
XML-based Persistence Behaviors Fix Web Farm Headaches by Aaron Skonnard
House of COM: Stateless Programming by Don Box
Performance and scalability
Blueprint for Building Web Sites Using the Microsoft Windows DNA Platform
Server Performance and Scalability Killers by George Reilly
Microsoft Visual Studio Scalability Center
Fitch & Mather Stocks 2000
Tuning the FMStocks Application
High-Performance Visual Basic Apps by Ken Spencer
Duwamish Books, Phase 4
Top Windows DNA Performance Mistakes and How to Prevent Them by Gary Geiger and Jon Pulsipher
Building from Static HTML to High-Performance Web-Farms by Shawn Bice
Tools
Microsoft Web Application Stress Tool
I Can? Stress It Enough -- Load Test Your ASP Application by J.D. Meier
Windows DNA Performance Kit
Monitoring Events in Distributed Applications Using Visual Studio Analyzer by Mai-lan Tomsen
Books
Professional Active Server Pages 3.0, Wrox Press. (Especially Chapter 26: Optimizing ASP Performance, by George Reilly and Matthew Gibbs)
Microsoft Internet Information Services 5.0 Resource Guide (bundled with Windows 2000 Server Resource Kit, Microsoft Press.
Microsoft Internet Information Server Resource Kit (for IIS 4.0), Microsoft Press.
Programming Distributed Applications with COM and Microsoft Visual Basic 6.0 by Ted Pattison, Microsoft Press.
Effective COM by Don Box, Keith Brown, Tim Ewald, and Chris Sells; Addison-Wesley.
Developing Web Usability: The Practice of Simplicity by Jakob Nielsen, New Riders.
ASP Web sites
Microsoft TechNet for IIS
LearnASP.com
4GuysFromRolla.com
15Seconds.com
AspToday.com
Asp101.com
AspLists.com. Many specialized mailing lists including:
Fast Code!
ASP Advanced
Not Newbie
State Management
Scalability
Visual Basic Components
XML
C++/ATL Component Building
UseIt.com: Web Usability
ASP style
ASP Best Practices by George Reilly
ASP Quick Lessons by Charles Carroll
Planning for ASP by John Meade
ASP Guidelines by J.D. Meier
XML
Inside XML Performance by Chris Lovett
Inside MSXML3 Performance by Chris Lovet
|