共计 1853 个字符,预计需要花费 5 分钟才能阅读完成。
Apache 配置参数详解
(1)keepAlive On/Off
keepAlive 指的是保持连接活跃,换一句话说,如果将 KeepAlive 设置为 On,那么来自同一客户端的请求就不需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。一般情况下,图片较多的网站应该把 KeepAlive 设为 On。
(2)KeepAliveTimeOut number
如果第二次请求和第一次请求之间超过 KeepAliveTimeOut 的时间的话,第一次连接就会中断,再新建第二个连接。它的设置一般考虑图片或者 JS 等文件两次请求间隔,一般设置为 3 - 5 秒。
(3)MaxKeepAliveRequests 100
一次连接可以进行的 HTTP 请求的最大请求次数。将其值设为 0 将支持在一次连接内进行无限次的传输请求。
事实上没有客户程序在一次连接中请求太多的页面,通常达不到这个上限就完成连接了。
(4)HostnameLookups on|off|double
如果是使用 on,那么只有进行一次反查,如果用 double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合
才行,而 off 就是不进行域名验证。
如果为了安全,建议使用 double;为了加快访问速度,建议使用 off
域名查找开启这个会增加 Apache 的负担,减慢访问速度建议关闭
(5)timeout 5
推荐 5 这个是 Apache 接受请求或者发出相应的时间超过这个时间断开
注意:
以上配置项可在 /usr/local/http-2.4.23/conf/extra/httpd-default.conf 设置并在 httpd.conf 文件中通过 include 选项引用
MPM 这个比较关键,是影响并发效率的主要因素:
(1)StartServers 10
设置服务器启动时建立的子进程数量。因为子进程数量动态的取决于负载的轻重,所以一般没有必要调整这个参数。
(2)MinSpareServers 10
设置空闲子进程的最小数量。所谓空闲子进程是指没有正在处理的请求的子进程。如果当前空闲子进程数少于 MinSpareServers,那么 Apache 将以最大每秒一个的速度产生新的子进程。只有在非常繁忙机器上才需要调整这个参数。将此参数设的太大通常是一个坏主意。
(3)MaxSpareThreads 75
设置空闲子进程的最大数量。如果当前有超过 MaxSpareServers 数量的空闲子进程,那么父进程将杀死多余的子进程。只有在非常繁忙机器上才需要调整这个参数。将此参数设的太大通常是一个坏主意。如果你将该指令的值设置为比 MinSpareServers 小,Apache 将会自动将其修改成”MinSpareServers+1″。
(4)ServerLimit 2000
服务器允许配置的进程数上限。只有在你需要将 MaxClients 设置成高于默认值 256 的时候才需要使用。要将此指令的值保持和 MaxClients 一样。修改此指令的值必须完全停止服务后再启动才能生效,以 restart 方式重新启动将不会生效。
(5)MaxClients/MaxRequestWorkers 256
用于客户端请求的最大请求数量(最大子进程数),任何超过 MaxClients 限制的请求都将进入等候队列。默认值是 256,如果要提高这个值必须同时提高 ServerLimit 的值。建议将初始值设为(以 MB 为单位的最大物理内存 /2), 然后根据负载情况进行动态调整。
比如一台 4G 内存的机器,那么初始值就是 4000/2=2000。
(6)MaxRequestsPerChild / MaxConnectionsPerChild 0
设置的是每个子进程可处理的请求数,每个子进程在处理了“MaxRequestsPerChild”个请求后将自动销毁。0 意味着无限,即子进程永不销毁。内存较大的服务器可以设置为 0 或较大的数字。内存较小的服务器不妨设置成 30、50、100。所以一般情况下,如果你发现服务器的内存直线上升,建议修改该参数试试。
注意:
以上配置项可在 /usr/local/http-2.4.23/conf/extra/httpd-mpm.conf 设置并在 httpd.conf 文件中通过 include 选项引用。
4. 开启 Apache 的 Gzip(deflate)功能:
gzip 可以极大的加速网站,有时压缩比率高到 80%,最少都有 40% 以上,还是相当不错的。
在 Apache2 之后的版本,模块名不叫 gzip,而叫 mod_deflate
未使用 Gzip
: