昨天博客加了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