优化小程序性能一直是一件令人头疼的事情。为此,微信团队近期上线了“小程序测速”功能,可以简单方便地统计小程序内某一事件的实时耗时情况,并可根据地域、运营商、操作系统、网络类型、机型等关键维度进行交叉分析。对于更复杂的用户场景,还可以使用自定义维度进行分析。
欢迎大家根据全新上线《小程序测速使用指南》测试小程序的网络性能、渲染/加载性能等指标,并在本话题与我们交流你对小程序性能调优或测速能力有什么样的建议或期待?
参与本话题优秀回答者将获得微信正版周边礼品一份,快来参加吧!
*图片仅供参考,实际奖品选择与发放将视官方周边更新与存货情况进行适当调整
*获奖情况将在「社区每周」公告中进行公示,受近期疫情影响,公示与发货时间可能有所延长
作为一个挺早就收到内测邀请的用户,简单说说自己的一些看法。
小程序里面进行“测速”,之前无外乎几种办法:
1 - 小程序后台”开发“---“运维中心”---“性能监控”。这里能看到一些数据,包括首次打开、下载、渲染等等,但是不能定制,如果想看其他的一些“速度”,无能为力。
2 - 小程序后台“统计”---“自定义分析”中自己创建事件、完善事件字段,并通过api接口reportAnayasis上报分析数据。这种方式可以一用,然而自定义分析一般是用来进行用户行为分析或者结合api上报进行业务数据分析(包括后续的漏斗分析)。拿来做这样软件方面的基本分析似乎也不太合理和专业,查询的时候会麻烦死,而且对于“测速“而言,缺少了很多专业性的指标(譬如运营商-网络环境-等等,当然这些可以通过上报的自定义字段来处理,然而会增加不少小程序端的额外工作)。例如
3 - 自己做一套”测速“统计后台....这个就不说了,麻烦,没必要。
小程序测速,应该说是对于”性能监控”和“自定义上报”的一个强有力的补充,真正做到了”术业有专攻“。 首先是维度比性能监控丰富了许多,地域、运营商、操作系统、网络类型、机型等都纳入了关键维度,可以进行更细粒度的交叉分析。其次,使用上面,比”自定义分析“不知道简单了多少,你唯一需要做的就是:1.定义监控指标,获得监控ID;2. 小程序内接口调用上报时间;3. 后台查看数据。
总体甚为满意,几个小的需求或者说是建议吧。
1 - 自定义维度功能。指南中的例子很简洁,可否更稍详细说明场景和用途,以及常见的一些自定义维度?
2 - net测速和render测速中的默认维度,可否考虑加入”机型“分组(此机型非render测速中的“中高低”档位)。既然用户画像中可以分析出用户的机型(iphone 6,7,8,max、华为mate10、小米等),这里可否按此维度划分机型?不求所有,哪怕访问我小程序的前十机型也可以(这个“高中低”戳中了我的笑点,多高算高?多低算低?这个标准很不严谨。还好没放个“老人机”上来)。
3 - net测速默认维度中是否可以加入地域维度?可以直观的看出server所在机房和不同区域人群速度的关系,便于优化。
4 - 最后,只有7天数据么?颗粒细度最大到60分钟,也就是一小时么?那如何进行直观的优化前后的周/月平均值的对比呢?小程序数据统计、性能监控里面,都有"最近7天、最近30天、自定义时间”这样的维度,以天、月为单位,查看方便,一目了然。
这个我用了好几个月了。自从有邀请资格后,我就开始研究试用的,这个对我和我管理的这个项目来讲是挺有意义的。因为我要求的是后端接口请求时间不超过300ms。达到这个要求这个我们内部自己测试没问题,但是不能监测到用户真实使用的场景,有了这个就方便多了,下面是我使用的其中一个项目的实时截图:
建议:
1、查询数据能更直观一点,可以把网络类的几个接口放到同一个图表中展示,把同是渲染类的放同一个图表中,同一个类的图表有可比性。就是可以多选同类的,默认是选择前5个同类的展示在同一个图表上
2、筛选时间段可以选择最近6个月吧。这样可以考核实际优化的效果。顺便说说那个自定义维度建议详细介绍下使用方法。
3、渲染性能测速详细介绍下,目前有点疑问的是:我目前的做法是setData开始到success后的时间计算渲染时间的,发现这个值跟用户真实的体验还是差距比较大。这个值一般都是50ms以下,但是实际上手机操作感觉渲染花了老多时间了。
4、上手难度和体验上希望优化,这对新手来讲确实感觉有点繁琐。我的建议是可以考虑在app.json里面加上一个列表来制定哪些网络请求可以监控速度替代掉现在的代码埋点的方式,比如:
requestMonitor:[ "api/login", "api/*pay*" ]
就这么配置下,mp后台就能看到相关数据。并且提供demo或代码片段
期待:
1、希望可以直接在MP后台模拟全国不同城市网点,不同机型访问接口的速率和渲染速率。
存储时长和上手难度后续会进行优化,感谢建议。
只能说小程序越来越完善了,对我这种中级,入门级开发者正在变得越来越好。
举例说明,之前开发的产品是面向本地生活,用户群体中中端手机偏多,会有各种奇奇怪怪的bug,以往我会说微信的问题,微信服务抖动,刷锅给微信。在没有大牛做技术支撑的团队,一般遇到这种问题无非就是后端扯皮前端,老板重视后端,前端无法反驳。 在举例说明,项目之初上线,服务响应慢,加载时间过长,前端接锅。性能优化后在小程序管理后台看到各项指标优秀满分,截图给boss和后端,最后再在没个接口加个响应时间,小于300ms的接口少的可怜,后端这才去排查服务问题。压测不做接口测试不做,接口质量非常差的时候,我们就太需要这个小程序测速能力。这个功能简直是世界和平的一大步。
对小程序性能调优和测速能力的小建议就是在渲染这里
关于机型可以出个建议信息,详细一点cpu型号去区分。有没有也都ok了,无用的小建议。其它建议暂无,对我小白来说够用
一个个都要这要那的,太不要脸了,不给你们还现抢?太过分了~
我觉得这些人都没有好好答题
可以简单方便地统计小程序内某一事件的实时耗时情况
首先这玩意肯定是对开发人员和管理人员使用的
刚开始上线时候我大概瞄了一眼,我的想法是
设置太繁琐了
所以我没有使用它,对,我就是个怕麻烦的人,
因为他需要代码编写+后台设置,而我没有后台设置权限、
这就意味着我需要代码编写+找人设置后台
恩 懒得弄 就这样吧
--↓↓👍点赞是回答的动力哦
刚上线的时候用过,但是后面就不经常用了,说下个人的拙见吧
1、设置起来比较麻烦,且迷茫
需要检测哪些点,哪些指标作为开发一开始都是懵逼,往往很多情况是根据PM要求来的,类似于“营销埋点”什么的,但PM对这个有什么用不太了解
建议:一开始官方可以给到一些默认就有的数据,同时说明做这些所带来的好处,而不是“机械”的功能说明,需要有人推动去使用它!
2、同质化,和“统计模块”、“性能体验报告模块”里的一些功能有些重复
比如用户画像,地区分布、加载速度、什么的,我是用户,我会想:“既然现成的都有,我干嘛还要再手动加”,人总是懒的~ 监控整合,埋点多功能,比如这个:
建议:告诉用户有哪些区别,如果只是“精细化”的定位,其实有点尴尬
3、希望官方能给出测试结果的同时,能像“性能体验报告”那样,给出具体建议!不然用户用起来有点困惑,比如:
4、横向比较的力量
有个实际情况:大多数情况下,大家以完成任务就结束了,不会再考虑深度的性能优化,所以有比较才有改(伤)进(害)的动力嘛,如果可以的话,做个 所有小程序的平均数据统计,给用户一些参考,类似一些汽车app中“百公里耗油排行”
5、数据保留时间可以长点。。。让用户看到长线的变化
相关题外话:
目前IDE工具中的性能测试Audits 当你页面多的时候经常会卡主。。。最新版v1.02.2003312,望官方修复下,这个工具其实挺有用的,一键测所有页面,懒人专用,方便简单
建议:你们的页面也能像这个一样。。。比如:在app.js一次简单加载,所有页面一键简单测试~
无关题外话:想要狗灯~
看到这个帖子,马上去小白小白地试了一下,点开 [ 新建 ] 弹框后,就迷茫了,不知道写什么,怎么搞,但还是按开发文档例子新建了一个
感受:简单方便地统计小程序内某一事件的实时耗时,感觉还是挺不错的,对开发者来说很有帮助,实用。
建议:
1、示例代码可以再细化一点,比较还是有点不知道怎么用(哈哈,可能我还是菜鸟~)
2、数据保留时间可以再长一点,比如7-30天可选,默认7天
3、一个无关该功能的建议,见下图
①就是一个触顶跟随的导航(方便)
②新建按钮(方便,不用再拉到下面,才能点击新建)
③各类目锚点,点击可直达,若有很多个可左右滑动
期待:暂无
--↓↓👍我想要奖品,点这里~
建议
1.测速希望历史时间保留长一些,比如一个月,因为有时候会根据这个来进行短时间内的绩效评判,更实在一些。
2.网速测速类我们希望新增图片测速,根据全国各地来返回不同的请求时间,希望网络类不仅仅是接口。
3.关于下载表格中,希望可以增加监控指标的名称,文件的名称中再加上监控指标就更好了。
4.管理监控指标这里希望增加删除,目前只有修改。
期待
1.对于小程序来说,我们其实更关心加载渲染类,希望根据此类针对性进行页面的优化。
2.
疑问
1.开发中心已经有了关于性能监控部分,小程序测速中也包括加载渲染部分,这两者之间有什么区别吗?如果有,请帮忙详述。
1. 监控用户感兴趣的指标:性能监控主要是官方指标的展示,没办法监控到业务感兴趣的每一个指标。小程序测速作为一个互补的工具诞生。开发者可以用小程序测速完成更针对性、更细粒度的分析。
2. 自定义维度功能: 用来帮助开发者做一些复杂场景数据细分上报。
对于绝大多数使用者来说,对于小程序性能什么的是没感觉的。比如你要用公积金小程序查询账户,不管这个小程序多慢,你都得老老实实的等。。。。
余欢水说:当一个女人不爱你时,连呼吸都是错的。所以考虑好用户需求很重要。当你真的需要一个东西,会忽略体验。当然,这里是说的代码逻辑正常的情况下。如果是代码写的有问题,导致页面渲染,程序运行有问题就另当别论了。
特别是在现在手机内存和性能日益增强的情况下,当然我们也得考虑以前的旧机型,需要特别优化了。极致的性能是一些功能复杂,用户人群大的小程序和所有产品经理所追求的
当然,官方增加这个测速功能对于我们开发来说是件好事,可以让我们针对性的优化代码,提高小程序的性能。
最后,我想要狗灯。
首先,我没用过
其次,刚出来我就听说过了
然后,这肯定很好用,毕竟是官方的东西,说不好用那是自己不会用
最后,想要狗灯
谢谢
--↓↓👍如果觉得有帮助的话请点个【赞】吧(唏嘘也有小尾巴了,可惜是假的)
想要狗灯
--↓↓👍点赞是回答的动力哦