首页 > 解决方案 > 服务内记录的下游响应时间与实际下游端点响应时间之间的差异

问题描述

我们有一个基于 nodejs 的应用程序,它有一个依赖的下游服务调用。从实际下游端点记录的总响应时间约为 300 毫秒,而在我们的服务中,为同一下游调用记录的总时间约为 600 毫秒,几乎是两倍的差异。我们使用fetch进行网络调用,网络时间通常为30~40ms,我们的服务和下游服务之间没有其他跃点。所有数字均来自 10TPS 性能测试的结果。

此外,我们尝试在网络调用中使用自定义代理来利用连接池。最初我们只使用 fetch 和默认代理。然后我们添加了具有以下设置的自定义代理:

https.Agent({
    keepAlive: true,
    maxSockets: 30,
    keepAliveMsecs: 5000
    maxTotalSockets: 256,
});

并认为它会改善连接时间,但令人惊讶的是,与之前的默认代理调用相比,性能没有任何变化。

关于为什么时间之间存在差异的任何想法?为什么自定义代理选项对性能没有影响?谢谢!

标签: node.jsperformancenext.js

解决方案


推荐阅读