小内存服务器的apache设置优化,MySQL出现Out of memory错误

此方法不一定对所有vps有效,具体得看导致apache长期大量占用内存的原因是什么。当apache占用大内存时,可能导致mysql由于能够使用的内存不足而被强制kill掉。通常将内存512m的服务器视为小内存。但即使1.5g内存的服务器也可能出现以上情况。重要的是找到那个导致apache占用大内存的原因是什么。

配置文件 /etc/apache2/apache2.conf

重要参数

MaxClients 限定同一时间客户端最大接入请求的数量(单个进程并发线程数),默认为256.任何超过MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务.要增大这个值,你必须同时增大ServerLimit。优化的原则是,首先查看每个apache占用比,比如一个进程站3%,内存总大小是1G,则每个进程占30M左右,要使内存不至于被apache耗尽,则MaxClients的数量应该在1G/30M=33以下

MaxRequestsPerChild 每个子进程在其生存期内允许伺服的最大请求数量,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束.如果MaxRequestsPerChild为”0″,子进程将永远不会结束内存较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成50、100、200,以防内存溢出。

另一个方面的优化是减少不必要启用的apache模块,Wordpress主要使用以下模块,其他模块可禁用

alais php5 authz_host log_config expires deflate headers setenvif mime autoindex  dir rewrite negotiation

你可以使用下列命令来启用或禁用模块:
a2enmod 模块名
a2dismod 模块名

apache的模块位置在/etc/apache2/mods-enabled

以上设置完成后都需要重启apache服务才能生效service apache2 restart

参考链接

debian;ubuntu下apache2重定向模块的添加http://blog.chinaunix.net/uid-27155075-id-3446846.html

优化经验http://www.58vb.com/a155.html

WDCP中Apache的不合理配置与小内存VPS内存占用优化的一点经验http://www.58vb.com/a155.html


已发布

分类

作者:

标签

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注