码迷,mamicode.com
首页 > Web开发 > 详细

apache配置优化

时间:2015-05-02 22:01:20      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

最近参加了很多面试,多多少少有点小感悟,可以说观念转变了不少,特别是对于作为一个开发人员的定位,原来只是认为开发人员就只需要写好代码就行了,所以只需要有数据结构,算法,设计模式,重构方面的知识就行了。但是经过多次的面试,认识到网站的维护和优化也是开发人员的一个必要的素质。几乎所有的面试官都会问到一个问题,那就是如何优化一个网站,这个问题涉及到很多方面,其实面试官就是想考察你对常见的服务器,数据库的知识是否熟悉。

 

apache的配置优化可以从以下几个方面来考虑:

 

一 . 内存

           要让服务器运行的足够快,重点是要确保有足够的内存。方法是测定运行Apache进程平均所需的内存容量。将此数目乘上最大负荷量。

           如果不管什么原因都无法替服务器加入更多的内存,可以用相同的技术推算出在任何时间能够服务的最大子进程数,并使用MaxClient

           指令来限制Apache最多只能处理这么多进程。

二. 调节保持链接(KeepAlive)的设定

          http的默认行为是在新的连接上请求文件,这会花费许多时间启动与关闭连接。使用KeepAlive可以在单一连接时进行多个请求,因此

          可以减少建立socket连接所需要的时间,而这又会加快客户端在请求网页内容时的加载速度。

             KeepAlive On

             MaxKeepAliveRequests 0

             KeepAliveTimeout 15

三.避免DNS查询

          DNS查询会花非常久的时间,因此应该尽量的避免,如果完全无法查询客户端的地址,可能需要几分钟才会让查询过期,而

          在这段时间内,执行查询的子进程将无法做其他的事情。方法将HostNameLookups指令始终设为off

四.最佳化符号链接

          如果服务器被设定成不遵循符号链接,则Apache必须考虑文件以及目录是不是符号连接。则Apache必须考虑文件以及目录是不是符号链接,

          此外,如果启用Option SymLinksIfOwnerMatch, Apache不仅必须检查特定的文件是否是符号链接,还要检查链接本身以及对象的所有权。

         虽然这会强制实行某种安全防护原则,但却会花费相当多的时间。并会降低运行速度。如果重点考虑性能,则使用Option FollowSymlinks,即Apache

         设置不会检查是不是符号链接。

五.最小化.htaccess文件对性能的影响

         只在必要的目录中启用AllowOverride,并告知Apache不要浪费时间在别的位置查找.htacess文件

         AllowOverride None

         然后以<Diretory>区块启动必要的.htacess文件

六.禁用网页内容协商

      如果有可能,请禁用网页内容协商。不过,如果必须使用网络协商,例如有多种语言的网站,则应该使用type-map处理器而非MultiViews指令。

      当使用MultiViews送出请求时,Apache都需要取得目录列表。

      禁用非必要的网页内容协商。如果真的需要使用网页内容协商,请使用type-map处理器而非MultiViews选项

      Option -MultiViews

      AddHandler type-map var

七. 最佳化进程的产生

        MinSpareServers以及MaxSpareServers指令会控制服务器池的大小,以便永远有子进程等待服务引入的请求。

        如果闲置的进程数少于MinSpareServers,则Apache会产生更多的进程达到最少数目;同理,如果空闲进程数比MaxSpareServers多,

       Apache则会删除进程直到少于最大数目。

八.调节线程的产生

        原理同(七)

apache配置优化

标签:

原文地址:http://www.cnblogs.com/zenus/p/4472512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!