zoukankan      html  css  js  c++  java
  • Apache 性能优化

          有一个升级服务器,这几天一直访问的比较慢。导致部分用户升级不了。看了一下服务器的负载,发现

    CPU和内存占用的都不是很高,可能是Apache配置不当造成的,一番搜索,找到了MPM的配置,提速很明显哦 !

    Apache 的 MPM(Multi -Processing Modules,多道处理模块),经过适当的配置,可以提高服务器的负载能力。

    不过,Linux和Windows版本的Apache ,MPM不尽相同,感觉Linux更强大些,可以同时开好几个进程进行Apache的响应。

    我机子上的是Wamp环境,在httpd.conf中有这样一段:

    # Server-pool management (MPM specific)
    # Include conf/extra/httpd-mpm.conf


    注释掉,在httpd-mpm.conf中,会出现好几种类型的配置,要根据自己的具体环境配置相应的文件。

    通过  httpd -l 可以,查看自己的Apache部署的是哪个模块。

    复制代码
    D:wampinapacheApache2.2.21inhttpd -l
      Complied in modules:
        core.c
        mod_win32.c
        mpm_winnt.c
        http_core.c
        mod_so.c
    复制代码


    看到里面有mpm_winnt.c ,我们就在httpd-mpm.conf的<IfModule mpm_winnt_module>进行配置

    <IfModule mpm_winnt_module>
        ThreadsPerChild      150
        MaxRequestsPerChild    0
    </IfModule>


    其中,ThreadsPerChild 是指一个进程最多拥有的线程数(Windows版本,貌似不可以开启多个进程),一般100-500就可以,

    根据服务器的具体性能来决定。MaxRequestsPerChild,是指一个线程最多可以接受的连接数,默认是0,就是不限制的意思,

    但是网上有文章说,0会导致内存泄露。所以,可以根据实际情况,配置一个比较大的值。我估计Apache会在几个线程之间进

    行轮询,找到负载最轻的一个线程来接受新的连接。

    另附: Apache 官方MPM说明http://httpd.apache.org/docs/2.2/zh-cn/mpm.html

  • 相关阅读:
    JavaScript 金字塔
    最短路径—Dijkstra算法和Floyd算法
    Qt编程的一些技巧
    Qt-Creator 加入qwt库
    关于usr/bin/ld: cannot find -lxxx问题总结(Qt编译错误cannot find -lGL)
    根文件系统制作、NFS配置与安装及利用NFS挂载根文件系统
    tslib1.4与Qt4.8.6的交叉编译与移植
    用树莓派做3G无线路由器
    python学习笔记6:面向对象
    pyhton学习笔记5:常用模块:datatime,random,json,re
  • 原文地址:https://www.cnblogs.com/sunscheung/p/4839445.html
Copyright © 2011-2022 走看看