gpt4 book ai didi

node.js - 随机 POST 或 PUT 请求延迟 2 分钟

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:57 25 4
gpt4 key购买 nike

我向 Node.js HTTPS 服务器发出的 POST 或 PUT 请求中,大约有 10% 需要 2 分钟才能获得响应。其他 90% 的行为符合预期。

我已经用 tshark 验证服务器收到了请求的主体,但是需要 2 分钟才能触发 ServerRequest 对象的“数据”和“结束”事件。

经历这种延迟的请求似乎是随机的,但当它确实发生时,从接收数据包到触发“数据”和“结束”事件之间的延迟时间始终恰好为 2 分钟。

对于所有这些请求,我将发布一个小的 json 对象,该对象在单个数据包中到达。对于遇到延迟的请求,我知道我的应用程序收到了 header ,因为会立即解析 session cookie。 session 身份验证后,直到 2 分钟后最终发出“数据”和“结束”事件,才会发生任何事情,此时正文被解析并保存到我的数据库中。

这更有可能是我的 Node 应用程序问题还是我的服务器问题,这是一个运行 Amazon Linux 的 EC2 小型实例?从包含请求正文的数据包到达到它作为 block 传递到我的应用程序需要 2 分钟,这是怎么回事?

谢谢。

更新:我修改了 lib/http.js 中的 parser.onBody 以记录“b”,我可以看到直到两分钟延迟结束才调用此方法。这似乎表明问题的级别低于我的应用程序。我还更改了 ec2 实例,但这没有帮助。

最佳答案

如果不知道 Node 应用程序对每个请求做了什么,就很难说。例如,如果它必须与另一个后端服务通信,这与仅从 ram 中的缓存中提供图像有很大不同。

话虽如此,EC2 小型实例可能非常喜怒无常。它们与其他客户大量共享,因此有时他们会变得奇怪地 react 迟钝。感受这一点的一种方法是在 EC2 实例的命令行中运行“top”。查找列 %st,这是窃取。如果高,那就不好了,切换到新的 EC2 实例。 (或者买大一点的)

关于node.js - 随机 POST 或 PUT 请求延迟 2 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9027050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com