对nodejs和s3的请求中如何降低TTFB?

时间:2019-07-05 08:51:48

标签: node.js amazon-web-services express amazon-s3

我有nodejs应用程序。我过去使用aws-sdk从aws-s3提供图像。

问题是图像请求时间过长(图片中的等待时间-绿色条)

enter image description here 这是我的处理程序函数,用于访问S3并发送响应:

router.get('/image/:fileKey', (req, res) => {
  const Key = req.params.fileKey;

  const options = {
    Bucket: config.bucket,
    Key,
  };

  s3.getObject(options)
    .on('httpHeaders', function(code, headers) {
      if (code < 300) {
        res.set(
          _.pick(headers, 'content-type', 'content-length', 'last-modified')
        );
      }
    })
    .createReadStream()
    .on('error', (err) => {
      console.log({ err });
      res.status(404).end();
    })
    .pipe(res);
});

有没有一种方法可以优化请求以降低等待时间

0 个答案:

没有答案