一个可以直接跑起来的http2与http1.1性能对比的测试
详情可见 http/2深入学习
1.clone代码到Tomcat,Nginx,Apache或IIS目录下,并启动服务器
2.命令行内切换到http2test文件夹
3.运行node index.js命令启动后端服务
4.浏览器内访问index.html页面
因为本地加载实在太快,为尽量模拟生产环境网络情况,以下测试都是使用Chrome的fast3G模式。
类型 | 请求方式 | 大(237kb)小(2kb)文件 | 文件数 | 加载时间 |
---|---|---|---|---|
HTTP/2 | 浏览器加载 | 小 | 40 | 2.81s |
HTTP/1.1 | 浏览器加载 | 小 | 40 | 5.89s |
HTTP/2 | AJAX | 小 | 40 | 2.49s |
HTTP/1.1 | AJAX | 小 | 40 | 5.82s |
HTTP/2 | 浏览器加载 | 大 | 40 | 52.59s |
HTTP/1.1 | 浏览器加载 | 大 | 40 | 52.57s |
HTTP/2 | AJAX | 大 | 40 | 52.66s |
HTTP/1.1 | AJAX | 大 | 40 | 52.58s |
由此可见: HTTP/2的优势主要体现在大量小图片的加载上,对于少量大图片的加载并不占太大优势,并且,网络条件如果非常好的时候,由于加载非常快,HTTP/2也不能体现出优势