Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拉链与亚马逊lambda。为什么慢?_Javascript_Node.js_Performance_Amazon S3_Aws Lambda - Fatal编程技术网

Javascript 拉链与亚马逊lambda。为什么慢?

Javascript 拉链与亚马逊lambda。为什么慢?,javascript,node.js,performance,amazon-s3,aws-lambda,Javascript,Node.js,Performance,Amazon S3,Aws Lambda,我想使用AmazonLambda和s3存储桶实现高性能的文件压缩。我想压缩的文件放在一个桶里。我正在测试的lambda应该获取文件路径,并从它们在同一个bucket上创建一个zip 我正在使用这个库,并且正在测试它,就像在这个示例中一样: 我只是运行了一个测试,将两个文件的路径作为输入。其中一个有2MB,第二个有58KB,它们是docx和doc类型。 测试事件如下所示: { "region": "eu-west-1", "bucket": "bucket_name",

我想使用AmazonLambda和s3存储桶实现高性能的文件压缩。我想压缩的文件放在一个桶里。我正在测试的lambda应该获取文件路径,并从它们在同一个bucket上创建一个
zip

我正在使用这个库,并且正在测试它,就像在这个示例中一样:

我只是运行了一个测试,将两个文件的路径作为输入。其中一个有2MB,第二个有58KB,它们是
docx
doc
类型。 测试事件如下所示:

{
     "region": "eu-west-1",
     "bucket": "bucket_name",
     "folder": "folder_name/",
     "files": [
         "file1.doc",
         "file2.docx"
     ],
   "zipFileName": "test.zip"
 }
我拿到了这份测试报告

START RequestId: xxx Version: $LATEST
2016-07-26T20:40:02.084Z    xxx    event { 
  region: 'eu-west-1',
  bucket: 'bucket_name',
  folder: 'folder_name/',
  files: [ 'file1.doc', 'file2.docx' ],
  zipFileName: 'test.zip' }
2016-07-26T20:40:02.765Z    xxx    append to zip file1.doc
2016-07-26T20:40:04.364Z    xxx    append to zip file2.docx
2016-07-26T20:40:04.364Z    xxx    end -> finalize
2016-07-26T20:40:07.066Z    xxx    { loaded: 3011247,
  total: 3011247,
  part: 1,
  key: 'folder_name/test.zip' }
2016-07-26T20:40:08.232Z    xxx    { ETag: '"xyz"',
  Location: 'https://bucket_name.s3.amazonaws.com/folder_name/test.zip',
  key: 'folder_name/test.zip',
  Key: 'folder_name/test.zip',
  Bucket: 'bucket_name' }
END RequestId: xxx
REPORT RequestId: xxx    Duration: 6149.09 ms    Billed Duration: 6200 ms     Memory Size: 128 MB    Max Memory Used: 75 MB
这意味着amazon lambda需要超过6秒才能完成任务。看起来很慢。我能快点吗?我已经尝试过给lambda更多的内存,但没有任何结果


重要的是,我将lambda作为zip文件上传,因为我需要我正在使用的库的节点模块依赖项。

我想我在这里找到了答案:我只对一个小文件重复了测试,并在4秒钟内得到了结果。我认为这证实了问题在于启动lambda函数。请确保尝试更大的内存大小。增加内存大小可以显著提高速度,因为垃圾收集不需要经常(或根本不需要)运行。对于Java来说尤其如此。当然,随着内存的增加,CPU时间也相应增加,所以这是一个双赢的结果。正如您所看到的,确保多次运行任何测试,以比较冷启动和热启动。