欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

优化php参数,加快WordPress速度

程序员文章站 2024-01-01 11:53:04
...

这个博客陆陆续续使用过一些美国的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硬盘,那么读取和写入的速度本来就很快,那完全没有安装的必要。如果是普通机械硬盘,那还是安装吧。

上一篇:

下一篇: