wordpress速度优化-静态页写入内存

2023-05-16 15:13:51 浏览数 (3)

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

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

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

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

代码语言:javascript复制
[root@VM_0_8_centos ~]# dd if=/dev/zero of=bigfile bs=1M count=500
500 0 records in
500 0 records out
524288000 bytes (524 MB) copied, 4.45831 s, 118 MB/s

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

代码语言:javascript复制
[root@VM_0_8_centos ~]# cd /dev/shm
[root@VM_0_8_centos shm]# dd if=/dev/zero of=bigfile bs=1M count=500
500 0 records in
500 0 records out
524288000 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.zuanmang.net/wp-content/cache-tmpfs/

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

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

代码语言:javascript复制
[root@VM_0_8_centos ~]# cd /www/wwwroot/www.zuanmang.net/wp-content/cache-tmpfs/
[root@VM_0_8_centos cache-tmpfs]# dd if=/dev/zero of=bigfile bs=1M count=500
dd: error writing ‘bigfile’: No space left on device
87 0 records in
86 0 records out
90574848 bytes (91 MB) copied, 0.0437874 s, 2.1 GB/s

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

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

硬盘:2.93s

内存:1.64s

文章源自:钻芒博客 www.zuanmang.net

0 人点赞