如何优化线上WebAssembly

如何优化线上WebAssembly

WebAssembly部署使用 HTTPS :为什么?我可以通过一个案例查看 ,下面我们会通过masa docs站点进行测试 打开 http://docs.masastack.com/blazor/getting-started/installation 网站 查看网络耗时

5bde78068bb050397d259f6a0c477d68.png

刷新浏览器 按住 F5刷新

69e0a0e9d48d102c0784a9b1d9cab724.png

我们看到又一次加载了dll ,这是HTTP的加载,每次请求都会重新加载程序集

继续测试HTTPS ,打开 https://docs.masastack.com/blazor/getting-started/installation ,我们可以看到第一次加载的程序集

407fbb2c147ff0e916bdde8d62f481b6.png

刷新浏览器 按住 F5刷新,查看结果 ,我们发现浏览器似乎并没有加载程序集

900e3fff02a52aa968d5442144c776d4.png

从当前测试中我们可以知道Http似乎每次加载界面都会重新加载程序集 然而HTTPS只有第一次加载程序集,为什么会这样?

这个时候我们可以查看调试工具的 应用程序 => Cache Storage , 这是HTTPS中的缓存

2df4a982d2d49f123ef646098f37cd1d.png

在打开HTTP应用程序 => Cache Storage , 我们发现应用加载完成以后我们的Cache Storage还是空的。

03e2fa01f88af68a0dfcf755b8cbd351.png

原因主要是Cache Storage限制 :

参考 Cache Storage Api 文档[1]

当中介绍到Cache Storage限制使用问题:

原文:

7141c2a2ebf4605436e015baf69bebcd.png

翻译:

c7eb4bc4b20dd0c74679e2bdd838c8f6.png

当中介绍到Cache Storage接口限制仅在HTTPS中使用,如果使用HTTPS部署WebAssembly项目第二次加载无需加载程序集,只需要等待WebAssembly预热完成,基本上在1.5s左右(因电脑而已 i7 11代CPU测试,因为WebAssembly会使用本机性能所以会因为电脑性能导致加载时间过长)

优化第一篇参考:

如何将WebAssembly优化到1MB?[2]

来自token的分享

参考资料

[1]

Cache Storage Api 文档: https://developer.mozilla.org/en-US/docs/Web/API/Cache

[2]

如何将WebAssembly优化到1MB?: https://www.cnblogs.com/hejiale010426/p/17076817.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值