优化php参数,加快WordPress速度
这个博客陆陆续续使用过一些美国的VPS,但访问速度一直不能让我满意,使用17CE测试的时候,全国的打开速度普遍在4-10秒左右,原因不明。也曾见过有些WordPress用着美国的空间,没装WP Super Cache等缓存插件,打开速度却维持在2秒左右,让我觉得,自己在优
这个博客陆陆续续使用过一些美国的VPS,但访问速度一直不能让我满意,使用17CE测试的时候,全国的打开速度普遍在4-10秒左右,原因不明。也曾见过有些WordPress用着美国的空间,没装WP Super Cache等缓存插件,打开速度却维持在2秒左右,让我觉得,自己在优化这方面简直是太菜了。。
今天闲来无事,把Godaddy的免费空间安装了WordPress,拿17ce测试了一下,全国范围的打开速度在2-4秒左右,觉得有些不可思议。论性能,肯定是VPS要超出虚拟主机很多,为什么Godaddy的虚拟主机速度可以这么快……
我把Godaddy的免费空间上传了一个探针,仔细观察了一下,除了CPU、内存很大之外,我发现没有安装Zend Optimizer这个最基本的PHP加速器,当然,像memcache,eAccelerator等肯定也没有。比较奇怪的是发现有几个PHP的参数,跟lnmp一键安装包里面差距挺大。比较显著的是如下两个参数:
max_execution_time:翻译过来就是php脚本的最大执行时间,Godaddy家默认是30秒,但lnmp一键包默认是300秒
memory_limit:这个我的理解为每个php脚本的内存占用限制,但网络上有的说法是所有PHP脚本的内存总限制。Godaddy家默认是64M,但lnmp一键包默认是128M
然后就对比着优化了下,后来发现速度还不错,VPS和Godaddy免空的访问速度基本一样了。这里我给诸位使用lnmp一键安装包的朋友们一个优化方案:
1,修改/usr/local/php/etc/php.ini
max_execution_time = 30 memory_limit = 64M ; 如果内存太小,也可设置成32M~48M post_max_size = 10M ; bluehost使用此值 upload_max_filesize = 10M ; bluehost使用此值 …… disable_functions = …… ;去掉其中的scandir和fsocketopen,保证WordPress的功能正常
2,修改/usr/local/php/etc/php-fpm.conf
15 #256M内存的VPS建议保持默认的5,512内存的建议改为10,1G内存的建议改到20左右 …… 60s #改为60左右
别忘记执行service php-fpm reload重启一下php服务。
当你设置完,可能会出现如下的错误:
Fatal error: Out of memory (allocated xxxxxxx) (tried to allocate xxxx bytes)……
一看上去就是内存超限导致的,我的理解是,跟memory_limit和max_children的值有关。前者指定每个php脚本能占用的最大内存,而后者指定了可以同时运行多少php脚本。根据这个原因,只要随便改小其中一个值即可。
很多人还纠结是否应该安装lnmp一键包里的memcache和eAccelerator,我认为,eAccelerator可以安装,打开速度大约能提升1-2秒左右;至于memcache,这个东西是用来缓存数据库的,如果你的VPS是SSD硬盘,那么读取和写入的速度本来就很快,那完全没有安装的必要。如果是普通机械硬盘,那还是安装吧。
原文地址:优化php参数,加快WordPress速度, 感谢原作者分享。