当前位置: 首页 > 知识库问答 >
问题:

javascript - 性能优化是否需要将非关键接口放在关键接口后调用?

方长卿
2024-03-27

页面初始化接口是A页面的内容都依赖这个接口,还有一些非关键接口B、C、D、E
从性能优化的角度看是在页面初始化的时候同时调用A B C D E,还是初始化的时候只调用AA有响应后再调用B C D E,为什么?

共有2个答案

夏昌胤
2024-03-27

那如果A接口出错了,这些非关键接口的返回内容有没有必要展示,没必要那就可以将A接口的响应作为前置依赖,减少不必要的接口请求,如果A接口出错仍然希望其他接口的响应内容也展示那就并发请求,你应该从用户体验角度考虑这个问题,这跟性能没啥关系

竺焕
2024-03-27

性能优化时,是否将非关键接口放在关键接口后调用,取决于多个因素,包括接口之间的依赖关系、响应时间、以及它们对用户体验的影响。

  1. 接口依赖关系:如果非关键接口B、C、D、E依赖于关键接口A的结果,那么它们自然需要在A有响应后才能调用。这种情况下,将它们放在A之后调用是必要的。
  2. 响应时间:如果非关键接口的响应时间很短,而关键接口A的响应时间很长,那么从性能优化的角度看,同时调用所有接口(包括AB、C、D、E)可能更为合理。这可以减少总的等待时间,因为非关键接口可能在这段时间内已经完成。
  3. 用户体验:如果非关键接口B、C、D、E提供的功能对于页面初始化不是必需的,但可以增强用户体验,那么可以考虑在关键接口A有响应后再调用它们。这样,用户可以先看到页面的主要内容,然后再加载增强功能,这通常被认为是一种更好的用户体验。
  4. 资源消耗:如果同时调用所有接口会导致服务器或客户端资源过度消耗,那么考虑将它们分开调用可能更为明智。这样可以减少资源争用,提高系统的整体性能。

综上所述,从性能优化的角度看,并没有一个固定的答案来确定是否应该将非关键接口放在关键接口后调用。这需要根据具体的应用场景、接口之间的依赖关系、响应时间、用户体验和资源消耗等多个因素来综合考虑。在某些情况下,同时调用所有接口可能是合理的;而在其他情况下,将非关键接口放在关键接口后调用可能更为合适。

 类似资料:
  • profiler 是 Elasticsearch 5.0 的一个新接口。通过这个功能,可以看到一个搜索聚合请求,是如何拆分成底层的 Lucene 请求,并且显示每部分的耗时情况。 启用 profiler 的方式很简单,直接在请求里加一行即可: curl -XPOST 'http://localhost:9200/_search' -d '{ "profile": true, "qu

  • 问题内容: 我正在从Java库中读取一些源代码,但在这里我很困惑。 这段代码来自jaxb库中的Document.java,而 ContentVisitor是 同一包中的 一个Interface ,我们如何使用new关键字创建Interface的实例?那不合法吗? 问题答案: 在代码中,您没有创建接口的实例。而是,代码定义了实现该接口的匿名类,并实例化该类。 该代码大致等效于:

  • 问题内容: 接口是100%抽象的类,因此我们可以使用接口进行高效编程。在任何情况下,抽象类都比接口更好吗? 问题答案: 当您确实想创建一个具体的类,但要确保所有子类中都存在某种 公共状态 ,或者某些操作可能具有某种 公共实现 时,可以使用抽象类。 接口不能包含任何一个。

  • 问题内容: 我正在使用以下伪代码处理类型断言,但出现错误: 无法键入打开非接口值 有人知道这是什么意思吗? http://play.golang.org/p/Ti4FG0m1mc 问题答案: 类型开关需要自省的接口。如果将已知类型的值传递给它,则它会炸毁。如果您创建一个接受接口作为参数的函数,它将起作用: 请参阅http://play.golang.org/p/QNyf0eG71_上的完整代码,以

  • 本文向大家介绍javascript在当前窗口关闭前检测窗口是否关闭,包括了javascript在当前窗口关闭前检测窗口是否关闭的使用技巧和注意事项,需要的朋友参考一下 在当前窗口关闭前,检测当前窗口是否关闭 在ie9中,如果刷新文档的话,unloadform和onbeforeunload都会执行,如果是关闭页面的话只会执行onbeforeunload事件 值得注意的是,onunload在关闭页面时

  • 主要内容:一、前情回顾,二、日益膨胀的离线计算结果,三、分库分表 + 读写分离,四、每秒10万查询的高并发挑战,五、 数据的冷热分离架构,六、自研Elasticsearch+HBase+纯内存的查询引擎,七、实时数据存储引入缓存集群,八、阶段性总结,九、下一阶段的展望一、前情回顾 上篇文章:《为什么每个程序员都必须坚持写博客?这篇文章教你怎么写!》聊了一下系统架构中,百亿流量级别高并发写入场景下,如何承载这种高并发写入,同时如何在高并发写入的背景下还能保证系统的超高性能计算。 这篇文章咱们继续来