Apache优化建议

Apache是Web服务器软件,它最多见是搭配PHP开发语言去使用。今天,小编根据Apache官方手册再结合实际,整理出下面这些优化建议,但愿对你们的Apache服务器的运行效率有效果。html

一、控制MaxClients的设置,以免服务器产生太多的子进程而发生交换。apache

进程间的数据交换会占用很大内存,数据交换产生的滞后使用户总感受”不够快”,因此用户就可能去按”中止”和”刷新”,从而带来更大的负载。通常建议小网站将MaxClients设置为12~24。缓存

二、选择更好的硬件,CPU、内存、硬盘等等服务器

这句很鸡肋啦,若是有更多的银子,谁不肯意换更好的呢?dom

三、按期更新操做系统,打上系统补丁;若是你的操做系统支持sendfile()系统调用,则务必安装带有此功能的版本或补丁ide

在支持sendfile的系统中,Apache2能够更快地发送静态内容并且占用较少的CPU时间。性能

 

四、HostnameLookups设置为off优化

尽可能较少DNS查询的次数。若是你使用了任何”Allow from domain”或”Deny from domain”指令(也就是domain使用的是主机名而不是IP地址),则代价是要进行两次DNS查询(一次正向和一次反向,以确认没有做假)。因此,为了获得最高的性能,应该避免使用这些指令(不用域名而用IP地址也是能够的)。网站

五、为Directory加上FollowSymLinks操作系统

若是网站空间中没有使用 Options FollowSymLinks ,Apache就必须执行额外的系统调用以验证符号链接。例如:在请求”/index.html”时,Apache将对”/www”、”/www/htdocs”、”/www/htdocs/index.html”执行lstat()调用。并且lstat()的执行结果不被缓存,所以对每个请求都要执行一次。

六、将AllowOverride设置为None

对于使用虚拟主机的朋友可能会以为不方便,这样设置将会使.htaccess中的设置失效,若是实在须要,而且在有条件的状况下,请在conf配置文件中直接写入rewrite规则

七、禁用内容协商

尽管在实践中,内容协商的好处大于性能的损失,若是你很在乎那一点点的性能损失,则能够禁止使用内容协商。可是仍然有个方法能够提升服务器的速度,就是不要使用通配符。

八、MaxRequestsPerChild设置为非0以防止内存泄漏

MaxRequestsPerChild用于控制apache子进程在什么时候销毁,默认为0,表明永不销毁子进程,这可能会存在内存泄漏的风险,建议设置为10000

九、KeepAlive与KeepAliveTimeOut

若是你使用的使mpm_prefork模式(apache默认安装),那么建议你将KeepAlive设置为off;由于,开启keepalive会为每一个客户端创建一个链接,prefork不会建立线程,估计100个用户同时访问你的网站,apache就会挂了~,若是你实在想开启,那么请将KeepAliveTimeOut 时间设置更短些,例如5,默认是60秒呢

十、不要静态编译apache

尽管会有不少人和你说静态编译的好处,同时,你本身也想本身编译一把,以体验乐趣~可是,将模块已静态方式编译进apache绝对不是一个好选择,尤为是对于缺银子的站长们来讲,一个配置不当,apache会在启动时就占用光你全部的内存,最后拖垮服务器。

相关文章
相关标签/搜索