您的位置:首页 > 理论基础 > 计算机网络

Lighttpd(3) 性能优化配置

2007-10-04 23:10 211 查看
原贴:http://networld.tianyablog.com/blogger/post_show.asp?BlogID=40003&PostID=9144498&idWriter=0&Key=0

Lighttpd(3) 性能优化配置
作者:弥勒菩萨 提交日期:2007-4-5 12:00:00

| 分类: | 访问量:243

  server.event-handler
  设置时间处理方式。Default: "poll"。Bsd上默认就可以,使用kqueue反而影响了效率。原因不明。以下是各种操作系统对应的方式:
  OS Method Config-Value
  all select select
  Unix poll poll
  [*] Linux 2.4+ rt-signals linux-rtsig
  [*] Linux 2.6+ epoll linux-sysepoll
  Solaris /dev/poll solaris-devpoll
  FreeBSD, ... kqueue freebsd-kqueue
  server.max-request-size
  maximum size in kbytes of the request (header + body)
  Default:
  
  server.max-worker
  lighttpd默认只启动一个进程工作,但也支持apache那样启动多个进程,我的实验显示启动多个进程同时工作时并不能提高性能。
  
  server.max-keep-alive-requests
  这一条比较关键,对性能的影响比较大。在一个keep-alive会话终止连接前能接受处理的最大请求数。Default: 128,对一个高负载的应用来说是不够的。我用了4000。
  
  server.max-keep-alive-idle
  一个空闲keep-alive连接被丢弃前,存在的的最大秒数。Default: 30。
  
  server.error-handler-404
  页面找不到时候的处理,对性能没什么影响,指出来一下,例如:
  server.error-handler-404 = "/error-404.php"
  
  server.max-fds
  因为lighttpd是一个单线程(single-threaded)服务器,它的主要资源限制是文件描述符数目,默认值是1024。如果在一个高负载的站点上,可能你需要通过下面的设定增加这个限定值
  server.max-fds = 2048 但这个限定只有在lighttpd做为root身份运行时才能生效。
  
  connection.kbytes-per-second,server.kbytes-per-second
  还有值得一提的时lighttpd可以限制每个连接或则特定虚拟机的流量。
  
  compress.cache-dir,compress.filetype
  如果文本稍微大点可以考虑使用压缩算法,减少带宽同时也能提高效率。例如:
  compress.cache-dir = "/var/www/cache/"
  compress.filetype = ("text/plain", "text/html")
  
  server.stat-cache-engine = "fam"
   这一条能明显提升性能,stat() cache。一个stat调用代价可能是昂贵的。为它设一个cache能省时间又避免上下文切换。替代每次都stat()来确定文件的存在,它只stat ()一次,然后会监视目录,如果目录不变,他里面的文件也就没有变化。我们的内存文件系统中有没必要保留,依情况而定。
  server.stat-cache-engine = "fam" # either fam, simple or disabled1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: