Node.js /需要相同的NPM用于不同目的

时间:2016-02-01 15:09:45

标签: linux node.js

我在main.js

中有以下要求
var s3 = require('s3');
var s3Big = new require('s3');

以及以下变量:

var client = s3.createClient({
                    maxAsyncS3: 20,
                    s3RetryCount: 10,
                    s3RetryDelay: 10000,
                    multipartUploadThreshold: 209715200,
                    multipartUploadSize: 209715200,
                    s3Options: {
                      accessKeyId: accessKeyIdParam,
                      secretAccessKey: secretAccessIdParam,
                    },
             });

var clientBig = s3Big.createClient({
                    maxAsyncS3: 25,
                    s3RetryCount: 10,
                    s3RetryDelay: 10000,
                    multipartUploadThreshold: 209715200,
                    multipartUploadSize: 209715200,
                    s3Options: {
                      accessKeyId: accessKeyIdParam,
                      secretAccessKey: secretAccessIdParam,
                    },
                  });

当我上传大于10GB的文件时,我使用clientBig

if (file.stats.size > 10000000000) {
  clientBig.uploadFile(params);
} else {
  client.uploadFile(params);
}

问题是,如果我有2个15GB的文件和1000个4KB的文件,我注意到上传小文件会有很大的延迟。尽管事实上s3的两个差异实体负责这次上传。

我还检查它是否与此特定计算机上的连接数有关。我发现当我从不同的.js脚本上传小文件时,没有延迟。所以它与机器的限制无关。

如何避免它,以便上传小文件,而不受大文件上传过程的影响?

0 个答案:

没有答案