默认情况下,asp 禁用浏览器和代理中的缓存。这将很有意义,因为 ASP 生来就是动态的,具有潜在地对时间敏感的信息。如果有一个不需要对每次查看进行刷新的页,则应该启用浏览器和代理缓存。这使得浏览器和代理能在某一段时间内,使用某一页的缓存副本,这时间的长短可以控制。缓存能明显减轻服务器负荷,使用户的感受好一些。
Response.Redirect 通知浏览器,请求一个不同的页面。该函数经常用于重定向用户到登录或错误页面。既然重定向强制一个新页请求,浏览器就必须做两次到 Web 服务器的往返,而且 Web 服务器必须处理额外的请求。IIS 5.0 引入一个新的函数,Server.Transfer,该函数执行传送到相同服务器上的不同 ASP 页。这样避免了额外的、从浏览器到 Web 服务器的往返,从而改善了整体系统性能,同时改善了对用户的响应时间。请查看重定向中的新方向(英文),它讨论了 Server.Transfer 和 Server.Execute。
也可以查看Leveraging ASP in IIS 5.0中有关 IIS 5.0 和 ASP 3.0 新功能的完全列表。(英文)
<a href="http://msdn.microsoft.com/workshop/" title="MSDN Web Workshop">http://msdn.microsoft.com/workshop</a>
它还适用于指向在 Web 站点主页的 URL:请使用下面的: <a href="http://msdn.microsoft.com/">,不要用 <a href="http://msdn.microsoft.com">.
技巧 24:避免使用服务器变量
访问服务器变量将引起 Web 站点向服务器提出特殊的请求,然后收集所有的服务器变量,并不止是需要的那个。这好像从发霉的阁楼中的文件夹中检索某条特殊的信息一样。当想要某条信息时,在访问该信息之前必须先上阁楼取得文件夹。这与请求服务器变量时,性能访问出现第一次请求服务器变量所发生的一样。后续的对其他服务器变量的访问不会引起性能访问。
如上所述,性能是一种指标。如果您正努力改进站点的性能,请先设置性能目标,然后提高性能直到达到目标为止。请不要将所有的性能测试放在项目的最后。往往到了项目的最后,再做非做不可的体系结构改动已为时太晚,并使客户失望。性能测试是日常测试的一部分。性能测试可以针对独立组件进行,例如 ASP 页面或 COM 对象,也可以将站点作为一个整体进行。
许多人使用单一的浏览器请求页面来测试他们 Web 站点的性能。这将使您对站点的响应有很好的感觉,但对于站点在有负荷下的性能却一无所知。
通常,要准确地测量性能,需要专用的测试环境。这个环境应该由那些,在处理器速度、处理器个数、内存、硬盘、网络配置等方面,能模拟产品硬件的硬件组成。然后,需要定义客户端的工作负荷:有多少并发用户;他们提出请求的频率;他们将访问的页面类型等等。如果您无法从站点获得实际的使用数据,则需要估计它们。最后,需要一个能模拟预期客户端工作负荷的工具。在这些工具的帮助下,可以开始回答一些问题,例如,如果我有 N 个并发用户,需要多少台服务器?您还能找出瓶颈和优化的目标。
下面列出了一些好的 Web 强度测试工具。极力推荐“Microsoft Web 应用程序强度测试 (WAS)”工具包。WAS 允许记录测试脚本,然后模拟成百或上千个访问 Web 服务器的用户。WAS 报告大量统计结果,包括每秒请求数、响应时间的分布和错误计数。WAS 具有增强客户端和基于 Web 的接口;Web 接口允许进行远程测试。