优化
1 最大连接数
默认是1024
修改 server.max-fds,大流量网站推荐2048.
因为lighttpd基于线程,而apache(MPM-prefork)基于子进程,
所以apache需要设置startservers,maxclients等,这里不需要
2 stat() 缓存
stat() 这样的系统调用,开销也是相当明显的.
缓存能够节约时间和环境切换次数(context switches)
一句话,lighttpd.conf加上
server.stat-cache-engine = “fam”
lighttpd还另外提供simple(缓存1秒内的stat()),disabled选项.
相信没人会选disabled吧.
3 常连接(HTTP Keep-Alive)
一般来说,一个系统能够打开的文件个数是有限制的(文件描述符限制)
常连接占用文件描述符,对非并发的访问没有什么意义.
(文件描述符的数量和许多原因有关,比如日志文件数量,并发数目等)
这是lighttpd在keep-alive方面的默认值.
server.max-keep-alive-requests = 128
server.max-keep-alive-idle = 30
换言之,lighttpd最多可以同时承受30秒长的常连接,每个连接最多请求128个文件.
但这个默认值确实不适合非并发这种多数情况.
lighttpd.conf 中减小
server.max-keep-alive-requests
server.max-keep-alive-idle
两个值,可以减缓这种现象.
甚至可以关闭lighttpd keep-alive.
server.max-keep-alive-requests = 0
4 事件处理
对于linux kernel 2.6来说,没有别的可说
lighttpd.conf中加上这一句足矣
server.event-handler = “linux-sysepoll”
另外,
linux 2.4 使用 linux-rtsig
freebsd 使用 freebsd-kqueue
unix 使用 poll
5 网络处理
lighttpd 大量使用了 sendfile() 这样一个高效的系统调用.
减少了从应用程序到网卡间的距离.
(同时也减少了lighttpd对cpu的占用,这部分占用转嫁到内核身上了)
根据平台,可以设置不同的参数.
server.network-backend = “linux-sendfile”
(linux)
freebsd: freebsd-sendfile
unix: writev
如果有兴趣的话,也可以看看lighttpd在async io(aio)上的实现,仅限 lighttpd 1.5
(linux-aio-sendfile, posix-aio, gthread-aio)
此外,网络方面,核心的参数也需要适当进行修改,
这里就不需要详细说明了.
分享到:
相关推荐
### Lighttpd性能优化 #### 概述 Lighttpd是一款轻量级的HTTP服务器软件,因其低资源消耗和高效能处理能力而受到广大开发者的青睐。它全面支持FastCGI,这使得开发者能够轻松地集成多种编程语言来构建动态网站。...
### Lighttpd优化指南 #### 概述 在IT领域,特别是Web服务器管理与优化方面,Lighttpd作为一款轻量级的Web服务器软件,在处理高并发请求时表现出了其独特的优势。本指南旨在帮助系统管理员及开发人员通过优化...
3. **低内存消耗**:lighttpd优化了内存管理,即使在资源有限的环境下也能保持良好的运行状态。 4. **安全特性**:内置了防止DoS攻击的机制,提供了访问控制、速率限制等功能,确保服务器安全。 5. **配置简单**:...
在lighttpd-1.4.45中,这些优点得到了进一步的强化和优化。 首先,我们来探讨lighttpd的性能优势。lighttpd采用异步事件驱动模型,这意味着它可以同时处理大量并发连接,而不会像某些同步模型的服务器那样,随着...
6. **URL重写**:`url.rewrite` 使用正则表达式进行URL重写,可以实现动态请求的处理和SEO优化。 7. **MIME类型**:`mimetype.assign` 配置不同文件类型的MIME类型,影响浏览器如何解析文件。 8. **速率限制**:`...
Varnish和Lighttpd是两个非常重要的开源Web服务器软件,它们在Web性能优化和负载均衡方面发挥着关键作用。Varnish作为一个高性能的HTTP缓存代理,常用于减轻后端服务器的压力,提高网站响应速度;而Lighttpd则是一款...
在lighttpd-1.4.20版本中,我们有机会深入研究其源代码,理解其内部机制和优化策略。 1. **项目结构分析** lighttpd的源代码结构清晰,主要分为几个核心部分:配置解析、网络处理、模块系统、HTTP协议处理、内存...
5. **性能优化**: 考虑到ARM平台的性能限制,可以调整lighttpd的配置以优化性能,比如设置合适的并发连接数、开启缓存机制等。 6. **日志管理**: lighttpd的日志记录可以帮助监控服务器状态和排查问题。合理配置...
2. 高性能:通过优化的事件驱动模型,lighttpd能够快速响应请求,特别适合动态内容较少、静态内容为主的网站。 3. 模块化设计:lighttpd支持多种插件,如FastCGI、SSI、URL重写等,方便扩展功能,同时也便于代码...
5. **测试和优化**:重启lighttpd服务,然后通过浏览器或其他客户端测试视频流是否正常工作。如果一切顺利,你应该能看到MP4视频能正常播放并支持快进操作。根据实际性能和用户反馈,可能需要进一步调整配置以优化...
lighttpd 1.4.20是其历史上的一个重要版本,提供了丰富的模块支持和优化特性。 **CMake简介** CMake是一种跨平台的构建工具,它可以生成特定平台的构建文件,如Unix下的Makefile或Windows的Visual Studio项目。...
综上所述,Lighttpd的源码分析涵盖多个层面,从网络通信到请求处理,再到模块扩展性,以及性能优化和安全性。通过深入分析Lighttpd的代码,开发者不仅能掌握其设计原理和架构特性,还能学习到如何编写高效、安全的...
《lighttpd-1.4.30:轻量级Web服务器的配置与应用》 lighttpd是一款轻量级的Web服务器,以其高效的性能、低内存占用和丰富的功能而受到许多开发者的青睐。在本篇文章中,我们将深入探讨lighttpd-1.4.30版本的特性和...
3. **优化的内存管理**:lighttpd通过优化的内存分配策略,减少了内存碎片,提高了内存使用效率。 4. **安全特性**:内置的安全防护机制,如防盗链、限速、访问控制等,保护了服务器免受恶意攻击。 5. **快速的URL...
架构层面的分析有助于理解Lighttpd如何优化性能和资源使用。 2. **核心模块功能**:文档可能会对Lighttpd的关键模块进行深入解析,例如其事件驱动的核心模块、模块加载机制、以及处理请求的流程。这对于理解服务器...
5. **性能调优**:通过调整lighttpd配置和优化CGI脚本,降低延迟,提高并发处理能力。 总结,lighttpd通过RESTful API和CGI实现了动态内容和服务的高效提供。理解并熟练掌握这种集成方式,能帮助开发者构建出高效、...
《lighttpd:轻量级Web服务器的深度解析与配置指南》 lighttpd是一款开源、轻量级的Web服务器,其设计目标是提供高效、安全的互联网服务。标题中的"lighttpd-1.4.49.tar.gz"表明我们获取的是lighttpd的1.4.49版本...
lighttpd-1.4.59是该软件的一个稳定版本,包含了多项性能优化和安全更新。 二、系统需求 lighttpd可运行于多种操作系统上,包括Linux、FreeBSD、OpenBSD、Mac OS X等。在安装前,请确保你的系统满足以下基本要求:...