NodeJS中的AWS S3文件上载时间超过了应有的时间

时间:2016-03-27 03:54:55

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

在为NodeJS使用aws-sdk模块时,我注意到上传的时间比我上传的大小要长。对于100kB的数据,上传需要2秒钟。

下面的函数接受base64编码的png,将其转换为缓冲区并上传到S3。

var getBufferFromPngBase64 = function(pngBase64) {
  var dataBase64, dataBinary;

  dataBase64 = pngBase64.replace(/^data:image\/png;base64,/, '');
  dataBase64 = dataBase64.replace(/ /g, '+');
  dataBinary = new Buffer(dataBase64, 'base64');

  return dataBinary;
};

var uploadAwsSdk = function(pngData) {
  var start = new Date().getTime(),
      pngBuffer = getBufferFromPngBase64(pngData);

  s3Obj.putObject({
    ContentType: 'image/png',
    Body: pngBuffer,
    ContentEncoding: 'base64',
    ContentLength: pngBuffer.length,
    Key: "foo.png"
  }, function(err, data) {
    //done
  });
};

我试过了

  • 上传和putObject函数
  • Knox模块
  • NodeJS的多个版本

我认为这只是标准的慢S3时间,但是当它的1字节文件上传时速度要快得多,所以我不确定发生了什么。这对S3来说是正常的,还是我使用NodeJS来做我不应该做的事情?

0 个答案:

没有答案