IIS vsApache:你选哪种WEB服务器

IIS vsApache:你选哪种WEB服务器

java webadmin2020-11-21 23:40:3970A+A-

  可以说,两者都是不错的选择,但是它们也各自存在着优缺点。2002年中,Apache 2.0投入使用,而在2003年初,IIS 6.0也随即问世。下面我们逐一比较一下这两种服务器软件的性能,以便读者们更容易根据自己的需要来决定采购哪种软件。

  在Windows NT 4.0 发布后不久,微软公司发布了一个含有IIS 4.0的选项包,这个选项包是IIS作为一种Web服务器平台大量被使用的开始。自此,IIS就成为Windows Server 操作系统的一个常规的可选组成部分。

  IIS 6.0 出现在了Windows Server 2003中,与之前的版本相比,IIS 6.0的改进非常显著。它使用了一种全新的执行模式,拥有更完善的管理功能并且极大的改进了运行效率。

  我们再来看看Apache。它拥有更古老的历史,最初基于httpd代码,有些人认为它的出现掀起了整个Web行业的革命。直到2002年才投入应用的Apache 1.3.x很大程度上讲是一种针对Unix的产品,但是通过一些方法,它也可以在包括Windows在内的其它操作系统平台上运行。

  2002年,Apache 2.0横空出世。这一新的版本融入了一种崭新的执行环境,它将Apache系统的核心功能与实际支持和处理各种请求的操作系统相分离。现在很多操作系统都可以支持Apache 2.0,包括所有版本的Windows、Linux、Unix和Mac OS X,此外,还包括一些像BeOS和VMS之类的非主流操作系统。

  IIS和Apache的运行原理互不相同,因此它们各自都存在诸多的优势和劣势。IIS很明显是为Windows环境而设计的,也只能在Windows环境下运行。目前,可支持IIS 6.0的唯一平台就是Windows Server 2003。虽然这限制了基于IIS 的Web 服务可部署的平台数量,但它也有着诸多优势,比如能更好的与宿主操作系统进行协作,更易于管理,能够通过多种标准OS工具和设备进行控制等等。

  在IIS 6.0中,操作系统和服务器间的协作性能比以往任何一个版本都更为强大。与之前版本不同的是,IIS 6.0 中接受客户端请求和处理请求是两个相互分开的部分。作为内核模式驱动程序的HTTP .sys倾听并接受客户端的请求,并将这些请求放置在一个或者多个请求列队里。之后,IIS采用至少一个工作器(worker process)来处理这些列队中的请求,并对每个请求和应用的执行过程进行控制。

  这种分开的处理方式允许系统在IIS工作器不能正常运行的时候也能接受客户的请求,并且能够对处理请求的工作器进行更好的控制。因此,管理员(或者服务器自动)便可以将这些请求循环来恢复扩展和应用程序的错误。在之前的版本中,这一过程通常要关闭/重启IIS服务,极端的情况下,还要重启整个服务器。

  Apache 2.0相对之前的版本也进行了很大的修改,其中最重要的一个改进就是Web服务器现在可以直接支持多种操作系统平台,包括Windows。这种改进使得Apache 2.0 能够通过多种方式有效地支持广泛的平台,从而最大化地利用操作系统的资源。

  Apache 2.0的核心就是APR(Apache Portable Runtime),它可以通过一个C 编译器使Apache内核运行在几乎所有的系统上。然后由一系列多处理模块(MPM,multi-processing module)支持接受请求和处理请求。在Unix环境下,它可以是传统的“叉形”模式(forked model)或者后来出现的线程化模式(threaded model)。而在Windows环境下,它仍然使用线程化模式,从某些方面来看,它与IIS 6.0中工作器所使用的线程化模式很相似。

点击这里复制本文地址 免责声明:本站内容由程序自动采集于互联网,无人工干预,只作交流和学习使用,本站不储存任何资源内容,如有侵权请联系qq邮箱798244092@qq.com立刻删除,谢谢!

支持Ctrl+Enter提交

java教程 © All Rights Reserved.  
Powered by 多多资源网 Themes by 多多资源网
联系我们| 关于我们| 留言建议| 网站管理