小编发现很多同学在使用阿里云服务器搭建PHP网站的时候会用到WDCP面板,用WDCP面板大家最为关注的就是WDCP所占用的内存,很多童鞋说目前最新版本的WDCP面板比较占用系统资源,尤其是占用内存较大。那么对于小内存的服务器和VPS我们该如何来优化WDCP所占用的系统资源呢?

优化环境:阿里云服务器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 条评论