Почтовый индекс с амазонской лямбдой. Почему это медленно?

Я хочу получить эффективное архивирование файлов с помощью amazon lambda с ведрами s3. Файлы, которые я хочу заархивировать, находятся в ведре. Тестируемая лямбда должна получать пути к файлам и создавать из них zip в том же сегменте.

Я использую эту библиотеку https://github.com/orangewise/s3-zip и Я тестирую его именно так, как на этом примере: https://github.com/orangewise/s3-zip/blob/master/aws_lambda.md

Я просто запускаю тест, который дает пути к двум файлам в качестве входных данных. Один из них имеет размер 2 Мб, а второй 58 Кб и относятся к типу 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 секунд. Кажется, это медленно. Могу ли я сделать это быстрее? Я уже пытался дать лямбде больше памяти, но безрезультатно.

Что может быть важно, я загрузил лямбду в виде zip-архива, потому что мне нужны зависимости node_modules для этой библиотеки, которую я использую.


person tuhaj    schedule 27.07.2016    source источник
comment
Я думаю, что нашел ответ здесь: stackoverflow.com/questions/36983138/   -  person tuhaj    schedule 27.07.2016
comment
Я повторил тест только для одного небольшого файла и получил результат за 4 секунды. Это подтверждает, что проблема связана с запуском лямбда-функции.   -  person tuhaj    schedule 27.07.2016
comment
Не забудьте также попробовать гораздо большие объемы памяти. Увеличение объема памяти значительно увеличивает скорость, поскольку сборщику мусора не нужно запускаться так часто (или вообще). Особенно это касается Java. Конечно, вы также получаете пропорционально больше процессорного времени с большей памятью, так что это двойная победа. Как вы видели, не забудьте запустить любой тест несколько раз, чтобы сравнить холодный запуск с теплым.   -  person Jeff Learman    schedule 28.07.2016