前言
Speed is all you need.
硬件层面
正如之前的网站更新记所记述的那样,我将服务器公网带宽从1Mbps升级到了2Mbps。由于我的文章通常不涉及过多的图片,所以这个带宽已经很够用了。
主题修改
我将背景图和favicon图换成了比较小的文件,从原来的1M的图片,变成了295.39KB的图片,大大降低了下载图片所需要的时间。
在这之后,我发现,在不挂梯子的情况下,disqus会占用大量的加载时间,最后报出一个超时错误。所幸,我十分轻易的找到了解决方案,来自于Sukka的博客,这里放一个用到的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| function loadDisqus() { var d = document, s = d.createElement('script'); s.src = 'https://[你的 Disqus shortname].disqus.com/embed.js'; s.setAttribute('data-timestamp', +new Date()); (d.head || d.body).appendChild(s); window.disqus_config = function () { this.page.url = [你的页面 URL]; this.page.identifier = [你的页面的唯一辨识符]; }; }
var runningOnBrowser = typeof window !== "undefined";
var isBot = runningOnBrowser && !("onscroll" in window) || typeof navigator !== "undefined" && /(gle|ing|ro|msn)bot|crawl|spider|yand|duckgo/i.test(navigator.userAgent);
var supportsIntersectionObserver = runningOnBrowser && "IntersectionObserver" in window;
setTimeout(function () { if (!isBot && supportsIntersectionObserver) { var disqus_observer = new IntersectionObserver(function(entries) { if (entries[0].isIntersecting) { loadDisqus(); disqus_observer.disconnect(); } }, { threshold: [0] }); disqus_observer.observe(document.getElementById('disqus_thread')); } else { loadDisqus(); } }, 1);
|
经测试,十分有效。
随后,我通过PageSpeed Insight网站检测,发现字体渲染也可以加快访问速度,于是在CSS文件中增加了:
虽说我肉眼看不出有什么差别,不过测试结果倒是快了一些。