4-30 三大服务器 简介(转)

一.软件介绍(apache  lighttpd  nginx)

1. lighttpd

Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth,输出压缩(output compress), URL重写, Alias等重要功能。

Lighttpd使用fastcgi方式运行PHP,它会使用很少的PHP进程响应很大的并发量。

Fastcgi的优点在于:

·        从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑.

·        从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮,

·        从性能上看, fastcgi把动态逻辑的处理从server中分离出来,大负荷的IO处理还是留给宿主server,这样宿主server可以一心一意作IO,对于一个普通的动态网页来说,逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1)

·        从扩展性上讲, fastcgi是一个中立的技术标准,完全可以支持任何语言写的处理程序(php,Java,Python...)

2.apache

apache是世界排名第一的web服务器,根据netcraft(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的web服务器在使用apache.

1995年4月,最早的apache(0.6.2版)由apache group公布发行. apache group 是一个完全通过internet进行运作的非盈利机构,由它来决定apache web服务器的标准发行版中应该包含哪些内容.准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它的工作. 当新的代码被提交给apache group时,该团体审核它的具体内容, 进行测试, 如果认为满意,该代码就会被集成到apache的主要发行版中.

apache的特性:

1)几乎可以运行在所有的计算机平台上.

2)支持最新的http/1.1协议

3)简单而且强有力的基于文件的配置(httpd.conf).

4)支持通用网关接口(cgi)

5)支持虚拟主机.

6)支持http认证.

7)集成perl.

8)集成的代理服务器

9)可以通过web浏览器监视服务器的状态,可以自定义日志.

10)支持服务器端包含命令(ssi).

11)支持安全socket层(ssl).

12)具有用户会话过程的跟踪能力.

13)支持fastcgi

14)支持Javaservlets

3.nginx

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.

Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新。但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。

nginx做为HTTP服务器,有以下几项基本特性:

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.

无缓存的反向代理加速,简单的负载均衡和容错.

FastCGI,简单的负载均衡和容错.

模块化的结构。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。

Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。

Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就稳定性而言,nginx比lighthttpd更胜一筹。

Nginx支持热部署。它的启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。

二.3种WEB服务器的比较:


server


Apache


Nginx     


Lighttpd


Proxy代理


非常好


非常好


一般


Rewriter



非常好


一般


Fcgi


不好



非常好


热部署


不支持


支持


不支持


系统压力比较


很大


很小


比较小


稳定性



非常好


不好


安全性



一般


一般


技术支持


非常好


很少


一般


静态文件处理


一般


非常好



Vhosts虚拟主机


支持


不支持


支持


反向代理


一般


非常好


一般


Session sticky


支持


不支持


不支持

注:在相对比较大的网站,节约下来的服务器成本无疑是客观的。而有些小型网站往往服务器不多,如果采用 Apache 这类传统 Web服务器,似乎也还能撑过去。但有其很明显的弊端: Apache在处理流量爆发的时候(比如爬虫或者是 Digg效应) 很容易过载,这样的情况下采用 Nginx最为合适。

建议方案:

Apache后台服务器(主要处理php及一些功能请求 如:中文url)

Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)

Lighttpd图片服务器

总体来说,随着nginx功能得完善将使他成为今后web server得主流。

三.性能测试

将分别测试3种软件在对动态页面和静态页面请求及并发时的响应时间

l       静态页面 搜狐首页

LIGHTTPD


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


100000/100


64


60


462.75


21.6


100000/200


67


60


312.07


32.4


100000/500


83


60


137.24


72.8


100000/1000

出现错误丢包


94


60


126.6


78.9

NGINX


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


100000/100


34.6


140


943.66


10.597


100000/200


35.6


110


924.32


10.818


100000/500


34.3


110


912.68


10.956


100000/1000


37


160


832.59


12.106

APACHE


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


100000/100


40.6


170


690.72


14.47


100000/200


41.1


180


685.39


14.59


100000/500


42.3


190


633.64


15.78


100000/1000


43.1


200


547.53


18.26

l       动态页面 内部社区首页

LIGHTTPD


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


1000/100


50


200


33.54


29.816


1000/200


52


210


30.43


32.858


1000/500


54


230


25.79


38.76


1000/1000


62


250


24.83


40.28

NGINX


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


1000/100


53.8


250


83.12


12.305


1000/200


55.8


250


74.05


13.504


1000/500


56


260


58.99


16.951


1000/1000


58


260


43.41


23.347

APACHE


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


100000/100


60


200


27.37


36.541


100000/200


61


220


23.82


41.981


100000/500


73


150


20.59


48.562


100000/1000


53


200


27.18


36.796

l       PHPINFO函数页

LIGHTTPD


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


100000/100


45


20


168.06


59.504


100000/200


47


22


140.64


71.103


100000/500


49


24


52.80


189.386


100000/1000


在请求到4840时测试测试程序死掉

NGINX


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


100000/100


70


120


143.46


69.706


100000/200


72


130


140.57


71.140


100000/500


73


150


135.87


73.601


100000/1000


77


160


132.18


75.657

APACHE出现丢包


n/-c(ab参数)


cpu%


Mem


RequestsperSecond


Time taken for tests


100000/100


70


180


245.73


40.694


100000/200


72


190


245.79


40.684


100000/500


75


200


241.29


41.443


100000/1000


77


220


236.74


42.239

四.各大网站WEB服务器资源列表

网站名  操作系统   web服务器

1.门户网站类:

搜狐     Linux          apache 1.3.37

新浪     LINUX          apache 2.0.54

迅雷     LINUX          nginx 0.6.31

163      LINUX          apache 2.2.6

2.搜索类

百度      unknown       BWS 1.0

Google   linux          gws

Sougou   FreeBSD        apache 2.2.4

Hao123   linux         apache 2.2.4

4.电子邮箱类

126        linux         apache

Hotmail    win2003     microsoft-IIS 6.0

新浪邮箱    F5 Big-IP    apache 2.2.8

263        linux         apache 2.2.6

5.博客类

新浪博客    linux          nginx 0.5.35

搜狐博客    linux          nginx

迅雷博客    linux          nginx 0.6.32

天涯博客    F5 Big-IP      Microsoft-IIS/5.0

6.视频类

优酷         linux          apache

土豆         linux          apache

Ku6         linux          apache

六间房       linux          nginx 0.6.14

时间: 2024-11-07 18:33:59

4-30 三大服务器 简介(转)的相关文章

linux系统ansible一键完成三大服务器基础配置(剧本)

ansible自动化管理剧本方式一键完成三大服务器基础配置 环境准备:五台服务器:管理机m01:172.16.1.61,两台web服务器172.16.1.7,172.16.1.8,nfs存储服务器172.16.1.31,备份服务器rsync172.16.1.41 要求实现:nfs服务器共享目录/data给两台web服务器 三台服务器可以通过定时任务 备份到备份服务器rsync 实时监控nfs/data目录,并实时备份到备份服务器rsync 开整: 一.配置管理机m01 1.下载基本软件 cd /

为什么要用Spring,(以及三大框架简介)

Spring作为三大框架之一,一直困惑她有什么用?为什么要使用Spring呢?(大部分来自网上,引用出处太多,恕不一一标明.). SSH 在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate. Struts对Model,View和Controller都提供了对应的组件.Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成

java程序员培训:为什么要用Spring含三大框架简介

文章来源:http://www.zretc.com/technologyDetail/476.html Spring作为三大框架之一,一直困惑她有什么用?为什么要使用Spring呢?(大部分来自网上,引用出处太多,恕不一一标明.). SSH在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate. Struts对Model,View和Controller都提供了对应的组件.Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由Rod Jo

盒模型的三大类简介

盒模型包括外边距(Margin).内边距(padding)和边框(border)三大部分. Margin:包括{ margin-top//上边距    margin-right//右边距    margin-bottom//下边距    margin-left//左边距 } Padding:包括{       padding-top//上内边距    padding-right//右内边距    padding-bottom//下内边距    padding-left//左内边距  } bord

NFS服务器简介

1.NFS为Network File System(网络文件系统):不同机器不同的操作系统可以彼此共享数据文件. NFS的配置简单,启动remote procedure call(RPC, 就是rpcbind这个软件). NFS的启动需要通过所谓的远程过程调用(RPC),不仅是要启动NFS,启动RPC. 2.NFS: 可以通过网络,让不同的机器.不同的操作系统可以共享彼此的文件(share files).     (注意权限) NFS的服务端口: 2049 远程过程调用(remote  proc

服务器简介

漫漫学习的路上,也许会绕很多的弯路,多问多看多整理,贵在坚持!!! 1.CPU的"路"与"核" "路"是指物理CPU的个数,也就是主板上CPU插槽的数量,双路较常见(即主板上面可以插2颗CPU). "核"是指单颗cpu内部可以处理数据的芯片个数,单核就是只有一个处理数据的芯片,多核即有多个. 2. 服务器的几种类型 服务器按照外形结构划分可分为塔式.机架式.刀片式三种. 塔式服务器:一般和我们常用的PC机箱类似,大型的塔式机箱

WPF三大模板简介

WPF支持以下类型的模板: (1) 控件模板.控件模板可以将自定义模板应用到某一特定类型的所有控件,或是控件的某一实例.决定控件外观的是ControlTemplate,它决定了控件“长成什么样子”,因此控件模板由ControlTemplate类表示.控件模板实际在资源集合或资源字典中定义.例子详见:通过设计ControlTemplate,制作圆角文本框与圆角按钮(http://www.cnblogs.com/zhouhb/p/3284780.html). (2) 数据模板.在WPF中,决定数据外

企业级服务器简介

什么是服务器?服务器是通过网络对外提供各种服务的计算机.既然是计算机,就包括硬件和软件.服务器的硬件设计通常使用的硬件与PC有所区别,因为服务器需要长时间的连续运行.服务器上运行的操作系统一般与PC也有所区别,比如Linux服务器版本.Windows服务器版本.服务器是构建IT系统最基础的设备之一.IT系统从技术层面来说,主要包括数据的计算.数据的存储.数据的传输.IT=PC(peer to peer--Client/Server(B/S)架构)=DC 服务器常见使用场景服务器=DC广泛应用在I

linux系统ansible一键完成三大服务器基本配置

准备: 五台服务器:一台管理服务器m01:172.16.1.61.两台应用服务器web01:172.16.1.7.web02:172.16.1.8.一台存储服务器nfs:172.16.1.31.一台备份服务器rsync:172.16.1.41 实现:通过m01管理机,实现nfs服务器共享目录/data给两台web服务器 实现nfs服务器/data目录实时同步到rsync服务器/backup 实现两台web服务器,nfs服务器重要文件可以定时备份到rsync服务器 开始实战: 一.部署管理机m01