找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[ Ngnix与高并发服务器 ] 【守望者 高并发】现有高并发WEB服务器 lighttpd Apache Nginx比较

2014-10-26 22:41| 发布者: watchmen | 查看: 3697 | 收藏

摘要: lighttpd网络服务器基于的Lighttpd的网络服务器具有这样的特点:占用内存资源少,占用cpu资源的优点,且开源社区提供丰富的应用模块。lighttpd是目前开源社区中轻量级的web网络服务器中的佼佼者。其支持FastCGI接口 ...


lighttpd网络服务器
基于的Lighttpd的网络服务器具有这样的特点:占用内存资源少,占用cpu资源的优点,且开源社区提供丰富的应用模块。lighttpd是目前开源社区中轻量级的web网络服务器中的佼佼者。其支持FastCGI接口,CGII接口,AuthI接口以及输出压缩技术,并提供目前被大量使用URL重写技术,服务器链接等特点。Lighttpd使用fastcgi方式运行php,从而使得应用较少的PHP应用进程能够实现大的并发量响应能力[3]。Fastcgi具有以下重要特点:
(1)在稳定性方面:fastcgi接口采用独立的进程池运行策略,即使某一个进程挂掉,系统并不会崩溃,只需要重新分配新的进程来运行即可。
(2)在安全性方面:fastcgi接口和主机的服务互不干扰的模块,fastcgi即使崩溃也不会影响服务器;
(3)在性能方面:fastcgi接口仅仅处理动态逻辑部分,大的载荷的IO操作仍然由服务器完成,这样服务器可以专让完成IO操作,对于一个动态网页来说,逻辑处理部分可能只是其中一个很小的部分,大量的图片处理IO操作根本不需要逻辑程序加入。
(4)在扩展性方面,fastcgi是一个独立的技术规范,完全可以支持使用任何一种语言编写的应用程序(php,java,python...)。


Apache网络服务器
基于APACHE为架构的WEB服务器的使用率仍然排在首位,根据netcraft公司(www.netsraft.co.uk)统计的调研结果来看,有50%以上的HTTP服务器都是基于APACHE的。APACHE的网络服务器的第一个版本(0.6.2版)于1995年4月一个完全通过internet进行运作的非盈利机构Apache group发布,Apache group决定apache web服务器的标准发行版中应该包含哪些模块。Apache group准许所有开源社区人员修改其中隐含的错误,准许开源社区人员提供新的功能,或者将它移植到其它的应用平台上[4]。当新功能的代码上传到apache group系统以后,该组织负责审核所有代码具体实现功能、详细内容,还要进行必要的测试操作,如果达到认可标准,该代码就会被添加到apache的重要发行版一起发布。基于APACHE的WEB服务器具有以下重要特点:
(1)可以安装在大多数的应用系统中,且支持虚拟主机技术,支持通用网关接口(cgi)技术,并支持代理服务器技术。
(2)基于文件的配置服务器配置,设置简单易用。
(3)支持WEB认证,且支持SSL技术。
(4)支持最新的HTTP协议,同时支持fastcgi接口。
(5)集成perl,管理员完成能够使用浏览器来监控服务器的运行情况,还能够自定义生成日志格式信息。
(6)支持ssi接口,即服务器端可以包含命令,提供用户会话过程的跟踪功能。
(7)不足之处:不支持epoll接口,而epoll在现代系统中几乎是性能的必备工具,这也是为什么apache的并发性能比其他两款web服务器性能差的主要原因。

高并发网络服务器国内外运维现状
以下列出不同类型的WEB应用及不同企业使用高并发网络服务器国内外运维现状。如表1-1所示为门户网站类WEB服务器资源列表[7]。
表1-1 门户网站类WEB服务器资源列表
  网站名  
操作系统
web服务器
搜狐
LINUX
apache
新浪
LINUX
apache
迅雷
LINUX
nginx
163
LINUX
apache

表1-2 搜索类WEB服务器资源列表
  网站名  
操作系统
web服务器
百度
Unknown
BWS
Google
Linux
gws
Sougou
FreeBSD
apache
Hao123
Linux
apache


表1-3为电子邮箱类WEB服务器资源列表
网站名  
操作系统
web服务器
126
Linux
apache
Hotmail
win2003
microsoft-IIS
新浪邮箱
F5
Big-IP
263
Linux
apache

表1-4 博客类WEB服务器资源列表
  网站名  
操作系统
web服务器
新浪博客
Linux
nginx
搜狐博客
Linux
nginx
迅雷博客
Linux
nginx
天涯博客
F5
Big-IP


表1-5 视频类WEB服务器资源列表
  网站名  
操作系统
web服务器
优酷
Linux
apache
土豆
Linux
apache
Ku6
Linux
apache
六间房
Linux
nginx


WEB服务器性能比较(数据源于网络,非本团队测试)

为了验证主流的Web服务器自身的性能,选取适合开发系统的网络服务器框架模型,以下对比测试在同一台物理主机上面各WEB服务器性能。
物理主机的配置如给3-1所示。在测试时,对测试机器的网卡、Open Files等参数,各个Web服务器的参数均都进行过必要优化。

 物理主机配置
CPU  8核
内存 4G
网卡 1G
本次性能测试指标主要是从响应时间和每秒请求数作为对比参数,因为网卡吞吐量最大为1G,来回和接收大约在400M左右,从现有测试结果看,基本上都能满足需求。  

测试方案
(1)本测试中所选用的测试工具为Apache自带的ab命令进行测试,典型的命令如下:
ab -n 100000 -c500 -k http://localhost:81/test-page-small.htm
-n 指定总共请求数量.
-c 同时并发的请求数.
-k 客户端是否启用Keep Alive连接.
(2)本测试中所选用的测试方法为在Linux本机用apache自带的ab工具进行测试。为了保证客户端的端口性能,压力测试采用keep alive的模式和服务器进行通信。
(3)测试两种类型的静态文件:1K以下、59K的中大型静态HTML文件的请求。
(4)总请求数为100000,分别启用500、1000、3000、5000、7000和10000并发进行测试;

测试软件测试版本如表所示。
版本
Apache  2.2.14
Nginx    0.9.6
Lighttpd   1.4.28


1. 响应时间对比分析
如图所示为请求1K以内小文本时平均响应时间对比。
 
 请求1K以内小文本时平均响应时间比

如图2所示为请求1K以内小文本时最大响应时间对比。
  
图2 请求1K以内小文本时最大响应时间比
从小文本的请求结果来看,可以得出以下结论:
(a)在3000并发以上lighttpd的最大响应时间小于平均响应时间,估计在建立连接等方面占用的时间开销高于Apache和Nginx;
(b)在5000并发以内,Nginx的性能明显优于Apache和Lighttpd两款Web服务器;
(c)在5000并发以上,Apache的性能优于Nginx和Lighttpd两款应用服务器;
(d)在7000并发以上,Nginx的并发性能下降的非常明显;
(e)从上述请求来看,要想真的一个系统实现很高的并发性能,需要尽可能的减少请求的数量。
如图3所示为请求59K中大型文本时平均响应时间对比。
  
图3 请求59K中大型文本时平均响应时间比
如图4所示为请求59K中大型文本时最大响应时间对比。
  
图4 请求59K中大型文本时最大响应时间比
从大数据文件的请求来看,可以得出以下结论:
(a)在5000并发以内,nginx的表现稍好于Apache和lighttpd;
(b)在5000并发以上,lighttpd的并发优于Apache和Nginx
(c)但整体而言,以这种单机在本机的测试结果来看,不管是哪种Web Server,在5000并发以上,单次请求的响应时间均超过了1s,已经不具有可用性。
如图5所示为1K以内小文本每秒请求数对比分析。
  
图5所示为每秒请求数对比分析
如图6所示为59K中大型文本每秒请求数对比分析。
  
图6 59K中大型文本每秒请求数对比分析
从每秒请求数(Requests persecond)对比图来看,可以得出以下结论:
(a)从1K以内小文本来看,Apache的3000并发是分水岭,有理由相信:Apache的事件响应机制在3000并发的时候可能存在变化,3000以内继续以前的Select机制,3000以上改采用Poll的机制;
(b)整体来看,5000点以内Nginx的性能最卓越,但是5000以上,Apache已经超越了Nginx的性能;
(c)对于Lighttpd的中大型文本来说,每秒请求数基本恒定,个人分析与Lighttpd的mod_compress模块使用的Cache机制有关。

测试结论及设计思路
1.从并发量来考虑:
对于1000并发以内,可以考虑采用Apache作为项目的Web服务器。
对于1000-5000之间的并发数量,请选择Nginx作为Web服务器。
单机5000以上的并发,图片、HTML等都不会是小型的文本,考虑页面的可用性,单机建议不予考虑5000以上的并发。
2.从每秒请求数来考虑:
基本上每秒请求数和每秒PV值之间有一个10%的经典换算规律,所以项目根据经典以及每个产品的实际情况,可以从PV的角度演算出每秒请求数后再结合本次分析来制定Web服务器的选择方案。
每秒请求数6000以上,建议选择Nginx作为Web服务器;
每秒请求数6000以内,可以考虑在Apache和Nginx之间做出选择;
由于Lighttpd主要是在fastCGI方面性能卓越,但如果是Java应用,建议任何时候都不要选择Lighttpd作为Web服务器。
根据本系统的需求分析及以上测试结果,有理由支持在本系统设计时,以NIGNIX为前端HTTP服务器,另外,为了提高响应速度,必然需要采用cache算法,而根据目前的应用以及memcached的强大功能及易用性,因此,memcached是必然的选择。

推荐阅读

[守望者   java初中级视频]22_javaNIO,AIO编程
[守望者 java初中级视频]22_javaNIO,
内容简介:本课程介绍阻塞,非阻塞,同步和异步的基本概念,介绍javaNIO,AIO
[守望者 算法视频]01_数据存储(链表与数组)
[守望者 算法视频]01_数据存储(链表与
本章重点介绍数据的在计算机的存储方式 :连续存储(数组)与链式存储,同时
[守望者   java初中级视频]00_java初中级课程学习导航
[守望者 java初中级视频]00_java初中
内容简介:全面贾少这套视频课程学习需要具备的理论基础,以及适合的学习人群
[守望者 算法视频]08_数据查找_hash算法
[守望者 算法视频]08_数据查找_hash算
守望者:普通逐个查找O(n),组织方式可以无序的数组或者普通链表。已经排序的
[守望者 linux视频]01_开发工具与开发平台
[守望者 linux视频]01_开发工具与开发
本课主要介绍gcc,gdb等系列开发工具,开始编写程序之旅。要求理解Linux开发平
[守望者 linux视频]02 进程内存管理与valgrind的使用
[守望者 linux视频]02 进程内存管理与v
本课主要介绍Linux可执行文件与进程内存结构, Linux进程结构及内存申请与释放
[守望者 C和指针]11_高级指针_C_面向对象
[守望者 C和指针]11_高级指针_C_面向对
(1) 彻底解决指针、取地址后的类型问题。(2) 回调函数示例。
[守望者 算法视频]02_数据逻辑组织_线性关联_栈与队列
[守望者 算法视频]02_数据逻辑组织_线
数组与链表是数据存储的基本方法。栈与队列是两种特殊的数据成员管理方式。栈
[守望者  java初中级视频]01_java环境搭建
[守望者 java初中级视频]01_java环境
内容介绍:学习如何搭建一个java的开发环境,配置JAVA_HOME,Classpath,path等
[守望者 算法视频]07_数据查找_普通查找与二分查找
[守望者 算法视频]07_数据查找_普通查
守望者:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;
[守望者 算法视频]03_数据逻辑组织_树_二叉树
[守望者 算法视频]03_数据逻辑组织_树_
树是为了解决链表查找时是线性特点,树采用一分为多的方式,例如二叉树采用一
[守望者  java初中级视频]02_java语法基础
[守望者 java初中级视频]02_java语法
内容简介:介绍java语法的基础,包括常量,变量,作用域,以及常用运算符,对
[守望者 C和指针] 01_C语言快速上手
[守望者 C和指针] 01_C语言快速上手
01C程序设计快速上手课程基础 前导课程:熟悉使用Windows,熟悉编程工具(VS
[守望者 Linux 视频]09_执行单元_进程异步_信号
[守望者 Linux 视频]09_执行单元_进程
本章重点介绍Linux系统下信号的基本原理,异步与同步区别,信号的产生,安装
[守望者 算法视频]05_数据逻辑组织__红黑树
[守望者 算法视频]05_数据逻辑组织__红
守望者:1972年 由Rudolf Bayer发明的,他称之为“对称二叉B树”,它现代的名

行业聚焦  面试交流  职位推荐  开发视频   技术交流  腾讯微博  新浪微博

友情链接:课课家教育  阿里云  鲜果  W3Cfuns前端网  中国企业家  环球企业家  投资界  传媒梦工场  MSN中文网  Android开发者社区  cnbeta  投资中国网  又拍云存储  美通说传播  IT茶馆  网商在线  商业评论网  TechOrange  IT时代周刊  3W创新传媒  开源中国社区  二维工坊  Iconfans  推酷  智能电视网  FreeBuf黑客与极客  财经网  DoNews  凤凰财经  新财富  eoe移动开发者社区  i黑马  网易科技  新浪科技  搜狐IT  创业家  创业邦  腾讯财经  福布斯中文网  天下网商  TechWeb  雷锋网  新浪创业  和讯科技  品途O2O  极客公园  艾瑞网  抽屉新热榜  卖家网  人民网通信频道  拉勾网  创新派  简单云主机  

手机版|黑名单|守望者在线 在线教育 linux 高级程序设计 C/C++ 大数据 ( 蜀ICP备14029946号

成都守望者科技有限公司 © 2013-2016 All Rights Reserved