深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

把NT 4.0下的ASP应用迁移到Windows 2000上(1.2)


March 25,2004
安装和配置

可以有多种方式安装和配置Windows 2000,安装全新的,或者和Windows NT做双启动的配置。可以随Windows 2000一起安装IIS,或者稍后再说。但是当从Windows NT做升级的时候,IIS5.0会检测原有的NT,如果发现有IIS早期版本,会自动的升级并将原有的设置移植到新的环境中。

建议在向最终环境作移植的时候,使用全新安装的Windows 2000,而不要使用双重启动的配置(这种配置只应在开发环境下出现)。

有关安装Windows 2000的问题,可以参看构建Windows 2000测试系统 或者Windows 2000专题


IIS 5.0和ADSI中的新属性

安装完IIS 5.0后,你会发现Internet Services Manager(ISM) Management Console和在IIS 4.o中稍微有些不同。比如说,在Web站点的Virtual Directory (虚路径)或Home Directory(主路径)面板中(如图1),访问和内容权限控制不再分组,并添加了一个新的项目--“Script Source access”。选定这个选项就允许WEB访问脚本资源。要确保脚本不可访问,不选这个选项即可(默认设置)。



另一个需要注意的是ASP application setting中,原来使用Check Box选择的将应用程序在分离的进程中,现在该选项放在名为Application Protection的下拉表单中,它包含三个选项:Low (IIS Process), Medium (Pooled), 和 High (Isolated)。

在IIS 5中将应用程序设置为在LOW的选项与IIS 4中不将应用程序放置在分离的进程中的设置是类似的。在这种设置下,应用程序运行在WEB服务的同一进程下。如果选定了HIGH的选项,就和IIS 4中将应用程序放置到分离的进程中类似,这时候,ASP应用之间是运行在WEB服务器分离的进程中。

Medium选项是IIS 5中新加入的选项。这允许ASP应用运行在于WEB服务分离的进程中,但是和其他的ASP共享这个进程,也就是ASP应用池。它能更好得利用单一的进程处理被缓冲(Pooled)的ASP应用,这比为每一个ASP应用都创建进程要好些,因为这样会降低系统的可扩展性。同时这种设置因为与缓冲的进程保持独立,所以避免了现在的安全风险。对于测试和最终生产环境,建议使用IIS的默认设置-将可信的应用运行在Medium的设定下。这样既使ASP的进程数减少了,也避免了危及核心WEB服务。

HIGH选项也可以使用在开发的环境下,比如为了开发ASP组件,将ASP设置为运行在分离的进程中可以在开发期间卸载应用并重编译模块而不影响其他的运行在Medium中的应用,也不需要重新的启动WEB服务器。

除了应用程序隔离和访问脚本资源,以及没有提到的改变,IIS 5.0中的Active Directory Services Interface (ACPI)属性页增强了许多方面,以提供更佳的站点管理计划性。

ADSI的一个设置,AspMemFreeFactor已经取消了。该设置用来定义空闲的内存块和已经使用的内存块的比率,IIS用它来缓存ASP的执行任务。如果你有用到ADSI管理站点,检查现有程序中是否将该设置移除。

有一些的ADSI属性有不同表现方式和不同的值。举例说,ScriptMaps属性被改变了,他实际上和Application Config中的App Mapping面板相关联。在IIS 5.0中会列出所有的包含在应用程序映射的动词而不是在IIS 4.0中列出的不被接受的动词。除非需要添加新的应用程序扩展到IIS 5.0中,否则保留现有的应用程序/脚本映射,这样才会将MetaProperty的改变对现有ASP应用所造成的影响减至最低。

ADSI还提供一些新的设置,包括一组IIS 5.0新功能的设定:CPU扼制(CPU Throttling)。IIS 4.0中提出扼制带宽的概念,通过限制WEB服务器上每一个站点的带宽来防止它们从共享的WEB服务器带宽中压榨过多。在IIS 5.0中,应用同样的与原理来防止分站点挤占过多的CPU资源。

另外,如果ASP应用使用了大量的进程外功能(out-of-process functionality),可以考虑在将ASP迁移到Windows 2000上后使用CPU跟踪功能(CPU Tracking)。该功能将进程外CPU使用情况记录到标准的WEB站点日志中。虽然新的功能不是迁移所必需的,但是这些功能可以查明问题所在,这远比在站点遭受破坏或运行迟缓后再查明的效果好很多。

CPU扼制和跟踪都可以很容易得在ISM中设置。设置CPU跟踪的步骤如下:

  选择站点>选择属性>打开Log的属性面板>选择Extended Properties页可以通过Performance面板修改CPU(包括带宽)扼制的选项。

如果你愿意的话,可以创建一个ASP脚本改变CPU扼制和跟踪的选项,脚本的源代码在这里:图3。这个脚本会开启CPU扼制的功能(默认为10%)并且改变现有的CPU跟踪的设置。该脚本只能运行在管理环境下。

正如前面提到的,了解IIS 5.0中新的属性,掌握新的ADSI属性并不是迁移ASP应用程序所必需的知识,但是了解这些对最后向生产环境中移植ASP应用决不是什么坏主意。

一旦配置完成IIS5.0,并重建所完成有的站点和虚路径,依照开发,测试,和最终生产环境设置完成应用程序的保护。下一步就是确保让正确的人访问正确的站点。
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved