0

我们的 web 应用程序的基础设施看起来像这样

Nodejs Web 应用程序 -> GraphQL + Nodejs 作为中间件(FE 的 BE) -> ROR 中的大量 BE 服务 -> DB/ES 等

我们已经见证了 GrpahQL+Nodejs 的整个中间件层在多个关键 BE 服务中的任何一个变得潜在并且请求队列开始发生时变得潜在。当我们尝试将其与潜伏期间的请求数量进行比较时,它是 <1k 请求,这远低于 nodejs 声称的 10k 并发请求处理。寻找进一步调试此问题的指针。到目前为止,我们已经完成了分析:

  • 根据 Datadog 和其他用于监控系统健康状况的 APM,当服务器处于潜伏状态时,CPU 和内存使用率没有表现出异常行为
  • 我们从最顶层到最后一层使用了各种请求跟踪方法,并且确认请求队列仅发生在这个中间件层上。
4

0 回答 0