终极优化:使用 IIS 5.0 调整 Web服务器的艺术与科学(8)_动易Cms教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!



调整 Web 应用程序

  IIS 5.0 对于服务静态 HTML 网页及配上默认的设置值基本就已足够了。假如您的站点主要是静态内容,则许多性能问题可能会与硬件有关。IIS 5.0 为 Web 应用程序提供不错的性能,但若想获得最佳的性能,还需要一些额外的调整。当然,不管服务器软件如何增强,与 Web 应用程序设计及程序代码有关的最佳经验方法的问题依然会存在。虽然本文没有试图讨论调整 Web 应用程序的细节,但本节仍提供一些使它们执行更快的指导及建议。在规划及测试您的 Web 应用程序时,请先考虑下列事项,然后再到实际联机运行的服务器上执行它们。

  第一,ISAPI 应用程序比 Active Server Pages (ASP) 应用程序执行得更快,虽然 ASP 的开发费用远比 ISAPI 低。这两种应用程序都比 CGI 应用程序执行得更快。

  第二,因为静态文件不会有动态文件才有的处理负载,或引起磁盘活动,所以您应该尽可能使用它们。除了使用静态文件外,您的应用程序应尽可能将处理负载推到客户端,以避免网络等待时间。如此也能节省服务器端的资源,并让更新在很段时间内完成。有个常用的范例是加一个客户端的小程序代码,来检查电子邮件地址组成是否正确。

  另一个技巧是确定在您的实际上线运行服务器上已关闭 ASP 的侦错功能。假如启用侦错,则必须将 AppAllowDebugging Metabase 属性设为 FALSE。相关信息,请参阅〈附录 1︰性能设置〉。

  尽可能地为所有图像及 HTML 设置「过期」标题,让它们可以存放在客户端的缓存中。相关信息,请参阅本文中的〈调整及疑难排除的建议〉小节。

  假如 Microsoft Visual Basic_ 对象是以 Apartment 线程处理的(非 Java 或大部分 C 对象),请从「ASP 应用程序及有效期」状态中删除它们。

  只有在必要时才使用 Secure Sockets Layer (SSL)。使用 HTTPS 通讯协议比使用标准 HTTP 贵很多。请确定传送中的信息 (可能是敏感资料如信用卡号) 的价值是否值得您付出增加的费用。安全性调整问题的相关信息,请参阅本文中的〈安全性〉小节。

  进程隔离也会影响 Web 应用程序的性能。IIS 5.0 Web 应用程序默认是在进程外的缓冲池 (中度保护) 中执行。接受进程隔离对性能的影响总比冒着服务器停机或资料遗失的风险来的安全,例如因应用程序当机而破坏它与 IIS 5.0 共享的 Ientinfo 进程时就会导致这些风险。有关这个主题的深入讨论,请参阅本文中的〈进程隔离〉小节。

  若要增进生产环境中的数据库驱动性能,请使用 Microsoft SQL Server。由于 IIS 及 SQL Server 在足够的内存下执行的情况最好,因此请尝试将资料库存放在不同于 Web 服务的服务器上。在这种情况下,经由网络跨计算机通讯通常比单一计算机上的通讯还快。当 SQL Server 及 IIS 存放在同一台服务器上时,就会经常因为内存不足或循环不够而导致性能降低。此外,请务必建立及维护适当的索引。如此才能最小化数据库查询的输入和输出。最后一点,请尽量多利用被存储的过程(stored procedured)。它们比设计来执行相同工作的 ASP 脚本文件所需的执行时间更少,而且更轻易撰写。

  一般来说,假如您有个超过 100 行 (使用 #include 指令来计算添加文件中的程序代码行数) 的 ASP 脚本文件,请考虑建立一个 COM 组件来提供相同的功能。假如能撰写得很有效率,并且经过正确地的测试,则 COM 组件可以为同一动态页提供 20 到 30 倍处理一个脚本文件的速度。使用 #includes 测量 ASP 脚本文件最简单的方式是将扩展名从 .asp 改为 .stm,并使用您的浏览器开启 .stm 檔。您的浏览器会显示此 .asp 文件,以及来自该已包含文件(included file)中的程序代码。

  若要最佳化动态网络应用程序的性能,很重要的一项工作是让您的应用程序正式在站点上启用前,先测试它们。执行这项工作有个很好用的工具--Web Application Stress (WAS) 工具,您可以从 Microsoft Web Application Stress Tool 站点 下载它。在这个站点上还包括专为此工具提供的教学指南及知识库。WAS 也内含在 Windows 2000 Resource Kit 附随 CD 上。本 CD 上亦有。

查看更多 动易Cms教程  动易Cms模板

来源:模板无忧//所属分类:动易Cms教程/更新时间:2005-03-30
相关动易Cms教程