kibana7.x 加载速度

781 阅读1分钟

背景

之前项目中用了kibana7.6版本,这个版本加载的资源太多,加载速度过慢。社区也有些反馈(吐槽),官方也建了issue跟进,所以对比最近一些版本。

各版本对比

测试版本 7.6.0、7.10.2、7.15.2,同网络环境,同浏览器,同协议http1.1

首次加载时间对比
版本首次加载速度
7.67.7s
7.103.9s
7.154.76s
请求数对比
版本js数量css数font数xhr总数
7.6554953116
7.101074313132
7.151314318160

7.6.0版本截图

image.png

7.10.2版本截图 image.png

7.15.2 版本截图 image.png

大文件数量

大文件指文件大小超1M的文件

版本数量大文件
7.65vendors_0.bundle.dll.js vendors_1.bundle.dll.js vendors_2.bundle.dll.js kbn-ui-shared-deps.js commons.bundle.js
7.101kbn-ui-shared-deps.js
7.151kbn-ui-shared-deps.js

7.6.0版本截图 image.png 7.10.2版本截图

image.png

小结

7.6到7.15 版本大文件的数量,减少了Content Download 时间。

进一步优化方案

通过压缩资源来减少文件下载时间从而提升加载速度;

通过缓存及预加载等策略来减少非首次加载时间;

  • 对一些较大资源进行预加载
<link rel="prefetch" href="xxx.js" />
<script defer src="xxx" ></script>
<script async src="xxx" ></script>
  • 缓存服务器,对特定资源强缓存
if ($request_filename ~* .*\.(?:js|css)$) {
   add_header Cache-Control "max-age=86400000";
}
  • 部分静态资源挂载到cdn服务