Web服务器对比介绍

一、Apache

Apache是很是强大的老牌Web服务器,具备模块化结构,拥有众多很是成熟稳定的模块,目前还是使用很是普遍的服务器,但它是基于多进程HTTPServer,须要对每一个用户请求建立一个子进程/线程来响应,当访问较大时,会占用较多的系统资源(主要事实CPU和内存),因此高并发的处理并非Apache的强项。性能优化

二、Nginx

      Nginx是一款十分轻量级的HTTP服务器,同时也是一款很是不错的反向代理、负载均衡服务器。Nginx以事件驱动,专为性能优化而开发,支持内核Poll模型,能经受高负载的考验,而且在高负载下具备很高的稳定性。其余HTTP服务器在遇到访问的峰值或恶意攻击时,极可能会由于服务器内存频繁交换而致使内存耗尽,最终致使服务器失去响应,而Nginx采起了分阶段资源分配技术,是的它的CPU与内存占用率很是低。Nginx官方表示保持10000个没有活动的链接,只占2.5MB内存,因此在抵御相似DOS攻击时,Nginx有很是出色的表现。除此以外,就稳定性而言,Nginx比Lighttpd更胜一筹。服务器

      Nginx支持热部署,启动很是容易,而且几乎能够作到不间断运行,即便运行数月也不须要从新启动。Nginx还能够在不间断服务的状况下进行版本升级。多线程

三、Lighttpd

      Lighttpd是一款轻量级的Web服务器,占用内存小且CPU负荷低,是服务于静态内容的不错选择。并发

四、IIS

      IIS做为运行在Windows环境下的Web服务器软件,能够对.NET、PHP等进行解析。IIS只能运行于Windows下,而绝大多数开源框架或软件最佳搭配环境为Linux/UNIX,这是由于IIS不具备开源软件低成本、以扩展的特色。从开源、投入、扩展、性能等方面考虑,IIS均不是优先考虑对象。负载均衡

五、Tomcat

      Tomcat服务器时一个免费的开源的Web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选。Tomcat和IIS等Web服务器同样,具备处理HTML页面的功能,但处理静态页面的能力较差。框架

      Lighttpd是一个单进程模型的Web服务器,内存使用量不多。Nginx在内存分配方面表现良好,使用多线程来处理请求,这使得多个线程之间能够共享内存资源,从而使内存使用量大大减小。此外Nginx使用分段内存分配策略,按需分配及时释放,整体占用内存不多,可支持较大的并发链接。Apache在运行时使用较大的内存,是多进程模型,使用基于内存池策略的内存管理方法,使得在运行开始时便一次性申请大片内存做为内存池,这=这样在随后须要的时候只在内存池中直接获取,不须要再分配,所以不适合大并发的状况。Nginx做为一个后起之秀,发展速度很是迅猛,目前各大网站纷纷采用Nginx就说明它的优点是不言而喻的。模块化

相关文章
相关标签/搜索