关于网站表现层和后台的一点思考--以及转载的三大WEB服务器(Apache ,Lighttpd,Nginx)对比分析

news/2024/5/11 1:02:26/文章来源:https://blog.csdn.net/etetet029/article/details/5671065

最近对大型网站有了一些深入的思考和了解:

一个典型的架构是这样的:

模块一:php在apache(包括fcgi)网站给外部的访问者,可以说是一个UI接口界面;

模块二:c++写个后台实时服务程序,通过调用fcgi实时获取外部客户的访问请求,根据请求的字符串内容来给予适当的处理,并做出响应给php,php以一定的组织方式表现给客户;

模块三:后台服务程序可以把重要的数据存放到数据库,并在需要的时候从数据库读取出来来处理;

 

其中模块一和模块二在局域网内通过tcp/ip协议来传递数据,从而实现MVC三层架构模型的表现层和业务逻辑处理层和完全分离,在这里,apache和fcgi就是控制器;

 

 

如下内容来自:http://www.cyask.com/question.php?qid=563

一.软件介绍(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.
19954, 最早的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) 支持java servlets
3.nginx
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.
Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpdmod_proxy也有一些问题并且很久没有更新。但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。
nginx做为HTTP服务器,有以下几项基本特性:
处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.
无缓存的反向代理加速,简单的负载均衡和容错.
FastCGI,简单的负载均衡和容错.
模块化的结构。包括gzipping, byte ranges, chunked responses,以及 SSI-filterfilter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就稳定性而言,nginxlighthttpd更胜一筹。
Nginx支持热部署。它的启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。
.3WEB服务器的比较:

serverApacheNginx 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 RequestsperSecondTime taken for tests
100000/1006460462.7521.6
100000/2006760312.0732.4
100000/5008360137.2472.8
100000/1000
出现错误丢包
9460126.678.9

NGINX

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
100000/10034.6140943.6610.597
100000/20035.6110924.3210.818
100000/50034.3110912.6810.956
100000/100037160832.5912.106

APACHE

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
100000/10040.6170690.7214.47
100000/20041.1180685.3914.59
100000/50042.3190633.6415.78
100000/100043.1200547.5318.26

l 动态页面 内部社区首页
LIGHTTPD

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
1000/1005020033.5429.816
1000/2005221030.4332.858
1000/5005423025.7938.76
1000/10006225024.8340.28

NGINX

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
1000/10053.825083.1212.305
1000/20055.825074.0513.504
1000/5005626058.9916.951
1000/10005826043.4123.347

APACHE

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
100000/1006020027.3736.541
100000/2006122023.8241.981
100000/5007315020.5948.562
100000/10005320027.1836.796

l PHPINFO函数页
LIGHTTPD

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
100000/1004520168.0659.504
100000/2004722140.6471.103
100000/500492452.80189.386
100000/1000在请求到4840时测试测试程序死掉

NGINX

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
100000/10070120143.4669.706
100000/20072130140.5771.140
100000/50073150135.8773.601
100000/100077160132.1875.657

APACHE 出现丢包

n/-c(ab参数)cpu%MemRequestsperSecondTime taken for tests
100000/10070180245.7340.694
100000/20072190245.7940.684
100000/50075200241.2941.443
100000/100077220236.7442.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
Sogou   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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_891069.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对象{}、防抖与节流、常用日期对象、new 操作符做了哪些事(面试题)、计时器与定时器、递归、阻止对象的默认行为、mouseover 和 mouseenter的区别

目录 一、对象是什么? 二、对象的构成 1.属性 2.方法 三、对象的创建及使用 创建对象的三种方式 1.对象字面量: 2.利用new Object创建对象 new 操作符做了哪些事(面试题) 3.利用构造函数创建对象 for in 遍历对象 Ob…

企业站的最新导航标—SEO优化

于亿万网站之中,怎样让用户能够第一时间发现你的踪迹,点击、浏览、达成交易。这就是现在企业站比较重视的另一种营销模式——网站SEO优化。 以国内最大搜索引擎商为例,它们的竞价推广价格不菲,针对于中小企业而言,成本…

做SEO优化必须要做内容营销

百度算法规则更改之后,重点着重于用户体验,由此笔者小丹将原来的外链为主转移到了内容方面。直白简述,当下的SEO优化比较接近于内容营销。 当然,这里的内容营销并非是天外之笔,而是结合当下现在的稀缺性资源。今天笔者…

网站优化的未来趋向于UEO

SEO优化是现在网站推广中比较热门的优化方式,但是我们不知道SEO究竟能够走多远。笔者小丹之前看到过这样一篇文章,意思无外乎是SEO优化遇到了瓶颈,谷歌已经不再“信任”SEO优化。 作为世界第一搜索引擎的谷歌拒绝了SEO,而国…

解读SEO优化要注意的必须因素

SEO行业已经成为现在网站推广中最为热门的技术行业之一,现在大多数网站都配备自己专门的SEOer,其无论优化技术如何,都要围绕优化的必需因素来进行。 之前笔者小丹有分享过,影响SEO优化结果的因素多大二百多项,要…

求同存异的网站优化

SEO似乎已经成为现在网站推广的代名词之一,面对不同类型的网站我们的优化侧重点是否相同呢?这个可以说是仁者见仁智者见智了。现在网络如果按网站内容来划分的化可以分为企业站、博客、导航和商城,那么针对不同的网站我们要如何来对待呢&…

不能不知道的网站内部优化奥秘

搜索引擎算法规则的更新使得很多SEOer将工作重心移到了站内优化上。这不仅使得大家更为注重基础优化,对于网站信息内容和内链的质量要求上也更为关注。 做网站内部优化笔者小丹之前主要是集中在内链布局上,然后对于站内优化链接仅仅是其中的一部分&#…

软硬兼施的网站优化方式

网站优化到底我们要达到的目的是什么?很多SEOer会说是网站转换率和网站营销额。谨然如此,而事实上很多网站维护者更看重的是表象—网站排名。 其实作为一个“肤浅”的SEOer并不是什么可耻的事情,相反的在亿万万小型企业网站中,你只…

SEO实战:网站排名不靠外链靠基础

内容、外链是日常优化工作的必须,由于百度的绿萝算法把外链的质量进行的评估限定,使得一直以外链为主要SEO手段的网站受到了抨击。怎样的网站优化方式才能够让网站稳定,网站排名也能够提升呢?其实网站自身的质量更为重要。今天笔者…

凡客前副总张小军开服装B2C网站已获亿元风投

1月12日消息,薄荷时尚商城总裁赵承今日在其微博中爆料,前凡客诚品网“某”副总最近上线一个服装B2C网站成格风尚,该网站已获得2亿元的风投。 “又新上线一个服装行业电商 CEO是前凡客某副总,投资方也很厉害,上来就投2个…

凡客诚品官方网站:精彩生活从凡客开始

点此进入凡客诚品官方网站vancl.com 自从改革开放一直到今天,人们的生活水平翻了好几翻,在生活水平提高的同时,科学技术也在跟着提高,现在是讲究高效的时代,效率、时间决定一切。人们都很忙碌,没有多少人有…

大型互联网站解决高并发的常见策略

本文转自:http://www.javabloger.com/article/high-concurrent-common-coping-strategies.html 一个运营的系统在正式上线后将会遇到各种层级的高并发请求,因此我们必须对此做出相应的策略和技术解决方案,首先我们需要认清系统的高并发由3个层…

大型互联网站解决海量数据的常见策略

本文转自:http://www.javabloger.com/article/big-data-architecture.html 大型互联网站的数据存储与传统存储环境相比不仅是一个服务器、一个数据库那么简单,而是由网络设备、存储设备、应用服务器、公用访问接口、应用程序 等多个部分组成的复杂系统。…

在IIS上部署ASPNETMVC Beta网站

在IIS上部署ASPNETMVC Beta网站 在IIS上部署ASPNETMVC Beta网站,实际上和在IIS上部署其他类型的网站并没有太大的区别。个人觉得唯一比较有意思的是在配置IIS时,我们可以配置各种自定义的ISAPI扩展名(也在MVC应用配置的,通常在Gl…

网页制作--苹果官方网站模仿

初入WEB前端设计第四天,我仿着做了一个网站,做的很垃圾,也没有一些约束(浏览器页面小时会显示错误) 成品图如下: 在这里我用了CSS字体 font awesome,不懂的可以去这篇博客:CSS图标…

初学盲打,免费,免安装,高颜值的在线打字练习网站

小时候不怎么接触电脑没有练习过打字,长大后深刻地意识到盲打对工作效率的提高,于是下决心学盲打。和大家一样,刚开始的时候四处搜寻办法,直到遇见了下面两个网站。 免费免安装,高颜值 练习打字的网站,均无…

分享一个打字练习网站

成为一个优秀的程序员,打字速度虽然不是必要条件。但是一个打字快的程序员,必然会享受自己的打字速度,速度快听着啪啪声实在是爽的不行。 Ratatype Ratatype 是一个在线的打字教程网站,能够帮助你提高键盘输入速度。 TYPING TUTO…

微信域名防屏蔽防封系统,轻松微信中域名网站被屏蔽被封的问题

做微信营销活动,域名没被封过,那你的营销人生肯定是不完整的。如果做到微信域名防封呢?这就要借助一些工具来实现有效的防封措施了。 第一步 你需要有一个微信域名检测接口,自己开发或是购买都可以。 第二步 配置你的程序&…

为什么中国免费学习网站那么少?都是收费的?

最近看到很多微信公众说不用钱,免费资料,但是到最后还是收钱,气人啊 ,一个学学习程序员的新手有没有钱,什么程序员免费资源等等公众号,最后找到一个良心公众号真的免费资料,就是资源有点少&…

关于IIS6.0配置网站打开出现空白问题解决方法

1)iis配置中默认文档未设置成【index.html】 如图 2)未把html交给.net托管 配置html给.net托管如下 1.打开IIS属性找到主目录选项卡 2.点击【配置】出现如下图 在其中ISAPI扩展中添加一条扩展名为【.html】的记录 其中可执行文件大多数都在【C:\WINDOWS\Microso…