eggjs 间歇性的 5 秒延迟是什么问题

2022-11-01 12:36:03 +08:00
 ppbaozi

nginx 代理:

location /api/ {
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Host $host;
    proxy_pass http://127.0.0.1:7001; # eggjs
}

写了定时任务 1 分钟检测一次接口响应时间,一天会出现若干次 5000ms 左右,每次误差不超过 20ms 的延迟,会是什么原因?

接口功能就是简单查表返回,99%的时间都是 10-20ms 延迟

5362 次点击
所在节点    Node.js
11 条回复
SHF
2022-11-01 13:17:06 +08:00
在项目里加日志,接受到请求时间,完成请求时间。然后每个请求加上 id, 找到 5000ms 的请求 id, 去日志里搜索
Vegetable
2022-11-01 13:19:07 +08:00
像是什么东西超时重试之后成功。
比如数据库连接 5000ms 超时,重试立刻成功。
ppbaozi
2022-11-01 13:50:54 +08:00
我写了个无任何业务的接口,先排除一下数据库因素
star7th
2022-11-01 14:54:49 +08:00
eggjs 多年使用用户表示没留意过这种情况。应该在我的产品没有发生。更倾向认为是你的服务器网络问题。
zbinlin
2022-11-01 15:59:30 +08:00
你这个接口里有没有发起网络请求?
ppbaozi
2022-11-01 18:03:13 +08:00
@zbinlin
public async test() {
const { ctx } = this
ctx.body = 'test'
}
ppbaozi
2022-11-01 18:04:59 +08:00
@star7th 没有网络问题,部署在局域网
ppbaozi
2022-11-01 18:11:28 +08:00
@star7th
有没有用 nginx 前置代理?
有没有监控过?因为概率很低,如果没有监控是不容易发现的,大概千分之 7
ochatokori
2022-11-01 18:33:34 +08:00
写都写了,再测一下不走 nginx 看还有没有问题呗
star7th
2022-11-01 19:48:36 +08:00
@ppbaozi 我几乎每个项目都安装 ngixn 前置代理。没发现问题
lscho
2022-11-01 20:05:22 +08:00
没有怀疑过监控服务的问题吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/891730

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX