【问题标题】:Reduce 'waiting' time for a GET request to API [closed]减少对 API 的 GET 请求的“等待”时间 [关闭]
【发布时间】:2019-12-25 19:43:43
【问题描述】:

我使用 Angular 作为前端,使用 Django 作为后端。我正在使用要检索的特定图形数据引用 API。我认为我已经以一种有效的方式做到了,并尝试研究最好的方法来做到这一点。但时间仍然显示等待 5000-6000 毫秒。

这是因为在实际发送请求之前有角度到 django 链接吗?我这样做是因为我有一个我想在后端保持安全的授权密钥。

代码很长,在很多文件中,我将尝试解释:
-Django get request 以检索 3 个图形的数​​据,此视图还将数据转换为字典,然后分别返回键和值作为响应。
-这一切都来自 Angular 前端,它在加载页面以查看图表时调用它。

我希望/想要一个快速请求和随后的页面加载,但页面加载,然后图表再加载几秒钟。任何信息将不胜感激。

【问题讨论】:

  • 您应该检查每个步骤的时间,以确定需要时间。使用浏览器开发工具查看实际请求是否需要这么长时间(或者前端是否需要时间处理响应);使用日志记录您的视图;使用您的外壳对数据库执行相同的查询并对其计时。没有这一切,就不可能回答你的问题。
  • 我正在查看开发工具,对于我最后一次尝试,它说所有 5993 毫秒都处于“等待”状态。我也没有向第三方查询我自己的数据库。
  • 那么是HTTP响应需要很长时间才能返回。您应该自己对第 3 方的查询进行计时(从您的 django 服务器,假设您从您的视图中调用他们的 API)
  • 是的,API 调用在视图中,我该如何计时?
  • 作为初学者,我会自己手动调用 curl(或 httpie)来查看在正常情况下响应需要多长时间。或者在您的 python 视图中,只需减去调用它之前和之后的时间戳即可知道响应需要多长时间(您可以记录它)。你并不是说如果你调用它一次或 3 次(每个图一次),在后一种情况下,我会将图拆分为它们自己的角度调用,以便它们可以并行完成。最后,添加一些加载指示器(旋转轮),以便用户知道正在获取图表,很多体验是“管理期望”。

标签: django angular api http


【解决方案1】:

问题是由于我的连接速度和我访问的内容的大小,其他优化请查看其他相关问题。

我能提供的最好的方法是引入微调器以获得更好的体验。我一直在进一步测试,时间已经低到 1s。

所以我认为这不是代码的问题,而是我的连接或 API 连接的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-26
    • 2011-11-08
    • 1970-01-01
    • 2021-10-25
    • 2017-06-30
    • 2015-04-19
    • 1970-01-01
    相关资源
    最近更新 更多