我用的vps,用了wordpress之后速度慢了不少,内存,cpu,涨的都厉害,很直观。
于是,写插件吧,虽然wordpress的插件很多,缓存插件也不少,但满足我的需求的却是没有。我要的是这样的
1.使用memcache缓存整个页面。(memcache可压缩缓存,并且我的页面并不多,因此占用并不大)
2.在入口处就加载并且使用缓存(仅仅加载一个我预定义的缓存读取php文件,io极少,速度极快)
需求很少,因为是特定的需求,十分简单,我要的就是整个页面都跑在内存中!
写插件吧……几天之后,一个插件完成了。
hccache缓存插件加速
后台菜单是酱紫的
hccache菜单点开之后是酱紫的
能够定义缓存过期时间
可以查看并且手动清除缓存
好了,一个简单地缓存插件就写好了,其中有一些细节,比如
1.用什么做key呢?
答案是url,经过md5之后,就成了一个key了,url本身就具有唯一性
2.如何控制404页面不被缓存呢?
这里用了一个html标签,正常页面会在页脚插入一个<!–statusok–>的标签,而404页面以及没有使用模板的或者载入不完整的页面都不会有这个标签,极大地保证了缓存的准确性
3.为了保证能够缓存更多的页面,我对缓存进行压缩了。不过实际上也就是memcache自带的压缩功能啦
4.如果有文章查看次数,这样静态的岂不是查看次数不能更新了,怎么办?
用ajax啦,这个我准备在主题里面增加解决方案了,没别的方法了
5.评论之后没法显示,这个又该如何解决呢?
还是用ajax啦,还是在主题之中增加解决方案了
6.缓存自动更新机制,在发布文章的时候,自动更新首页的缓存。
全页面的缓存问题
上面有些问题仅仅在全页面缓存中会出现,比如查看次数,比如评论问题,这些问题都需要我们使用ajax来做,因为全静态就意味着主题前台所有的动态功能都无法使用了,能够做的仅仅是展示之前缓存的页面而已。当然,这对于一个小程序员来说,这些并不是什么大问题,解决就是。
使用cdn再次加速
当我使用了我的hccache缓存插件之后,发现速度确实是提升了,很明显。但是当我强制刷新的时候,却发现速度异常的慢。
打开firebug,发现时某些js的加载导致的,网站响应速度是飞快的,但是却因为这些个js拖了后腿,绝对不能忍!
这些js都是必须的,不能去掉,于是考虑到将这些js放到cdn上面去。(都是一些库,jquery啊),可以看看国内常用的js cdn 。
当我把我的js库改成cdn之后,加速效果十分明显。用秒开已经不足以形容网站的速度,顺便说一下,我的主机还是国外的哦。
后记
真正让我感官上速度加快的,其实是cdn。缓存的作用更多的是减小主机的负担。在访问量极高的时候尤为明显!
你可能还喜欢下面这些文章
Varnish是一个HTPP反向代理缓存,它接受来自客户端的请求并试图从缓存中取出相应的数据来应答,如果缓存中并没有相应的数据,它将会把请求指向后端机器,获取并且储存响应的数据,之后再交付给用户。当varnish有缓存的时候响应通常只需要几微秒的时间,比直接访问后端机器通常要快两个数量级,所以要做的就是尽可能的将页面缓存到varnish中。varnish可以根据后端响应的内容来决定是否储存,在响应头中加入cache-control将会被varnish缓存。使用cookie可以让varnish不缓存。这些都是可以在一个vcl的配置文件( Varnish Configuration Languag
让sublime支持less css,以及支持压缩css的less插件
要想让sublime支持less,不仅仅是装个sublime插件就完事了啊!事情的经过还是颇为曲折的。第一步:安装nodejs首先先配置一下环境,less需要nodejs支持,所以我们先要安装一下nodejs。到nodejs官网下载就可以了:https://nodejs.org/en/ 第二步:安装less插件由于我的是windows,所以打开cmd啦,用npm安装less,命令为:npm install -g less@latest等待一会儿,结果就如图啦:这里我们的less就安装完毕了。第三步:安装sublime的less2cssctrl+shift+p调出面板,输入install pac
赞赏微信赞赏支付宝赞赏
我用国外的CDN
国外的CDN效果肯定不理想啊。。。
你的网站优化的不错,敢问博主用的哪家的VPS呢?
用的conoha,希望博主没有这个情节,哈哈。优化主要就是静态文件cdn加上memcache,其余的其实也没啥
我现在主要开启了缓存插件和托管静态文件,暂时还没使用memcache,不过你的速度真的很快。
哈,我也觉得挺快的,首页响应速度基本在200ms以内,然后常用库使用静态,这个十多ms,其他的七七八八,整体载入在1s左右,哈哈。
想要再快还是得买国内的机器啊,不过你的站点为什么打开总会自动载入下一页的内容?