终极优化(4):使用IIS5.0调整Web服务器的艺术…

2008-04-09 03:58:32来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  进程隔离

  iis 4.0 介绍了在进程外执行 web 应用程序的概念。这个功能为 web 服务器建立了更高的稳定性,但也产生相当大的性能成本。在 iis 5.0 中,进程外(out-of-process)应用程序的性能已获得改善,尤其是对 aps 更明显。不过,相较于 iis 5.0 进程内(in-process)的应用程序,还是有些性能降级的现象。除了更高的性能外,在进程外(out-of-process)执行应用程序的概念也有所延伸。您现在可以在一个缓冲池的(pooled)进程外环境中执行 web 应用程序。

  在 web 服务进程中执行的应用程序 (inetinfo.exe) 能产生更高的性能,但是因不良应用程序而导致 web 服务无法使用的风险也更高。建议的设置是让 inetinfo.exe 在自己的进程中执行、让负担重要任务的应用程序在自己的进程中执行 (高度保护),并让剩余的应用程序在一个共享的缓冲池进程 (中度保护) 中执行。若要获得最佳性能和可靠性,请以中度保护执行 asp 应用程序,并将所有 com 组件设置为链接库应用程序,而非服务器应用程序。

  如果决定在单独的进程中执行您的应用程序,或在单一的进程中执行其它应用程序,则必须从 ][主目录] 或 [虚拟目录] 属性页上的 [应用程序保护]下拉列表中选取 [高 (隔离的)] 或 [中 (缓冲池的)]。您应先建立一个应用程序目录并将它指定为「主目录」或「虚拟目录」(如果尚未这样做的话)。所有新应用程序默认会以中度保护执行。

  这些注册表设置及 metabase 内容的相关信息,请参阅〈附录 1︰性能设置〉。本节中所提功能的相关信息,请参阅 iis 5.0 及 windows 2000 联机文档。

  调整及疑难排除的建议

  如果您判定需要处理特定硬件驱动的性能问题,请考虑使用下列建议。

  ·  升级到较大的「l2 缓存」。如果判定需要添加或升级处理器,请选择有大型 (l2) 缓存的处理器。例如 iis 等服务器应用程序可以从大型处理器缓存中获益,因为它们的指示路径牵涉到许多不同的组件,而且它们必须存取大量资料。若想提升执行 iis 5.0 的服务器的性能,建议您使用大量处理器缓存(如果是处理器外部的缓存,建议使用 2 mb 或以上,如果在 cpu 芯片上,则请使用可用的最大值)。

  ·  升级到更快的 cpu。网络应用程序特别能从更快的处理器获益。

  ·  设置「活动的连接超时时间」。若要尽可能地抵抗网络等待时间,请设置活动的连接超时时间。如果您执行的是高传输量的网站,这将是非常重要的。开启的连接会使性能降级。connectiontimeout metabase 内容默认会设为 15 分钟。此内容的相关信息,请参阅〈附录 1︰性能设置〉。

  ·  使用「过期标题」。在所有静态及动态内容上设置「过期」标题,让这两种内容可以存放在客户端的缓存中。如此可加快响应时间、减少服务器上的负载及网络上的传输量。例如,您可以建立一个标题,指定如果用户已经造访过您的站点时,不要下载您公司的标帜 .jpg 檔。若要为静态内容设置「过期」标题,请使用 [http 标题] 内容页。若要为动态内容设置「过期」标题,请使用 response.addheader 方法。此方法的相关信息,请参阅 iis 5.0 联机文档。

  ·  确定已启用「asp buffering」。「asp 缓冲处理」默认会在全新安装 windows 2000 之后启用。如果是从 windows nt 4.0 及 iis 4.0 升级,您可能需要手动启用它。「asp 缓冲处理」可让所有来自应用程序的输出在通过网络传给客户端浏览器之前,先收集在缓冲区中。 如此可以降低网络传输量及响应时间。虽然缓冲处理可以降低响应时间,但可能会让用户察觉网页的速度变慢,因为除非网页已完成执行,否则用户看不见任何信息。审慎地使用 response.flush 可以改善交互的感觉。response.flush 方法的相关信息,请参阅 iis 5.0 联机文档。相关信息,请参阅〈附录 1︰性能设置〉中的 aspbufferingon metabase 项目。

  ·  延长连接队列及使用 http keep-alives。如果您判定您服务器的带宽不足以满足需要,并且正计划增加请求负载,则可以通过执行两个动作让网络带宽的使用更理想︰延长连接队列,及确定http keep-alives 已启用。

  每一个 iis 5.0 服务都有一个连接队列,而且皆设为 15 个项目。如果这个数字在负载量下不符合您的需求,则通过将 listenbacklog 参数添加到注册表中,并将此值设置为需要服务器维持的最大连接请求数目,即可增加它。相关信息,请参阅〈附录 1︰性能设置〉。

  http keep-alives 会保持客户端与服务器之间的连接,即使初始请求已完成也是如此。这个功能可以缩短等待时间、减少 cpu 负荷,及最佳化带宽。http keep-alives 是默认启用的。如果它们已停用,但您又想启用它们,请在 [internet 服务管理员] 中选取一个站点,开启该站点的 [属性] 页,并按一下 [性能] 选项卡后,再选取 [http keep-alives] 复选框。

  ·  缩小文件大小。您可以通过缩小服务中的文件大小来增进web服务器的性能。图像文件应以适当的压缩格式存放。尽可能限制图像及其它大型文件的数目。通过缩减 htmp 及 asp 程序代码也可以缩小文件大小。从 asp 页中删除不必要的程序代码区块,并确定您的 html 文件编写得很有效率。

  ·  将记录文件存放在个别的磁盘上,并删除不需要的信息。如果您的服务器控制了多个站点,则每一个站点会建有个别的日志文件;这些日志文件在向磁盘写入时会在您的服务器上造成瓶颈。您应该将日志存放在不同于 web 服务器的磁盘分区或磁盘上。另一个减少磁盘瓶颈的方法是避免记录不重要的信息。例如,您可以将所有图像文件放在一个虚拟目录 (例如 /images) 中,并停用该目录的日志。若要这样做,请开启该目录的内容页,清除 [日志查阅次数] 复选框,并按一下 [确定]。您也可以使用脚本文件或 isapi 过滤器来执行这项调整作业。如果您的站点是特别忙碌的大型站点,那么这项作业可以为您省下每天好几千兆的磁盘空间,以及大量的日志后处理时间。

  ·  使用 raid 及等量分配。若要增加磁盘存取,请使用 raid 及等量磁盘组。您也许要考虑使用一个有较大 ram 缓存的磁盘驱动器控制器。如果您的站点倚赖频繁的数据库存取,则请将数据库移到另一台计算机上。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:终极优化(附录):使用IIS5.0调整Web服务器的艺术与科学

下一篇:终极优化(3):使用IIS5.0调整Web服务器的艺术与科学