我理解在生产中使用反应剖面仪对用户体验的影响应该很小或者可以忽略不计,至少对于页面上的20-50 (猜测)组件来说是这样。
我想知道是否有人可以分享任何已知的数据/估计,在交付产品构建的react时,对用户体验的性能影响,包括分析器?
我希望能得到一些数字,如果可能的话。
但如果不是这样的话,如果你能列出最高性能影响的位置,那就太好了--我正试图决定是否值得将两种不同的构建交付给用户,以尽量减少对用户体验的影响,或者影响可以忽略不计--我可以只发布一个版本,包括分析器,但在客户端切换分析/关闭,可能会使用headers/cookie等。
我看到将~2kb添加到包大小--这是我完全可以接受的。
我想分析一些组件,而不是生产中的所有组件,将这些数据聚合并发送到监视端点。
我认为有两种选择:
海事组织,这是‘更好’的解决方案,但因为它将需要解决一些复杂的建设和更长的时间,我想推迟到我已经证明了它的价值。
使用分析器对所有客户进行
中使用头和逻辑切换分析/关闭
这是首选方案。切换的目的是关闭用户计时API的使用,并使任何可能影响用户体验的性能命中都为空。在客户端包中,它可能如下所示:
if(headers["x-profiler"]) {
return (
<Profiler id="TodoList", onRender={postPerformanceDataToAPI}>
<TodoList />
</Profiler>
);
} else {
return <TodoList />;
}发布于 2021-07-09 11:11:09
首先也是最重要的,在您交付任何使用遥测(和性能监视使用遥测)将结果发送到您的服务器之前,请与您的法律团队进行检查。
除此之外,我个人没有数据,因为我工作的行业对被采集的遥测数据非常敏感。
尽管如此,解决这个问题的方法很多。其中之一是开放追踪标准,许多商业网站使用这些标准来跟踪来自前端的请求,贯穿每个微服务--包括通过异步通信。它提供了更完整的影响,并且是匿名的。
至于在你的方法之间的选择,两者都能起作用。我理解如果您关心数据量等问题,但是除非这种分析非常昂贵和引人注目,否则您可能只想在相对较短的时间内将其部署到每个人。换句话说,您需要在几个小时内完成更改,然后在收集数据之后将其回滚到正常的基线。它更容易管理,并引入更少的东西在您的代码中,可以打破。
https://softwareengineering.stackexchange.com/questions/430091
复制相似问题