最近在弄AWS,一直觉得AWS的网络要比阿里云的快,所以我本来的初衷是将我的博客拷贝到AWS对比一下速度。
我选择的AWS EC2是免费的,所有只有1个CPU和1G内存,这个配置和我在阿里云上买的配置是一致的,所以具有可比性。
结果有点让我小惊讶,我的网站放到AWS上后比自己在阿里云上访问感觉更慢……看来我之前在阿里云上优化的那么多内容还是有效果的,哈哈哈。
不过这次对比也让我清楚地明白了一个问题,那就是我还得继续在优化的道路上继续前行。
打开网站测速网站Pingdom Website Speed Test,填入网站地址后,测试结果是13秒。其实这13秒已经是多次测试后最好的结果了。
详细的报告在这里Website speed test – www.kevin-wang.com。
看到这个结果后我分析出两个优化点。一个是页面内容。1.7MB的内容还是有点多,我的网站性能和出口带宽都小,因此东西越多我可能延迟就越大。另一个是我想使用HTTP2 – 毕竟哥们以前研究过这个,一直没在自己的网站上用上也属于一个重大失误了。
减少页面大小,我使用的方法是在HTTP Header里使用gzip,也就是压缩。
参考页面是Google的优化建议《Enable Compression》里的关于Nginx的内容。最终我在nginx.conf中加入了如下内容:
gzip on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml;
下一个目标是启用HTTP2。查询了一下Nginx的HTTP2兼容性,我使用的版本是1.10.2,支持HTTP2协议。
在Nginx上启用HTTP2非常简单,只需要在相应的配置文件里的listen行添加http2就好了:
#
# HTTPS server configuration
#server {
listen 443 ssl http2;
……
}
参考文章《How To Set Up Nginx with HTTP/2 Support on Ubuntu 16.04》
比较令我惊奇的是,在测试中不但发现有HTTP2的流量,还有SPDY的流量……这还是真有点出乎我的意料。
检验一下成果吧,页面大小从1.7MB减小到1.2MB,载入速度从13秒降到6秒,非常满意。

详细报告在这里Website speed test – www.kevin-wang.com – 2。
<5/21/2018更新>
今天才知道我做的gzip不是很彻底……
参考文章《How To Add the gzip Module to Nginx on Ubuntu 14.04》
问题的关键是我的gzip_types写的太少了,尤其是application/javascript这个没写。
gzip on;
gzip_disable “msie6”;gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
#gzip_http_version 1.1;
gzip_min_length 256;
gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
最终的测速结果是 – 当当当当!

惊不惊喜?意不意外!从最开始的1.7MB瘦身到800KB,载入时间减少10秒!OMG!嘿嘿嘿嘿~

