Apache优化的几点建议

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

 什么是Apache

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

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

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

2、选择更好的硬件,CPU、内存、硬盘等等

这句很鸡肋啦,如果有更多的银子,谁不愿意换更好的呢?

3、定期更新操作系统,打上系统补丁;如果你的操作系统支持sendfile()系统调用,则务必安装带有此功能的版本或补丁

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

[[221648]]

4、HostnameLookups设置为off

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

5、为Directory加上FollowSymLinks

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

6、将AllowOverride设置为None

对于使用虚拟主机的朋友可能会觉得不方便,这样设置将会使.htaccess中的设置失效,如果实在需要,并且在有条件的情况下,请在conf配置文件中直接写入rewrite规则

7、禁用内容协商

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

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

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

9、KeepAlive与KeepAliveTimeOut

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

10、不要静态编译apache

尽管会有很多人和你说静态编译的好处,同时,你自己也想自己编译一把,以体验乐趣~但是,将模块已静态方式编译进apache绝对不是一个好选择,尤其是对于缺银子的站长们来说,一个配置不当,apache会在启动时就占用光你所有的内存,***拖垮服务器。

 

责任编辑:武晓燕 来源: 今日头条
相关推荐

2009-03-16 16:00:19

HibernateJ2EE配置

2009-09-28 10:05:00

CCNA学习建议CCNA

2012-02-28 09:49:45

Linux编程建议

2010-05-26 14:41:38

JavaScript

2011-03-21 15:51:27

SQL执行效率

2010-08-23 14:30:14

DIV+CSS

2009-09-02 08:54:10

思科认证CCNA建议

2009-06-25 09:26:48

2013-08-20 13:55:19

测试代码审查

2017-08-04 14:48:54

Linux优势建议

2009-06-02 16:16:52

IT职场新人

2014-01-10 14:12:24

网管软件网络管理员

2019-07-09 09:45:32

网站安全搜索引擎DNS

2013-10-22 09:54:42

开发者应用

2018-02-02 12:12:46

开始习惯代码经验

2009-07-20 15:39:32

ASP.NET缓存

2009-09-06 14:35:34

如何学习CCNA建议

2010-05-20 15:42:14

优化IIS

2012-11-08 17:02:58

2020-12-13 17:54:36

开发人员
点赞
收藏

51CTO技术栈公众号