gpt4 book ai didi

javascript - 与 postman rest 客户端相比,nodejs/curl http 请求速度较慢

转载 作者:可可西里 更新时间:2023-11-01 17:08:48 29 4
gpt4 key购买 nike

我从 node.js 和 Postman-Rest 客户端(chrome 应用程序)调用 Rest API。始终使用同一台计算机、相同的端点和相同的参数。

在 node.js 中,我得到 ~400ms 的 http 和 ~700ms 的 https。在 Postman 中,http 和 https 大约需要 250 毫秒。

我在 node.js 中使用的库:http、https、request、kinvey(api 的 Node 客户端)。他们都或多或少得到了相同的结果。

为什么我的 Node 比较慢?

Node .js 0.10.36

编辑:这与 Node 无关,我用 curl 得到了相同的结果。当使用 XMLHttpRequest 在浏览器中运行时,我得到了更好的时间。通过分析日志,我发现 TCP 连接和 SSL 握手大约需要 500 毫秒。可能是 TCP 连接和 SSL 握手在浏览器中的工作方式不同。

最佳答案

在这里您可以找到一些帮助。我还面临 Linux 实例上的 nodejs 应用程序服务器问题。但不要责怪 nodejs,因为真正的问题是在 linux 系统中。

问题:来自机器的任何出站请求都需要找到域,因此它总是查找 DNS 条目并且总是使用安全/不安全协议(protocol)进行握手。这实际上是需要时间的场景。您可以通过 CURL 请求进行验证。

curl --trace-time -v https://outboundserver.com

解决方案:我们必须在我们自己的 DNS 条目中将出站服务器的 IP 列入白名单。看看下面...

在 Windows 中:自动在自己的 dns 条目中映射服务器。

IN Linux : 我们必须手动添加 IP 地址对应的主机。在/etc/hosts 文件中手动添加任何配置(如 localhost)下的条目。

127.0.0.1 本地主机
outbound.servers.ip.address www.outboundserver.com

最后再次检查 curl 请求,它应该会提供更快的响应。

curl --trace-time -v https://outboundserver.com

关于javascript - 与 postman rest 客户端相比,nodejs/curl http 请求速度较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29336688/

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