lighttpd,thttpd,shttpd - 轻量级WebServer介绍

lighttpd,thttpd,shttpd - 轻量级WebServer介绍

lighttpd,thttpd,shttpd - 轻量级WebServer介绍

Filed under: lighttpd, Web Server, thttpd — allen @ 8:27 pm

转自 Zhiqiang::He 博客.

国内绝大部分的web server不是IIS就是Apache,而论市场占有率,我认为Apache是大赢家了,至少是占据了半壁江山。

但除了IIS/Apache外,其实我们有很多选择,对于高负载/大并发的网站而言,高性能、轻量级的web server是一剂良药。最近手头一台Server 的负载太高,居然将swap吃光导致机器非常缓慢,后来一查,原来是Apache耗掉了几乎所有资源,当时apache进程已有9XX个了。

于是用轻量级的web server替换掉apache就进入了日程表。这里顺带介绍一下这些可选的对象:
lighttpd | thttpd | shttpd

lighttpd

官方主页:www.lighttpd.net

Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能,而Apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用 户是非常重要的,因为迁移到lighttpd就必须面对这些问题。

在google搜索了一下,简体中文介绍lighttpd的文章几乎没有,大多数都是台湾同胞的Big5内容。因此在接下来的时间里,想好好写一篇介绍lighttpd,以及简单的benchmark的文章。

实用起来lighttpd确实非常不错,上文提到的apache overload的问题,用lighttpd就完全解决了。apache主要的问题是密集并发下,不断的fork()和切换,以及较高(相对于 lighttpd而言)的内存占用,使系统的资源几尽枯竭。而lighttpd采用了Multiplex技术,代码经过优化,体积非常小,资源占用很低, 而且反应速度相当快。

利用apache的rewrite技术,将繁重的cgi/fastcgi任务交给lighttpd来完成,充分利用两者的优点,现在那台服务器的负载下降了一个数量级,而且反应速度也提高了一个甚至是2个数量级!

thttpd

官方网站:http://www.acme.com/software/thttpd/
thttpd是一个非常小巧的轻量级web server,它非常非常简单,仅仅提供了HTTP/1.1和简单的CGI支持,在其官方网站上有一个与其他web server(如Apache, Zeus等)的对比图+Benchmark,可以参考参考。此外,thttpd 也类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是采用多路复用(Multiplex)技术来实现。因此效能很好。

Thttpd支持多种平台,如FreeBSD, SunOS, Solaris, BSD, Linux, OSF等。对于小型web server而言,速度快似乎是一个代名词,通过官方站提供的Benchmark,可以这样认为:thttpd至少和主流的web server一样快,在高负载下更快,因为其资源占用小的缘故。

Thttpd还有一个较为引人注目的特点:基于URL的文件流量限制,这对于下载的流量控制而言是非常方便的。象Apache就必须使用插件实现,效率较thttpd低。

shttpd

官方网站:http://shttpd.sourceforge.net/ Shttpd是另一个轻量级的web server,具有比thttpd更丰富的功能特性,支持CGI, SSL, cookie, MD5认证, 还能嵌入(embedded)到现有的软件里。最有意思的是不需要配置文件!由于shttpd可以嵌入其他软件,因此可以非常容易的开发嵌入式系统的web server,官方网站上称shttpd如果使用uclibc/dielibc(libc的简化子集)则开销将非常非常低。以下是其特点:

Stand-alone server, or embeddable into existing C/C++ program
GET, POST, PUT, DELETE methods
CGI
SSL
Digest (MD5) authorization
Multiple (and user defineable) index files
Directory listing
Standard logging
Cookies
inetd mode
User-defineable mime types
No configuration files
No external dependencies

由于shttpd可以轻松嵌入其他程序里,因此shttpd是较为理想的web server开发原形,开发人员可以基于shttpd开发出自己的webserver

posted on 2007-03-24 12:54 浙林龙哥 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/huqingyu/archive/2007/03/24/686292.html

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

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

相关文章

spring mvc学习(35):restful的put

创建maven项目就不说了&#xff0c;需要的找我前面的博客 pom.xml文件 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http…

一、词向量模型

因为计算机不能理解词语&#xff0c;所以我们需要用词向量表示一个词。 词向量有一个发展历程&#xff1a;从one-hot到word embedding。 1 one-hot 设词典的大小为n&#xff08;词典中有n个词&#xff09;&#xff0c;假如某个词在词典中的位置为k&#xff0c;则设立一个n维向…

【广告】我妹妹导演的毕设——数字传媒摄影作品

我妹妹涂华思宇导演的作品&#xff0c;也是她的本科毕业设计&#xff5e; https://www.xinpianchang.com/a10452218 欢迎各位点击&#xff01; 涂华思宇,initiated四川文化艺术学院 2019/6/30 tz,postedcroplab,HZAU 2019/7/16转载于:https://www.cnblogs.com/acm-icpcer/p/111…

spring mvc学习(36):jstl的jar包的下载

1. 我们在使用spring框架的时候导入jstl标签库需要使用到jstl的jar包&#xff0c;假如没有加入到eclipse的lib目录下&#xff0c;使用alt /的时候不会有提示&#xff0c;所以我们需要把这个jar包加进来 首先登陆网址&#xff1a;http://tomcat.apache.org/taglibs/ 找到下面的…

同学的QQ群上

这是去年5月25日事情&#xff0c;现在看着还挺逗 一个新上任的管理员突然很郁闷发言说道“还没踢过人呢&#xff0c;哪个同学能让我踢一下&#xff1f;”立即有2个响应者&#xff0c;这2个同样是管理员&#xff0c;但也同样没有踢过人的经验&#xff0c;对此极感兴趣。于是遍寻…

二、语言模型

文章目录1 语言模型2 语言模型评价指标&#xff1a;Perplexity3 基于神经网络的语言模型3.1 RNN3.2 LSTM3.3 GRU4 优化函数5 模型代码6 用途与评价1 语言模型 语言模型的任务是判断一句话出现的概率&#xff08;也就是说一句话是不是人说的&#xff09;&#xff0c;可以表示为…

spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)

EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <% %> j2ee1.4以前版本需指定<% page isELIgnored"false"> j2ee1.4以后版本默认支持EL表达式 1.EL内置对象 EL内置11个对象,不需定义可直接使用 pageS…

[计划]二〇〇七年年度计划

2007年终于到了&#xff0c;同时也是我们该规划这一年的时候了。不虚度此生&#xff0c;就从现在开始&#xff01; 完成去年计划中的研究生入学考试&#xff1b; 完善目前的"智能英语单词学习"项目&#xff1b; 完成"博客管理系统"项目&#xff1b; 完成&…

DM入门之Apriori小结

Apriori算法&#xff1a;使用候选项找频繁项集Apriori算法是关联分析中一种基本算法&#xff0c;用于挖掘布尔关联规则频繁项集。原理&#xff1a;利用频繁项集的先验知识&#xff0c;使用逐层搜索的迭代方法&#xff0c;使用k项集探索(k1)项集。这里先看哈二维Apriori算法。&a…

三、自然语言分类

文章目录1 数据准备1.1 数据集拆分1.2 创建词库vocabulary1.3 batch数据&#xff0c;创建Iterator2 Word Averaging模型3 RNN模型4 CNN三种分类方式&#xff1a;Word Averaging模型、RNN、CNN。1 数据准备 第一步是准备数据。代码中用到的类库有spacy、torchtext。 torchtext中…

spring mvc学习(38):Unknow tag(c:forEach)错误解决办法,jstl.jar包以及standard.jar包下载与导入

解决问题步骤&#xff1a; ①&#xff1a;下载jstl.jar和standard.jar 点击下载jstl.jar 点击下载standard.jar ②&#xff1a;将两个包剪切到项目中的WEB-INF/lib文件夹内 右键加到eclipse环境中---bulidpath--add to path 第一行代码<% pagelanguage"java" im…

Flex【原创】Xml与Object互转/读写本地Xml文件

最近操作Xml文件比较多&#xff0c;因此封装了一下Xml文件操作类 主要功能包括&#xff1a; 1.Xml 转 Object 2.Object 转 Xml 3.读取本地Xml&#xff08;air&#xff09; 4.Xml写到本地&#xff08;air&#xff09; 代码如下&#xff1a; package {import flash.events.Eve…

处理SPS错误:只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态...

1、C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS目录里的 web.config文件里添加&#xff1a;<add name"Session" type"System.Web.SessionState.SessionStateModule"/> 加在<httpModules>里&am…

nlp中的经典深度学习模型(一)

文章目录1 DNN与词向量1.1 DNN1.2 skip-gram1.3 简单句子分类模型DAN2 RNNLSTMGRU2.1 RNN2.2 LSTM2.3 LSTM变种2.4 递归神经网络2.5 双向RNN2.6 堆叠RNN1 DNN与词向量 1.1 DNN 神经网络中每一个神经单元是一个线性变化加一个激活函数 sUTasU^TasUTa af(z)af(z)af(z) zWxbzWxb…

spring mvc学习(39):restful的crud实现删除方式

上图是目录结构&#xff0c;本节是有问同学的&#xff0c;当好好总结 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0…

像程序员一样地思考

在成为程序员的道路上&#xff0c;要经历四个坎坷&#xff0c;让我们用四个境界来标明他们。 第一境界&#xff0c;就是前面所说的&#xff0c;掌握一门或则几门编程语言&#xff0c;会模仿例子来实现程序代码&#xff0c;并且让代码在计算机系统中运行起来。达到这个境界的人…

基于Hibernate+spring的公司网站打造中(二)

在JbossIDE上搭建hibernatespring 资源收集&#xff1a;一.下载JDK 地址&#xff1a;http://www.java.com/zh_CN/或者网上搜索 文件&#xff1a;jdk-1_5_0_07-windows-i586-p.exe 63.4M 二.下载JbossIDE2.1下载JBoss IDE for Eclipse 地址:http://mirror.in.th/sourceforg…

nlp中的经典深度学习模型(二)

attention和transformer都是面试重点。 文章目录3 seq2seqAttention3.1 Sequence to Sequence Model3.1.2 模型介绍3.1.2 模型训练3.2注意力机制3.2.1介绍3.2.1“Bahdanau” style attention3.2.2“Luong” style attention4 Transformer4.1 Multi-head Attention4.1.1 自注意力…

spring mvc学习(40):restful的crud实现增加方式

上图是目录结构&#xff0c;本节是有问同学的&#xff0c;当好好总结 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0…

1:25万全国地形数据库说明(转)

总况1、数据库构成  全国1&#xff1a;25万数据库&#xff0c;是国家基础地理信息系统三个全国性空间数据库之一。它由地形数据库、数字高程模型&#xff08;DEM&#xff09;数据库、地名数据库三部分构成。地形数据库&#xff1a;以矢量方式存储管理1&#xff1a;25万地形图…