和Lighttpd搏斗的一天

转载 2007年10月06日 00:11:00
原贴:http://blog.scaner.i.thu.cn/index.php/2006/11/17/live-with-lighttpd-2006-11-16/

和Lighttpd搏斗的一天 November 17, 2006

Posted by scaner in : Coding, Linux, Web , trackback

昨天的事情。随便记录一下

具体情况是这样的,完全静态内容,1.4M左右的小文件,每个文件3k-8k(基本上是小图片文件)。每秒完成请求在1000个左右。这个时候,由于disk io的压力,会直接导致Lighttpd整个被block住,包括网络部分。

首先的救急解决方案,别的不废话,Lighttpd同时开上四个,前面堆一个Haproxy,暂时先抗着。虽然还是不怎么样,至少不会全死了,说得过去,继续折腾。

这两天Lighty的作者非常的积极,1.5-pre2发布出来了,还专门在Blog上 讨论了Linux AIO这个现代科技。不管怎么说,光是看着统一的mod_cache核结构,也很值得期待的试一下。弄回来build一run,虽然使用了linux- aio-sendfile做network backend,一样的死菜。察看了一下代码……,可能是考虑效率方面的问题吧,所有小于一个标准page size(x86上就是4K啦)的内容,都是直接sendfile了,没有经过aio这步。咬咬牙,改了程序,拼死aio,不管多大的内容,都用aio的 过程操作。初步的测试表现,都挺好,不过一上压力,又挂了……问题出在Lighttpd 1.5缺省只有64个aio控制块,也就是说最多积压64个io任务,在多就又变成directly sendfile了。这64个对于每秒上百的请求根本没啥作用。继续修改程序,把64修改成128,256,512,都还是会有任务队列冲满的情况。拼死 加到2048个,确实冲满是不发生了,不过io block情况照旧的恶劣,唯一的好处,就是connection还是能正常地accept,请求的处理,该堵的堵,该慢的慢,没有在多变化了。基本上结 论就是,lighttpd aio,对于非常多的非常小文件服务,基本上是没有什么帮助了,除了能保证不因为disk io导致network io的block。不过这个保证也是没有什么用的,如果没有强劲的disk io支持,没有数据往外吐,network io还是要停下来的。而且aio需要以O_DIRECT方式打开文件,貌似会导致系统的buffer不缓存文件,进一步加重disk负载,反而是负面影响 了。情况就这样了,一天搏斗就是得出这个不算结论的结论。

Comments»

1. snailfly yin - December 26, 2006

lighttpd是web server,如果io吞吐量不足,无论怎么调整也没法超越IO这个瓶颈吧.如果在前端放置mod_mem_cache或用squid cache_dir null 做全内存cache不知道能不能解决?

 

web 服务器-Nginx 与 Lighttpd对比分析

简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群。本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多...
  • zhangshouming
  • zhangshouming
  • 2014年09月16日 00:13
  • 1753

三大WEB服务器(apache lighttpd nginx) 对比分析

原文网址:http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 一.软件介绍(apache  lighttpd  ngin...
  • qq_36031499
  • qq_36031499
  • 2016年09月09日 08:52
  • 992

openwrt中uhttpd替换成lighttpd

openwrt 中 附带的http Server是比较多的,uhttpd本身是不支持php功能的,如果要使用php功能可以选择lighttpd。 而选择lighttpd后对原来的luci支持不太...
  • yulinshuifeng
  • yulinshuifeng
  • 2016年03月29日 08:42
  • 984

ngnix、lighttpd、apache三大主流web服务器的区别

(1). lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀...
  • u013404872
  • u013404872
  • 2017年04月26日 13:43
  • 503

lighttpd的超时参数详解

Lighttpd配置中,关于超时的参数有如下几个(篇幅考虑,只写读超时,写超时参数同理): server.max-keep-alive-idle = 5 server.max-read-i...
  • edmond999
  • edmond999
  • 2016年10月31日 13:50
  • 589

Lighttpd的安装与配置

Lighttpd的安装与配置作者:zccst  理论篇lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非...
  • zccst
  • zccst
  • 2009年08月18日 17:37
  • 16112

嵌入式web服务器lighttpd的交叉编译及配置(for arm-linux)

嵌入式web服务器lighttpd的交叉编译及配置(for arm-linux)   备注: PC Linux:Ubuntu-10.10 PC Linux用户:root ...
  • yi412
  • yi412
  • 2015年05月19日 16:49
  • 1656

lighttpd 服务器搭建过程记录2【with CGI】

1、 补上 pcre 的安装    因为要配置cgi,需要这个库。     如果可以使用yum,则非常简单,使用 yum install pcre-deve  即可!!!!     如果不可以也没关系...
  • zhongjling
  • zhongjling
  • 2016年08月27日 20:33
  • 598

关掉 lighttpd 目录浏览

原贴:http://blog.guoshuang.com/showlog.asp?cat_id=33&log_id=5685关掉 lighttpd 目录浏览 1 2 3 4 ...
  • chinalinuxzend
  • chinalinuxzend
  • 2007年10月04日 19:59
  • 3380

lighttpd + php 很让人失望

今天测试了一下lighttpd + php5 在win32平台下运行的效果,太让人失望了,和apache2.061比较了一下,简直不是一个级别的东西.用ab -n 1000测试 lighttpd 都背...
  • CAYU
  • CAYU
  • 2007年12月05日 17:34
  • 1012
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:和Lighttpd搏斗的一天
举报原因:
原因补充:

(最多只允许输入30个字)