优化环境:阿里云服务器Centos6.5 x64
环境配置:1个1核CPU,1G内存,2M带宽,20G系统盘,50G数据盘
web引擎:apache
当我们在阿里云服务器上安装完WDCP面板之后,首先我们看一下到底是什么导致占用内存过大,登陆阿里云服务器终端,通过以下命令查看各进程所占用的内存比例。
ps -aux
通过上面的命令我们来查看各进程所占用的内存比例:如下图
根据上图我们发现大部分占用内存的程序是httpd所导致的,针对这个现象我们来优化apache配置文件httpd.conf
优化方法:
通过wdcp后台找到需要修改的文件,文件路径/www/wdlinux/httpd-2.2.22/conf/httpd-wdl.conf
在httpd-wdl.conf中找到,这里就是apache在prefork模式下的参数段。将该段各值修改为以下数值:
<IfModule mpm_prefork_module>
ServerLimit 256
StartServers 2
MinSpareServers 2
MaxSpareServers 5
MaxClients 256
MaxRequestsPerChild 50
</IfModule>
经过上述设置之后,httpd子进程数保持在最小2个,多余的进程在处理请求超过50个后自动销毁释放内存(这个数值不要设为0,否则http进程会一直不销毁),从而保证在正常流量下内存得以及时释放。这些数值可以根据需要适当调整,以适应内存大小。修改后重启apache服务生效。
各字段含义:
ServerLimit 最大客户数
StartServers 服务器启动时建立的子进程数量
MinSpareServers 最小空闲子进程数
MaxSpareServers 最大空闲子进程数
MaxClients 同一时间客户端最大接入请求的数量
MaxRequestsPerChild 每个子进程在其生存期内允许伺服的最大请求数量
注意事项:我们通过下图来正确辨别内存的使用率,只需要看实际的使用内存即可。
呵,备份一下WDCP的原始参数,别改不回来了:
<IfModule mpm_prefork_module>
ServerLimit 1024
StartServers 5
MinSpareServers 3
MaxSpareServers 30
MaxClients 1024
MaxRequestsPerChild 0
</IfModule>
共有 0 条评论