lighttpd VS ngix 性能比较,技术架构比较
来源:互联网 发布:淘宝商品网页编号 编辑:程序博客网 时间:2024/06/10 04:25
最近在公司里进行了一次深入HTTP分享,有同事提到了lighttpd在处理大文件时性能很差,不如ngix. 之前也没有对ngix研究过,所以无法评估.加上这么多年的linux上大型系统的开发经验和仔细研究过lighttpd 的代码,当时对同事的答复是估计ngix也提高不了到哪里去,最多10%,只是代码写法的一点差异. 同事们不太相信. 结束后上google查了一下ngix的资料,并下载了原代码进行研究(个人喜好从代码级研究认证,不喜欢看网上的评论,尤其是国内的评论,很多评论是没有经过深入研究之后的误人之第),并从网上找了一些评论,果然有看到lighttpd大文件下载或大并发连接性能不好之类的评论.
经过仔细研究ngix代码之后发现,ngix的技术架构是结合lighttpd和apache之长, module的写法基本上与apache 一致,非常类似; 网络处理的架构与lighttpd类似,都是使用单进程单线程方式,并使用异步I/O,sendfile等,在linux2.6内核都使用epoll处理网络事件,因此很难看出本质上的区别,唯一的区别是ngix充分利用了C语言的特性来节省内存(如bit位).
经过20000个并发连接测试10万次小文件下载测试,两者性能上差别不大,CPU消耗都在10%以内; 再进行大文件测试10万次下载,并发2000,两者相差不大,CPU消耗都是在4%以内,lighttpd的CPU消耗甚至还小一点. 这个时候的网络带宽已经完全被消耗干净,充分利用了网络带宽.
因此就非常奇怪为什么网上有评价lighttpd性能差的原因? 仔细思考后,估计是lighttpd的event_handler配置问题,因为默认event_handler是使用poll, 而不是epoll(linux). 然后注释掉#server.event-handler="linux-sysepoll" 再进行性能测试,果然发现lighttpd的CPU消耗就上去了. 看来网上的评论就是这个缘故,使用了默认配置,而ngix默认配置就是使用了epoll.
说明了国内很多人没有仔细研究过系统,就对系统枉加评论,结果误倒了很多人.这也是我听到同事说什么什么问题是网上评论的时候,我总是怀疑其正确性的原因.
- lighttpd VS ngix 性能比较,技术架构比较
- Apache、nginx 、lighttpd性能比较
- Apache、Nginx 、Lighttpd性能比较
- Apache、Nginx 、Lighttpd性能比较
- Apache、Nginx 、Lighttpd性能比较
- Apache、nginx 、lighttpd性能比较
- lighttpd,nginx,apache的性能负载比较
- lighttpd,nginx,apache的性能负载比较
- lighttpd,nginx,apache的性能负载比较
- lighttpd,nginx,apache的性能负载比较
- lighttpd,nginx,apache的性能负载比较
- Readfile vs include 性能比较
- nginx vs. Lighttpd vs. Apache 高效的web server服务器软件比较
- nginx vs. Lighttpd vs. Apache 高效的web server服务器软件比较
- 使用VS进行SqlServer数据库架构比较
- lighttpd 优缺点,与apache比较
- lighttpd,nginx,apache的比较
- FC-SAN vs. IP-SAN技术比较
- DUPLICATE到底做了什么?(续)
- Oracle10g正式版本转Oracle 10gXE 的中文问题
- 微软销售人员给客户推销OFFICE的一封信
- VMware Workstation 全屏的设置方法
- XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH)
- lighttpd VS ngix 性能比较,技术架构比较
- maven 常用命令和配置文件解析
- [网管知识] iis6配置备份和异机恢复
- 站在业务的高度考虑集成问题:SOA Integration
- jbpm-starters-kit-3.1.2.zip下载地址
- HTTP协议中请求方法Get和Post的区别是什么?
- Linux下各类TCP网络服务器的实现源代码
- Hibernate配置文件中映射元素详解
- 删除下拉列表选项 删除select中的option