Web server调研分析 - (转发)

标签: web server 分析 | 发表时间:2011-10-13 11:14 | 作者:appleleaf jiaosq
出处:http://www.kernelchina.org

原文地址:http://stblog.baidu-tech.com/?p=755

摘要

简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群。本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多个方面进行分析。

调研分析 业界相关

从业界使用情况来看,最新Web Server使用情况的数据如下:Nginx的使用率是6.6%,Lighttpd的使用率是0.51%。

wp-display-data

从文档来看,nginx中文相关文档越来越多。来自最新的百度搜索数据显示,nginx的网页数量是lighttpd的10倍。目前国内对于 Nignx内核深入研究的人越来越多,有淘宝、sina、腾讯等许多大公司的技术人员参与研究,并进行相关的技术交流。对于Lighttpd的研究,目前主要是公司内部和一些学生。

从业界的点评来看,国内外基本上结论如下:

  • 两者都是异步WebServer,都采用了状态机。本质上是相同的。
  • Nginx稳定度高于Lighttpd。Lighttpd一直存在一定的内存泄漏。
  • 性能上两者都非常优秀,Nginx有一定优势。
  • Nginx在综合性能上更加优秀,更有可能成为未来的apache。

从社区活跃度来看,Nginx每月2到3个三位版本发布。Lighttpd3位版本更新较慢,目前1.5的版本基本上没有更新过。同时Nginx有丰富的第三方库类。

架构原理

代码层次

Nginx的代码量10W行,Lighttpd是5W左右。相对来说,Nginx的代码层次结构更加分明,具体代码结构如下:

wp-display-data_001

Nginx和lighttpd都是采用C语言编写的,对于基础数据结构都有一定的处理。Nginx中关于数据结构的代码主要放在core文件夹里面。

read more

相关 [web server 分析] 推荐:

Web server调研分析

- flychen50 - 搜索研发部官方博客
简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群. 本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多个方面进行分析. 从业界使用情况来看,最新Web Server使用情况的数据如下:Nginx的使用率是6.6%,Lighttpd的使用率是0.51%.

Web server调研分析 - (转发)

- jiaosq - kernelchina
原文地址:http://stblog.baidu-tech.com/?p=755. 简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群. 本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多个方面进行分析.

[转][转]Web server调研分析

- - heiyeluren的blog(黑夜路人的开源世界)
作者:liqiang (http://blog.xiuwz.com/). 来源:http://stblog.baidu-tech.com/?p=755 . 简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群. 本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多个方面进行分析.

Apach警告Web Server发现拒绝服务漏洞

- coofucoo - Solidot
Apache发出警告,Apache HTTPD Web Server中发现拒绝服务漏洞,受影响的版本包括Apache 1.3分支和Apache 2分支的所有版本. Apache表示将在未来48小时内发布补丁. 名叫Apache Killer的攻击工具上周五发布在Full Disclosure邮件列表.

阅读 py-web-server: 让你了解 webserver 的实现方式

- Eric - python.cn(jobs, news)
这个系统的写作目的,是让对web编程有兴趣的程序员,了解webserver的实现方式. 根据这个目的,系统遵循以下几个设计原则:. 效率,安全性,特性不是最重要的. 目前稳定使用请用stable分支,不要使用default分支. 开始是从prefork模式开始,做到threading模式,然后是poll模式,把所有python下的服务器模式学了一遍,目前是用greenlet加上epoll来做出一个高性能socket抽象,然后在上面实现rfc2616,——而且是比较完整的实现.

构建实时Web的JAVA选择组合:socket.io client + socketio-netty server

- - BlogJava-首页技术区
     摘要: 很显然,实时Web,是一种技术趋势,将成为一种人们的默认技术选择,用以拉近和桌面应用的距离. socket.io是一种数据实时推送、事件驱动模型的框架,支持事件订阅,简单易用. 其价值目前看来,还未被完整的挖掘出来. socket.io即提供了node.js服务器端(地址)又提供了客户端(地址)的整体解决方案,而socketio-netty则是基于JAVA服务器端,支持最新socket.io client最新版规范.

通过ngxtop实时监控web server的访问情况

- - CSDN博客系统运维推荐文章
ngxtop现在虽然还有些问题,如本文最后,但开源才15天,值得期待. 安装后python2.7所在路径. 为保持python2.4不变,建立python2.7的软连接指向python2.7所在路径. 2、安装setuptools. 3.1、通过pip安装ngxtop,因为源在国外,可能下载、安装过程会很慢.

SQL Server--索引

- - CSDN博客推荐文章
         1,概念:  数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力..             2.1优点:  1,大大加快搜索数据的速度,这是引入索引的主要原因..                             2,创建唯一性索引,保证数据库表中每一行数据的唯一性..

SQL Server 面试

- - SQL - 编程语言 - ITeye博客
在SQL语言中,一个SELECT…FROM…WHERE语句称为一个查询块,将一个查询块嵌套在另一个查询块的WHERE子句中的查询称为子查询. 子查询分为嵌套子查询和相关子查询两种. 嵌套子查询的求解方法是由里向外处理,即每个子查询在其上一级查询处理之前求解,子查询的结果作为其父查询的查询条件. 子查询只执行一次,且可以单独执行;.

什么是Server SAN? Server SAN精解

- - 云存储技术网--光头老蒋
Server SAN是现在一个全新的概念,现在给出的概念都太笼统. 按照老蒋的想法:Server San应该是一个利用软件将基于DAS存储(包含闪存卡,直连存储)的集合,做成一个能共享的SAN存储网络.      SAN存储区域网,大家都很熟悉. 普遍使用的就两种: FC SAN;ISCSI SAN.