非常慢的http请求

Posted

技术标签:

【中文标题】非常慢的http请求【英文标题】:Very slow http requests 【发布时间】:2020-01-17 15:22:40 【问题描述】:

我们已经开始使用 nuxt 开发产品。一切都很完美,除了 http 请求的时间。

在邮递员中,一个请求大约需要 100 毫秒。但在产品中它是 3000 毫秒,页面加载时间几乎是 30 秒。有什么问题?有没有人遇到过这种问题。

【问题讨论】:

你确定它是客户端吗?查看开发工具的网络选项卡上的瀑布,在它和客户端绘制/渲染部分的性能基准之间应该有助于界定罪魁祸首,但在深入了解客户端之前,请检查响应中的 TTFB 并确保它是甚至是您最关心的问题。 我们正在请求我们的 api 和 wp-json api。每个 wp-json api 几乎需要 3 秒(当路由更改时,我在 netwoek 选项卡中看到。)但在实际或邮递员中,这些请求不需要 3 秒。我很确定有问题。因为;我们只有与 VUE 相同的产品,并且在页面加载时有 16 个 post/get 请求。没问题。页面加载时间为 2-3 秒。 这是其中之一,如果无法重新创建它就很难诊断,抱歉。 【参考方案1】:

检查网络 -> 限制:

可能是您选择了慢速连接仿真。

【讨论】:

我希望 :) 但不是选择【参考方案2】:

(很抱歉写了一个答案,但我还没有足够的声誉来发表评论。)

您是在“通用”模式还是水疗中心? 如果您在“通用”中,那么第一个调用将运行服务器端渲染并构建 html。确保在调用数据时使用 asyncData,以避免出现问题。

一种(粗略的)测试方法是在浏览器中手动转到产品页面,然后通过

<nuxt-link />

这将首先生成 s-s-r html 页面,然后使用 javascript 对页面进行水合。所以第一个调用生成了,但是接下来的调用已经是应用运行了。

如果导航到第二页时出现延迟,则可能是请求存在问题。如果速度很快,则可能与 s-s-r 或某个组件有关。

【讨论】:

我们在通用模式下运行。你说的两种方式都被延迟了。这很有趣。我正在寻找。【参考方案3】:

你在组件中使用过 asyncData 吗?你用过 nuxtServerInit 吗?请提供更多信息...

尝试仅使用nuxtServerInit 对主页使用api 调用。更多数据应通过asyncData 提供

【讨论】:

以上是关于非常慢的http请求的主要内容,如果未能解决你的问题,请参考以下文章

app慢的可能情况需要优化

盘点常用语言http请求客户端的惊艳框架

Http请求连接池 - HttpClient 的 PoolingHttpClientConnectionManager

页面优化——减少HTTP请求数

postman模拟http请求

jmeter http请求+线程组+事务+断言