• Apache性能优化参考


    1)调整配置文件的配置项的值(httpd.conf)

    Timeout 60 #建议设置该值比较小,有利于快速释放连接。
    KeepAlive Off #系统前端有安装squid,则必须要开启;否则处理动态的内容多,则关闭,或处理静态的资源多,也许开启。
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15 #KeepAlive超时时间,没有指定该值,默认使用Timeout,否则使用该值。
    配置工作模式1:prefork.c
    <IfModule prefork.c> #多个子进程、每个子进程有1个线程,在某个时间点只能维持1个连接,效率高,但耗费内存
    StartServers 5 #启动时建立的子进程数量 <20 20~50 50~100
    MinSpareServers 5 #空闲子进程的最小数量 默认5个 数量不够会被创建
    MaxSpareServers 10 #空闲子进程的最大数量 默认10个 多余的进程会被关闭
    ServerLimit 1024 #apache中允许客服端请求连接的数量极限值 最大20000
    MaxClients 768 #允许客服端请求连接的数量 默认256 MaxClients 与ServerLimit必须同时增大 ServerLimit项必须放在MaxClients项前
    MaxRequestsPerChild 0 #每个子进程在其声明周期中,能够处理请求的数量,最大为10000 0 子进程不会结束 超过10000,多的子进程会被结束
    </IfModule>

    将MaxRequestsPerChild设置成非零值有两个好处:
    1)可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
    2)给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

    对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。
    ThreadLimit >= ThreadsPerChild
    MaxClients <= ServerLimit * ThreadsPerChild 必须是ThreadsPerChild的倍数 (2048 <= 25*25)
    MaxSpareThreads >= MinSpareThreads+ThreadsPerChild (500 >= 25+25)
    配置工作模式2: worker.c
    <IfModule worker.c> #多个子进程、每个子进程有多个线程,在某个时间点只能维持1个连接,不耗费内存,适合高流量服务器,单个线程崩溃会引起同一进程中的其他线程崩溃
    StartServers 3 #启动时建立的子进程数量
    MinSpareThreads 25 #空闲子进程的最小数量 默认5个 数量不够会被创建
    MaxSpareThreads 75 #空闲子进程的最大数量 多余的进程会被关闭 MaxSpareThreads>=MinSpareThreads+ThreadsPerChild
    ServerLimit 25 #apache中允许客服端请求连接的数量极限值 最大20000
    MaxClients 150 #允许客服端请求连接的数量 默认256 MaxClients 与ServerLimit必须同时增大 MaxClients<=ServerLimit*ThreadsPerChild
    ThreadsPerChild 25 #每个子进程建立常驻执行的线程数 默认100~500 最大值20000 与ThreadLimit必须同时增大
    ThreadLimit 200 #每个子进程可配置的线程数最大值 ThreadLimit>=ThreadsPerChild
    MaxRequestsPerChild 0 #每个子进程在其声明周期中,能够处理最大请求的数量,最大为3000 0 子进程不会结束 超过10000,多的子进程会被结束
    </IfModule>

    设置过期时间
    <IfModule expires_module.c>
    ExpiresAction ON
    ExpiresDefault "access plus 12 month"
    ExpiresByType "text/html access plus 12 month"
    </IfModule>

    开启gzip压缩
    <IfModule mod_deflate.c>
    DeflateCompressionLevel 7
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
    AddOutputFilter DEFLATE css js
    </IfModule>

  • 相关阅读:
    一维,二维差分 (P3397 地毯)
    P3406 海底高铁
    P2004 领地选择
    priority_queue 大顶堆与小顶堆的用法 & 常见数据结构时间复杂度
    AcWing 电影
    P2678 跳石头
    HDU2041超级楼梯
    HDU2087剪花布条
    n条线分平面问题解决方法总结
    HDU2034 人见人爱A-B(C++)
  • 原文地址:https://www.cnblogs.com/NiceTime/p/6665682.html
Copyright © 2020-2023  润新知