• 关于本站
  • 马后炮
  • English
  • 中文平台
    • wopus主题站
    • wopus中文社区
    • 博客主机
  • 专题列表
    • 计算机相关
    • 闲言碎语
    • 化工相关
  • Horse的博客

    2010年09月05日 您还没有登录,是位游客!  [ 注册 | 登录 ]

    阅读正文

  • 全部分类
    • 计算机
    • 闲言碎语
  • RSS

    现在的位置: 首页 > 计算机 > 正文

    lighttpd+sqlite的优化和技巧

    2010年02月01日 | 分类:计算机 | 添加评论

    在error.log看到“(mod_fastcgi.c.2866) backend is overloaded, we disable it for a 2 seconds and send the request to another backend instead: reconnects: 3 load: 4147 /tmp/php.socket”时,说明lighttpd+fastcgi的load较高了。

    可按如下步骤优化:

    1) 首先检查swap使用情况。如果使用了swap,一般说明php进程数偏多,适当减少php进程。调整max-procs和 PHP_FCGI_CHILDREN的数值,根据公式num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ),启动时php5进程大概占13M内存,如果num-procs超过200,高峰期php就会占去2G内存,不大合适

    2) 安装PHP加速软件。有XCache, eAccelerator和Zend Optimizer。推荐公开源代码的XCache, eAccelerator

    3) 调整Keep Alive参数。对于动态程序来说,Keep Alive的意义不大,可以关闭。
    server.max-keep-alive-requests = 0

    4) 优化程序代码。呵呵,一般也是最有效的;)

    CODE:


    #### fastcgi module
    ## read fastcgi.txt for more info
    fastcgi.server             = ( “.php” =>
    ( “localhost” =>
    (
    “socket” => “/tmp/php-fcgi.sock”,
    “bin-path” => “/opt/bin/php-fcgi”,
    “max-procs” => 2,
    “bin-environment” => (
    “PHP_FCGI_MAX_REQUESTS” => “100″
    “PHP_FCGI_CHILDREN” => “3″,
    )
    )
    )
    )

    CODE:


    #### compress module
    compress.cache-dir         = “/opt/tmp/lighttpd/compress/”
    compress.filetype          = (“text/plain”, “text/html”)

    CODE:


    #### expire module
    expire.url = ( “/pic/” => “access 90 days”, “/js/” => “access 31 days”)
    $HTTP["url"] =~ “.css$” {
    expire.url = ( “” => “access 90 days” )
    }
    $HTTP["url"] =~ “.js$” {
    expire.url = ( “” => “access 90 days” )
    }

    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

      lighttpd.conf中有以下几个选项可考虑调整:
      server.use-ipv6 = 0 # 缺省为禁用
      server.event-handler = “linux-sysepoll” # Linux环境下epoll系统调用可提高吞吐量
      server.max-worker = 10 # 如果你的系统资源没跑满,可考虑调高
      server.max-fds = 4096 # 默认的,应该够用了,可根据实际情况调整
      server.max-connections = 4096 # 默认等于 server.max-fds
      server.network-backend = “linux-sendfile” # 可考虑writev系统调用,不过没测过

    标签:lighttpd

    你还可能感兴趣的相关文章:

    • wordpress 在 lighttpd 上的 URL 伪静态设置 (0)
    标签: lighttpd
    【上篇】姐姐啊。你让俺一次又一次的内牛满面啊
    【下篇】为什么要使用VPS主机

    给我留言

    点击这里取消回复

    留言没头像?这里教你设置头像!

    • 最新日志
          Lighttpd下的301重定向 李开复:创新工场成立5个月已推翻多 FlashFXP定时下载服务器文件, 隐藏贴内广告前面的小AD标志FO 修改Discuz 注册文件防注册机 淘汰720p!三星万元内全高清投影评 一个网站挂多个域名,根据来访域名 09年网络事件大盘点很雷很爆笑 狂人qq没了。传美也没了 『天涯时空』黎恩旺:今天的压力让
    • 最热文章
        1. 姐姐啊。你让俺一次又一次的内牛满
        2. 09年网络事件大盘点很雷很爆笑
    • 推荐文章

    分类目录

    • 计算机
    • 闲言碎语

    WordPress本地化

    Ads

    最新评论

    • horse:
      很强大的一年就要过去了

    登陆

    • 注册
    • 登录
    • 文章 RSS
    • RSS 评论
    • WordPress.org

    标签云

    博客 压力,雷,囧 虚拟主机,域名 过年,雷,囧 雷,囧,2009 风格 Discuz dz firefox lighttpd putty,vps QQ,狂人,传美 vps wordpress Xmarks 计算机 (6)
    闲言碎语 (14)

    WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

    Horse的博客

    • 马后炮化工技术论坛
    • 马后炮化工门户

    Copyright © 2010  Horse的博客  保留所有权利.  Theme  by  mahoupao.net   基于WordPress 技术创建   当前共计 个用户在线