什么是ApacheApache是??一个Web服务器软件,最常用的是PHP开发语言。今天,根据Apache官方手册,结合实际情况,小编整理出如下优化建议,希望对您的Apache服务器运行效率有所帮助。1、控制MaxClients的设置,防止服务器产生过多的子进程和exchange。进程间的数据交换占用大量内存,数据交换造成的滞后让用户感觉“速度不够快”,因此用户可能会按“停止”和“刷新”,这会带来更大的负载。一般建议小型网站将MaxClients设置为12~24。2、选择更好的硬件,比如CPU、内存、硬盘等,这句话很鸡肋。钱再多,谁不想换个好一点的呢?3、定期更新操作系统,打系统补丁;如果您的操作系统支持sendfile()系统调用,请务必安装具有此功能的版本或补丁。在支持sendfile的系统中,Apache2可以更快地发送静态内容并占用更少的CPU时间。4.将HostnameLookups设置为关闭以最小化DNS查询的数量。如果您使用任何“允许域”或“拒绝域”指令(即域使用主机名而不是IP地址),成本是进行两次DNS查询(一次正向和一次反向,以确认没有欺诈)。因此,为了获得最佳性能,您应该避免使用这些指令(也可以使用IP地址代替域名)。5.将FollowSymLinks添加到目录如果选项FollowSymLinks没有在web空间中使用,Apache必须执行额外的系统调用来验证符号链接。例如:当请求“/index.html”时,Apache将对“/www”、“/www/htdocs”、“/www/htdocs/index.html”执行lstat()调用。而且lstat()的执行结果是不缓存的,所以每次请求都要执行一次。6.设置AllowOverride为None,对于使用虚拟主机的朋友来说可能会不方便。此设置将使中的设置无效。编写重写规则7.禁用内容协商尽管在实践中,内容协商的好处大于性能损失,但如果您关心那一点性能损失,您可以禁用内容协商。但是还是有办法提高服务器速度的,就是不要使用通配符。8.MaxRequestsPerChild设置为非零以防止内存泄漏。MaxRequestsPerChild用于控制Apache子进程何时被销毁。默认为0,表示子进程永远不会被销毁。这可能会导致内存泄漏的风险。建议设置为100009,KeepAlive和KeepAliveTimeOut如果使用mpm_prefork模式(默认安装apache),建议将KeepAlive设置为off;因为开启keepalive会为每个client建立连接,而prefork不会创建线程。估计有100个用户同时访问你的网站,apache就挂了~,如果你真的要开,请把KeepAliveTimeOut时间设置短一点,比如5,默认60秒同时,你也想自己编译体验一下乐趣~不过,静态编译模块到apache中绝对不是一个好的选择,尤其是对于缺钱的站长来说。Apache会在启动时耗尽你所有的内存,它肯定会导致服务器宕机。
