风の社区

标题: VPS中的Apache参数性能调优建议 [打印本页]

作者: billypon    时间: 2013-7-13 18:15
标题: VPS中的Apache参数性能调优建议
请注意:实际环境变化多端,参数既可以保守的设置也可以积极的设置,本文只是针对大多数情况的个人理解。请务必根据实际情况进行调整。

首先确定Maxclients参数的值

如果你的总内存为128M,那么该参数的值设置为3-8。一般来说,拥有128M内存的VPS性能、负载往往不会很高,大多数只是应付零星陆续的访问请求。128M本身就已经非常小了,加上系统占用的内存,可供Apache使用的内存并不多。

如果你的总内存为256M,那么该参数的值可以设为5-10。

如果总内存为512M,则该参数设置为20以内即可。

如果你的站点是对访客全静态的,建议采用Nginx作为前端的架构,将MaxClients调整的略大,这样可以提供更多的并发访问;但如果站点运行着Wordpress这种占内存、耗资源的庞大系统,则建议将此值调整的稍小,以防止超出物理内存而调用swap;

在调整完此参数后,需要使用ab进行负载压力测试,然后将此值调整至负载最大时内存刚好用完但却不使用swap为佳。

然后根据MaxClients的值确定StartServers

StartServers相对来说并非如此重要,如果网站大多数时候压力很小,则将此值设置为MaxClients的1/3到1/2即可。这个值决定了在Apache启动时创建的进程数量,但往往在正常运行时,进程数量并非这个数。

然后调整MinSpareServers

MinSpareServers决定了最少空闲的进程数量。即:即使Apache没有任何请求需要处理,也会有MinSpareServers个进程待命。这样做的目的是为了准备可能到来的访问高峰。如果你的网站访问量总的情况比较平稳,则此值可以小一点;若网站负载不定,一会大一会小,则此值可设置偏大一点;

调整MaxSpareServers

MaxSpareServers决定了最大的空闲进程数量。此设计是为了在处理完访问后更快的释放内存资源。如果此值设置过大,则服务器在访问高峰期过后,Apache仍然有很多子进程占用内存;如果此值设置过小,则当高负载结束后,Apache会迅速的杀死多余进程以释放资源。

调整MaxRequestsPerChild

MaxRequestsPerChild的设置作用是为了让进程在处理一定数量的请求之后退出,以减少内存占用。同时,它还对潜在的内存泄露有一定防范作用。一般来说,如果服务器配置较低,可以设得小一点;服务器配置较好,可以设置大一点。

对于VPS来说,从200到5000都是可接受的范围。

总结

参数调优并非纸上谈兵,而是根据最复杂的情况,综合多种约束条件,逐步调整的。希望初学者能根据自己服务器的硬件配置进行尝试,既锻炼了实际操作能力,还能对Apache的性能参数有更深刻的了解。




欢迎光临 风の社区 (http://canaansky.com/bbs/) Powered by Discuz! X2.5