gpt4 book ai didi

node.js - Node JS 和 Express JS 的 HTTPS 请求速度慢?

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:48 40 4
gpt4 key购买 nike

我对下面发布的代码有疑问。平均/auth 请求正常吗?使用 Google Chrome 检查面板时显示 500 - 800 毫秒(等待 TTFB)?当使用 Request 模块进行 https 请求时,我得到了相同的结果。我平均。输入 https://graph.facebook.com 时需要 60 毫秒直接在浏览器中。

感谢任何帮助!

app.get('/auth', function(req, res){

res.writeHeader(200, {'Content-Type': 'application/json'});

var options = {
host: 'graph.facebook.com',
port: 443,
path: '/',
method: 'GET',
};

https.get(options, function (resp) {
var body = '';
resp.on('data', function (chunk) {
body += chunk;
});

resp.on('end', function () {
console.log('Request ended.');
res.end('Done');
});
});
});

- 时间快照 -

缓存:

  • 停滞:0.458 毫秒
  • 发送请求:0.286 毫秒
  • 等待 (TTFB):782.409 毫秒
  • 内容下载:0.994 毫秒

清除浏览器数据后:

  • 停滞:0.695 毫秒
  • DNS 查找:15.062 毫秒
  • 初始连接:48.599 毫秒
  • SSL:23.922
  • 发送的请求:0.308
  • 等待 (TTFB):645.622 毫秒
  • 内容下载:1.560 毫秒

..我在 Node 前面使用Nginx。

最佳答案

几乎可以肯定,您花费了所有时间来打开 SSL 并与 Facebook 进行协商。每次向服务器发送请求时,当前的设置都必须执行此操作。一般来说,您会想要使用类似 https://www.npmjs.com/package/agentkeepalive 的内容。保留预先协商的 SSL 套接字的连接池。浏览器会执行此操作,这就是为什么从浏览器直接访问 facebook 的速度要快得多。

在路由外部创建代理,然后在路由中将代理作为选项对象的一部分传递。

关于node.js - Node JS 和 Express JS 的 HTTPS 请求速度慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470228/

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