加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 教程 > 正文

wordpress超级加速,把缓存放到内存里

发布时间:2022-06-24 22:28:51 所属栏目:教程 来源:互联网
导读:这是一篇关于wordpress加速的另类文章,把缓存文件放到内存中,如果内存不够用怎么办?swap分区。刚好你的vps没有swap分区呢?可以来增加虚拟swap分区,好了,进入正题。 很多wordpress站长都喜欢用Hype e、 pe e等缓存插件,把PHP动态页面在首次访问时生成ht
  这是一篇关于wordpress加速的另类文章,把缓存文件放到内存中,如果内存不够用怎么办?swap分区。刚好你的vps没有swap分区呢?可以来增加虚拟swap分区,好了,进入正题。
 
  很多wordpress站长都喜欢用Hype e、 pe e等缓存插件,把PHP动态页面在首次访问时生成html静态页面并存储在硬盘中,当其他访客再次访问时直接读取该静态页面,这样不需要再次通过PHP生成动态页面也不需要再从数据库中读取数据,大幅降低系统资源消耗,且大幅提升了页面打开速度。
 
  当你的vps是块石头盘呢?就可以看看下面的内容了:
 
  先来测测我使用的服务器硬盘读写速度:
 
   f=/dev/ze f=bigfi=1 nt=500
  500+ ecord
  500+ ecord t
  52428800 te2.84. B/s
  再来对比一下服务器内存的读写速度:
 
  #c/shm
       f=/dev/ze f=bigfi=1 nt=500
      245+ ecord
      244+ ecord t
      2560163 te.14160. B/s
  //phpfensi.com
  26.4MB/s与1.8GB/s,天壤之别啊!如果我们把这些生成的静态文件放到内存里缓存,效果不言而喻。
 
  Linux系统为我们提供了这样的解决办法,那就是tmpfs文件系统,tmpfs可以直接使用内存,同时在内存不够时使用swap分区来存储。另外需要注意的是tmpfs不具备持久性,重启后数据不保留,请务必注意,不过我们只用它来存储缓存文件,即使文件丢失也不影响网站访问,完全无风险。wordpress如何使用把缓存放到内存中
 
  /dev/shm/是一个设备文件,它使用就是tmpfs文件系统(注意:在Centos和Redhat下,/dev/shm目录是一个链接,指向/run/shm目录,在Ubuntu系统下tmpfs文件系统对应的是/run/shm目录,可以使用df命令查看),因为/dev/shm/这个目录不在硬盘上,而是在内存里,它就是所谓的tmpfs。可通过命令查看到,tmpfs默认大小为物理内存的一半,当然也可以根据实际情况调整。
 
  首先为wordpress的缓存文件建立一个目录wpcache
 
  kdi/shm/wpcache
 
  赋予读写执行权限
 
  7/shm/wpcache
 
  将tmpfs挂载到wordpress缓存插件生成的/cache目录下
 
  n/shm/wpcac me/wwwroot/amznz.com/wp-content/cache
 
  /shm/wpcache
 
  返回类似下面的内容说明挂载成功
 
  rwxr w w2/shm/wpcache
 
  此时缓存插件会重新生成静态页面文件,过一段时间后,通过命令即可查到tmpfs的使用情况。
 
  需要注意的两个问题:
 
  1.根据实际情况(内存大小、文章数量)调整wordpress缓存插件的中的缓存页面到期时间,否则会占用太多内存;
 
  2.注意添加swap分区,以防内存不够用时备用,4G物理内存以下设置swap分区大小为2G即可。OK!来测试一下:感受一下,速度有没有更快一些呢?当然你也可以参考此方法运用在其它类型的网站程序上。
 
  之前在网上看到有人在wordpress上使用memcache缓存模块来优化,咱这里也做了个测试,使用memcache缓存模块与使用共享内存/dev/shm的读写测试对比,不多说,自己看吧:
 
  测试一:读取100000次数据——————————?C//使用memcacherequire_onc‘tools/cache/memcached-client.php';$me e emcached($options);$mem->set(‘x’‘0’);$ti icrotime(TRUE);fo$0000++) em->get(‘x’);}$e icrotime(TRUE);ech ound($e i);——————————?C连续运行三次脚本,结果分别为10.5,10.46,10.63
 
  ——————————?C//使用共享内存/dev/shm$ti icrotime(TRUE);fo$0000++){$da e_get_contents(‘/dev/shm/php_system/vipcache’);}$e icrotime(TRUE);ech ound($e i);——————————?C连续运行三次脚本,结果分别为3.2,3.25,3.2
 
  测试二:写入100000次数据——————————?C//使用memcache$me e emcached($options);$ti icrotime(TRUE);fo$0000++) em->set(‘x’‘0’);}$e icrotime(TRUE);ech ound($e i);——————————?C连续运行三次脚本,结果分别为10.93,9.22,9.41,与读取测试结果相差不大,说明memcache的读与写时间是差不多的
 
  ——————————?C//使用共享内存/dev/shm$ti icrotime(TRUE);fo$0000++){$da e_put_contents(‘/dev/shm/php_system/vipcache’‘0’);}$e icrotime(TRUE);ech ound($e i);——————————?C连续运行三次脚本,结果分别为2.5,2.52,2.53,写跟读的性能一样优越
 
  测试结论:直接操作本地的共享内存,速度比memcache要快很多。
 
 

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读