使用IIS 5.0调整Web服务器的艺术与科学(2)
作者:佚名 来源:chinaitlab.com 发布时间:2008-10-26 12:28:00
调整 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 上亦有。
测量网站服务器及应用程序所需工具的相关信息,请参阅本文中的〈用来监视及测试服务器性能的工具〉小节。如需网络应用程序性能及测试该性能所需工具的链接及参照清单,请参阅本文中的〈资源〉小节。
监视及测试服务器性能的工具
为了支持您的性能调整及测试需求,Microsoft 提供几个工具︰有些内含在 Windows 2000 及 IIS 5.0 中、有些位于 Windows 2000 Resource Kit CD中,剩下的内容则可从 Microsoft 网站下载。「系统监视器」(先前称为 PerfMon) 内建在 Windows 2000 中,它对于监视服务器的各种性能而言是必要的。「进程及线程状态」(pstat.exe) 会显示所有执行中的进程及线程的状态。「进程树状目录」(ptree.exe) 可让您查询进程的继承树状目录,及删除本机或远程计算机上的进程。这些工具都提供在 Windows 2000 Server Resource Kit 附随 CD 上。提供在 Windows 2000 Resouce Kit 附随 CD 上的「HTTP 监视工具」会监视服务器上的 HTTP 活动,而且会在活动容量发生改变时通知您。「网络监视器」是个您可以用来维持固定网络传输量的 Windows 2000 管理工具。它不包含在默认安装中,不过使用 [控制面板] 的 [添加/删除程序] 功能可以安装它。NetStat 是个指令行工具,会侦测关于服务器目前网络连接的信息。
这些工具的中心是内建在 IIS 5.0 及 Windows 2000 操作系统中的「性能计数器」。开发人员也可以在他们编写的 ISAPI DLLS 或 COM 组件中添加自定义的的「性能计数器」。这些计数器可以由以上提到的一些工具直接读取,包括「系统监视器」及「Web 应用程序压力工具」和 WCAT。其中有些计数器在本文前面已作过说明,但了解哪些会关系到您的监视及测试需求是很重要的。
「系统监视器」是一个在Web服务器上建立性能基准,并监视您对软硬件所作的任何改变,对性能将产生哪些影响的最重要工具。「系统监视器」提供一个用户接口,让您在监视或记录时能看见性能计数器的指数。它也能让您以图形方式记录计数器活动,并设置将出现在 [事件查看器] 中的警告。「系统监视器」提供系统中每一计数器的记录。
「Web 应用程序压力」工具是专门为了仿真多个浏览器同时向一个网站送出网页请求而设计的。您可以使用这个工具来收集关于 Web 应用程序性能及稳定性的信息,以及服务器执行状况的信息。这个工具可以仿真利用少数的客户端机器向 Web 服务器送出大量的请求时的状态。其目的是为了建立一个与生产环境尽可能相似的环境。如此才能让您在将 Web 服务器及应用程序部署到联机运行的服务器上之前,先找出并消除其中存在的问题。
以上任一工具的相关信息,请参阅内含在 Windows 2000 Resource Kit 中的联机IIS 5.0 文件。指向其它信息来源的链接则内含在本文的〈资源〉小节中。


猜你喜欢
- IIS Web服务器安全加固步骤:步骤安装和配置 Windows Server 2003。注意:1.将\System32\cmd.exe转移
- 重视SEO的站长们应该对keyword的设置都不会陌生!如果你是“老站长”,那么你看到这里的时候可以点击“返回”跳过本篇了!因为这篇文章是写
- 本修改经过多次测试在 大部分国外空间都安装正常。如果不会修改的,请下载我提供的dedecms5.1UTF-8英文版本 文章模块。已经修改好的
- 站长的苦谁人知道?站长自己清楚而已,说到成功是每一个站长的梦想,成功的定义在站长心中很平淡,受到认可、赚到钱、完成了一种使命或者自己独享的意
- 服务器在线12月23日报道 WEB服务器主要是面向互联网的。所以,其是企业众多信息化应用中最容易受到攻击的。现在企业的WEB应用越来越多,特
- 世界上没有无缘无故的爱,也没有无缘无故的恨,网站被百度K了,不要怨天尤人,骂过小李子了,咱们要反省下自己,有没有触犯SE的规则,
- 通过“禁用出站邮件”选项,可以禁用来自所有 SMTP 队列的出站邮件。例如,如果组织中有活动的病毒,则此选项将非常有用。注意:“禁用出站邮件
- 什么是 vim?Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来
- 今天我会讲述如何为你的个人网站或者博客安装SSL 证书,来保护你的访问者和网站之间通信的安全。安全套接字层或称SSL,是一种加密网站和浏览器
- 一、unzip命令unzip命令用于解压缩由zip命令压缩的“.zip”压缩包。1.1 语法unzip(选项)(参数)1.2 选项选项描述-
- 看着Amazon,有时候我就想:创新难道就是要坚持不停的穷折腾? 也许是的。Amazon是家执着且运气很好的公司,生来就有“兼并”和“不务正
- 01. 概述绝对路径和相对路径在shell环境中经常遇到,各有用处。有时候相对路径比较方便,有时候绝对路径比较方便。02. 绝对路径(Abs
- 1、如何保证百度能每天收录站点新增加的页面?解答:站点保持每天更新好的内容,平稳增加一些鲜活的外链,一段时间后,就会每天都被更新了,这个过程
- 初衷首先说明一下既然网上有那么多教程为什么要还要写这样一个安装教程呢?网上教程虽然多,但是有些教程比较老,许多教程忽略许多安装过程中的细节,
- FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵
- 发现很多人收不到google adsense的pin码。我以前也一样。不过我已经取消了pin码验证。上篇文章《四年换来日入50美元——我艰难
- 今天早上遇到的IIS问题问题描述:World Wide Web Publishing服务无法启动。 系统出错 发生系统错误127。 找不到指
- vmware workstations启动虚拟机报错根据报错当中链接链接https://kb.vmware.com/s/article/21
- 选择服务器是一项重大决策,通常费时费钱。错误的决策会导致不良后果。在本文中,我们将首先谈谈一些在规划时需考虑的问题,然后进一步讨论如何在Wi
- linux指令man page之rm,mv详解 man rmNAME rm - 移除文件档案或者目录 SYNOPS