鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Apache调优

目的

通过调优Apache的配置文件,可以有效的提高服务器的性能。本次调优以HTTP短连接8core为例。

方法

  1. 配置httpd-mpm.conf文件。
    1. 打开文件httpd-mpm.conf。
      1
      vim /usr/local/apache2/conf/extra/httpd-mpm.conf
      
    2. 添加以下配置。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      <IfModule mpm_worker_module>
      StartServers 3
      ServerLimit 3
      MinSpareThreads 12
      MaxSpareThreads 12
      ThreadsPerChild 4
      MaxRequestWorkers 12
      MaxConnectionsPerChild 0
      </IfModule>
      
      关于mpm_worker_module的配置参数如表1所示。
      表1 mpm_worker_module配置参数说明

      参数名称

      参数解释

      StartServers

      服务启动时创建的子进程数量。

      ServerLimit

      允许创建的最大进程数。

      MinSpareThreads

      处于空闲状态的最小线程数,不够则自动创建新的空闲线程。

      MaxSpareThreads

      处于空闲状态的最大线程数,多了则杀死多余的空闲线程。

      ThreadsPerChild

      每个子进程产生的线程数。

      MaxRequestWorkers

      允许客户端同时接入的最大请求数量,超过后进入等待队列。

      MaxConnectionsPerChild

      子线程的生命期最大处理连接数,如果到达这个数量,子进程会结束。

    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  2. 对Apache进程进行绑核并启动。
    1
    taskset -c N /usr/local/apache2/bin/httpd -f /usr/local/apache2/conf/httpd.conf -k start
    

    将Apache进程绑定在N号core上,N为使用的核的编号,例如:0-7,表示使用core0到core7。

  3. 为每个Apache实例配置独立目录。

    1个CPU创建一个Apache实例,2个CPU创建2个Apache实例;每个Apache实例分别访问独自的目录文件。

    • 启动第二个Apache实例:
      1
      cp -r /usr/local/apache2 /usr/local/apache2-2
      
    • 修改Apache的相关配置参数,不同的实例绑定在不同的核上:
      1
      taskset -c N /usr/local/apache2-2/bin/httpd -f /usr/local/apache2-2/conf/httpd.conf -k start