如何以最快速度加载 H5 页面,考虑网络不佳的情况?

2021-06-22 15:39:06 +08:00
 skyrem

如题,公司在做一个类似收钱吧的产品

需要用户扫一个二维码,加载微信公众号下的付款页面

页面内容是一个简单的数字键盘,用于输入付款的金额

这个过程有一个微信授权的跳转,大概 200ms 左右

服务器页面的响应大概 400ms 左右

这是正常网络的情况,但是会有弱网络的情况,比如小县城的菜市场

目前是单台服务器, 加载的 js 放了 cdn,然后还有个商家上传的 logo,压缩过

老板的问题是,为什么别人(收钱吧)在(菜市场)打开很快,而我们的很慢?

求教各位大佬,还有什么办法可以加快页面加载速度 ?

阿里云的 SLB 负载均衡+高可用的服务,感觉是为了高并发和弹性扩容设计的,用在提高加载速度上效果是否明显?

3389 次点击
所在节点    程序员
33 条回复
han3sui
2021-06-23 08:57:19 +08:00
模拟下弱网环境,看下各项加载,针对优化就好了吧
genesischou
2021-06-23 10:21:36 +08:00
直接做成小程序
duduaba
2021-06-23 10:22:59 +08:00
页面响应 400ms 是不是有点长了
cyrbuzz
2021-06-23 10:32:26 +08:00
在网络好的时候,页面响应要 400ms 是不是有些慢?

感觉还是先优化下这块吧,服务器端只是返回一个 HTML 需要 400ms 这问题有点大,只经过 Nginx 怎么会需要这么长时间,弱网下 400ms 还正常一些。另外 TCP 慢启动第一个 TCP 包大小是 14kb,可以想想办法优化到 14kb...
skyrem
2021-06-23 13:06:40 +08:00
@chezs66 #20
@genesischou #22
小程序就不考虑了,pwa 这个之前没听过,我去研究下
skyrem
2021-06-23 13:08:23 +08:00
@IvanLi127 #13
具体的现场我没去过,是业务人员反映的
主要是想看看还有什么地方可以改进的
skyrem
2021-06-23 13:10:51 +08:00
@3dwelcome #14
@cest #18
我查了下 http3 和 quic 需要在浏览器端开启支持,这个对于使用老旧手机的用户而言不太现实
这个 mmtls 是微信浏览器默认支持的吗?
skyrem
2021-06-23 13:12:35 +08:00
@coderfuns #23
@cyrbuzz #24
是的,服务器端还有优化的余地,主要公司一开始用了个很旧的框架,这个要改起来很麻烦
skyrem
2021-06-23 13:27:25 +08:00
@cyrbuzz #24
慢启动这个概念我也没听过,意思是 14kb 以内可以极大的减少 RTT ?
cyrbuzz
2021-06-23 13:46:50 +08:00
ishalla
2021-06-23 14:06:56 +08:00
啊这个问题我也遇到了,不过我不是写代码的,而是做架构的,老板让我们想办法,CDN 都换过好几家,后来我就观察了一些别的号,发现其实可能也不是我们自己的页面慢,而是别家打开弹窗跳券。。
跳出来一个优惠券,用户有的会点有的不会点,但自然感觉不到页面加载慢了。。
ccraohng
2021-06-23 22:12:39 +08:00
全站加速。
就一个键盘,尽量不要用库。
图片用 secset 用 webp 。
加快后端响应
towry
2021-06-23 23:52:25 +08:00
打开控制台看下 network 的 timeline 是哪些部分请求太慢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/785087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX