wordpress利用WP Super Cache将静态页写入内存,大幅提高运行效率!

2年前 (2022-12-28)阅读434回复0
翱翔MJ
翱翔MJ
  • 管理员
  • 注册排名1
  • 经验值3650
  • 级别管理员
  • 主题600
  • 回复325
楼主

昨天博客加了WP Super Cache缓存插件,速度提升明显。使用这类插件可以将PHP动态页面在首次访问时生成html静态页面并存储在硬盘中,当其他访客再次访问时直接读取该静态页面,这样不需要再次通过PHP生成动态页面也不需要再从数据库中读取数据,大幅降低系统资源消耗,且大幅提升了页面打开速度。

如果不考虑服务器带宽,那最大的瓶颈就是硬盘了,因为这些生成的静态页面都存储在硬盘上,访问量大时,硬盘的读写速度低会导致网站访问缓慢,如何在较大的访问量下依然保持页面的迅速打开呢?如果你使用VPS、云服务器或独立服务器,继续阅读下去,你会有大收获:

(*文章结构和部分字段网络复制来的。数据教程内容原创)

先来测测我使用的服务器硬盘读写速度:

[root@VM_0_8_centos ~]# dd if=/dev/zero of=bigfile bs=1M count=500500+0 records in500+0 records out524288000 bytes (524 MB) copied, 4.45831 s, 118 MB/s


再来对比一下服务器内存的读写速度:

[root@VM_0_8_centos ~]# cd /dev/shm[root@VM_0_8_centos shm]# dd if=/dev/zero of=bigfile bs=1M count=500500+0 records in500+0 records out524288000 bytes (524 MB) copied, 0.278453 s, 1.9 GB/s


118 MB/s与1.9 GB/s天壤之别啊!如果我们把这些生成的静态文件放到内存里缓存,效果不言而喻。

幸运的是Linux系统为我们提供了这样的解决办法,那就是tmpfs文件系统,tmpfs可以直接使用内存,同时在内存不够时使用swap分区来存储。另外需要注意的是tmpfs不具备持久性,重启后数据不保留,请务必注意,不过我们只用它来存储缓存文件,即使文件丢失也不影响网站访问,完全无风险。

wordpress如何使用tmpfs:

钻芒博客用的宝塔面板,实际上宝塔可以直接设置挂载内存盘。(在应用商店-系统工具-Linux工具箱-内存盘)


内存盘具有物理磁盘无法比拟的读写速度,但只能用于保存临时数据!

内存盘是直接将部分物理内存挂载为磁盘,请根据当前服务器内存使用情况合理安排挂载容量!

重启服务器,或卸载内存盘后,保存在该内存盘的数据将被清空!

我们选择wordpress下的一个空的目录(可以自己创建)


这里我们这里创建一个cache-tmpfs文件夹(可以随意命名),并选择这个目录挂载。


然后新创建的这个cache-tmpfs文件夹就是挂载在内存

我们去WP Super Cache 插件设置里把缓存位置换成刚才创建挂载在内存文件夹的目录

比如我的:/www/wwwroot/www.zmki.cn/wp-content/cache-tmpfs/


更新缓存位置后WP Super Cache 会自动在新的缓存位置生成缓存文件,以后的缓存都缓存在新的目录里。

我们测试一下/www/wwwroot/www.zmki.cn/wp-content/cache-tmpfs/这个文件夹的读写速度

[root@VM_0_8_centos ~]# cd /www/wwwroot/www.zmki.cn/wp-content/cache-tmpfs/[root@VM_0_8_centos cache-tmpfs]# dd if=/dev/zero of=bigfile bs=1M count=500dd: error writing ‘bigfile’: No space left on device87+0 records in86+0 records out90574848 bytes (91 MB) copied, 0.0437874 s, 2.1 GB/s


2.1 GB/s速度提升明显!!

硬盘缓存和内存缓存前后打开速度对比图(带缓存)

硬盘:2.93s

内存:1.64s




作者:Alextao_0a86
来源:简书

0
回帖

wordpress利用WP Super Cache将静态页写入内存,大幅提高运行效率! 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息