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

%title插图%num

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

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

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

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

[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

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

[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工具箱-内存盘)

%title插图%num

  • 内存盘具有物理磁盘无法比拟的读写速度,但只能用于保存临时数据!
  • 内存盘是直接将部分物理内存挂载为磁盘,请根据当前服务器内存使用情况合理安排挂载容量!
  • 重启服务器,或卸载内存盘后,保存在该内存盘的数据将被清空!

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

%title插图%num

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

%title插图%num

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

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

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

%title插图%num

更新缓存位置后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=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%title插图%num

内存:1.64s

%title插图%num

 

给TA买糖
共{{data.count}}人
人已赞赏
WordpressWordPress优化

wordpress网站静态缓存插件之WP-Super-Cache详细安装与配置说明教程

2019-6-15 10:58:03

WordpressWordPress优化WordPress插件wordpress美化前端

wordpress接入QQ等社交登录插件[QQWorld通行证]钻芒二开美化版

2019-6-16 20:37:38

13 条回复 A文章作者 M管理员
  1. 我又有个问题….缓存之后文章页面浏览量不更新了,访问几百次也只有一两个我自己登陆上去的,有什么好的解决办法吗?或者我干脆不缓存文章页了。

    • 可能是你的服务器环境问题吧。优化过其他站点还没遇到这种情况

  2. 站长大大,我用了你这个方法,也保存好了新的缓存地址,但是(缓存测试)的时候,页面都是404,点进去的地址是原来的地址,https://www.xx.cc/wp-content/cache/1.html。请问你是不是也是这样的?不影响网站吧,我用手机打开首页确实变快了

    • 我努力读了三遍,也没明白你说什么意思。。 💡

    • Alextao

      WP Super Cache 这个插件不是有个缓存测试的按钮嘛,照着你这个弄了之后,点缓存测试,测试出来的页面打开都是404,地址栏上面显示的还是原来的缓存目录wp-content/cache

    • Alextao

      没事了..我发现你的https://www.zmki.cn/wp-content/cache/1.html页面也是很久以前的

    • 嗯 能正常访问就可以 。

  3. 兄弟 我有一个疑问我的VPS是2G的 IO速度300M左右每秒 比如我创建的是在wp-content下创建的cache-tmpfs是300M 如果后期这个文件夹缓存堆满了怎么办啊 是不是就把最新的缓存盖过旧的 缓存 还是会出现卡死的现象

    • 缓存的都是静态页面,页面占用内存很小,300m已经很大了。用不完的

  4. …Windows IIS…枯了

    • 缓存在硬盘里效果提升也很大。

    • Alextao

      好吧,我试试看 😎

  5. 可否

    看看