WordPress 3.8终极加速方案,无需插件,页面执行提升到0.0x秒

老牛  2013-12-24 01:37  阅读 1,217 views 次 评论 9 条

什么插件也不装,APC关闭
打开默认首页
1. 原WP, 执行时间在0.60 - 0.67 秒间
2. 用我的办法, 页面执行时间提升到 0.15-0.20 秒间
然后,打开APC
1. 原WP, 执行时间提升到 0.29-0.38 秒间
2. 用我的办法,页面执行时间提升到 0.04-0.05 秒间
性能提升 6 倍
不说缓存了,都说烂了,缓存不是解决的办法,缓存总是要过期的
其他的优化方法我不说了
说点特别的,性能可以提升不少
要让wordpress 快,用好内存
以下二个PHP扩展,二选一
1. apc
2. zend opcache
性能我测试过,差不多,开启它们
然后,把所有wp的PHP文件,全部直接放内存里
举例: 你的 wordpress 目录在 /var/www/wp
方法如下:
1. 复制一份 wp
cp -rf /var/www/wp /var/www/wp2
2. 删除非 php 文件
cd /var/www/wp2
find . -type f | grep -v ".php" | xargs rm -f
3. 放到内存里
cp -rf /var/www/wp2 /dev/shm
4. 可以删除原目录里的所有php文件
cd /var/www
find . -type f | grep ".php" | xargs rm -f

现在,我们已经把 wp 目录下的所有PHP文件过滤出来直接全部放内存里了
最后一步:
5. 配置 nginx
server {
listen 80;
server_name xiaohost.com www.xiaohost.com;
root /var/www/wp;
index index.html index.php;
location / {
try_files $uri /index.php;
}
location ~* .php$ {
fastcgi_index index.php;
fastcgi_pass unix:/dev/shm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME /dev/shm/wp/$fastcgi_script_name;
include fastcgi_params;
}
}

6. 重启 nginx 和 php-fpm 搞定!
最新版的 wordpress 3.8 这样分开后
纯php文件一共 8.4MB,全放内存里
其他文件 4.7MB
如果部署好了以后,不要安装插件
如果要安装,需要分离放一下

PS:向andy致敬!辛苦了

本文地址:http://xiaohost.com/130.html
版权声明:本文为原创文章,版权归 老牛 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

  1. Tim Lee
    Tim Lee @回复

    这个太强大了~~~我去试试去

    博主你的博客打开也很快啊~~~域名没beian? 怎么主机速度这么快?是国外主机还是国内的? 用了CDN吗?

    • 老牛
      老牛 @回复

      呵呵~~没有备案~~这个博客没有放在国内,没用CDN,没按上面方法处理,lnmp环境,只用了eAccelerator 0.9.6.1,开启了Gzip,没有开缓存,基本没有优化,主要是现在还没到需要优化的时候,不想折腾,等我的博客每天1w ip了再按上面方法处理吧。
      你试试访问http://cnzz.info 这个网站是个小内存vps,美国达拉斯机房,lighttpd的,只开了Gzip,是不是也很快~~选择主机的时候不要凑热闹,不要听别人乱讲,网站前端精简一下,访问速度国内还是能接受的~~

    • 老牛
      老牛 @回复

      美国的VPS,256M,VZ架构,商家很冷门低调(需要知道的话给我私信)
      lighttpd服务器(可以看看博客内相关内容),开启了Gzip
      没开CDN
      没cache
      没备案
      纯粹裸奔…不知道你是哪个省份的?访问很快吗?
      安装Zend OPcache需要注意你PHP的版本,我最近会放出教程

  2. 351747417
    351747417 @回复

    内存加速看起来好厉害哦,老牛大大,请问apache应该如何配置呢

  3. 九点半
    九点半 @回复

    博主,,这种做法,假如机房断电,PHP文件是否会丢失???

    • 老牛
      老牛 @回复

      恩 可以写脚本每次开机执行一次
      不过一般没有必要这样折腾,只用Zend opcache或者xcache就已经满足大多数要求的效果了,我实际生产时没有把php放到内存里,博客的vps只用了xcache 另一个几千ip的WordPress网站用的opcache,已经提升了很大性能,其实瓶颈不在php,而是在数据库

  4. Petaflops
    Petaflops @回复

    好办法,学习了