AWS RDS Postgresql API с лямбдами очень медленный сразу после создания - PullRequest
0 голосов
/ 06 ноября 2019

Я создал простой CRUD API, следуя некоторым учебникам в Интернете. Я использовал без сервера для создания конечных точек API с функциями lambdas и Postgresql на RDS.

Лямбды и база данных находятся на eu-west-3. Затем у меня есть приложение реакции и нативное приложение, которое просто использует fetch для отправки или получения данных в базу данных и из нее, вызывая лямбды. Хотя это кажется чрезвычайно простым, у меня есть огромные проблемы с производительностью. Простое сохранение объекта JSON из нескольких пар ключ / значение занимает несколько секунд, а получение данных из таблицы (с 10 строками) также занимает более 5 секунд.

Я использую свободный уровеньтак что я знаю, что сервер не самый мощный (db.t2.micro), но сейчас я просто задаю самые простые запросы, и я единственный, кто его использует. Есть идеи, где может быть узкое место? Я забыл что-то базовое (я новичок в Postgresql, поэтому у меня нет четкого представления об индексах) для настройки, чтобы избежать этой скорости?

Я пытался увеличить память лямбд до 1024 мб, но ничего не изменил, так что я думаю, что они не являются узким местом. Я живу в центральной Европе, поэтому Париж (ЕС-Запад-3) не рядом, но и не очень далеко.

У меня есть два стола, оба медленные. Один из них 25 столбцов, а другой 5 столбцов. Данные просты с первичным ключом с именем ID, который является текстовым полем. Другие поля - текстовые, целые или логические.

Очень застряли здесь, поэтому надеемся на вашу помощь.

1 Ответ

0 голосов
/ 07 ноября 2019

Моя лямбда-функция не вызывала обратный вызов напрямую, потому что отсутствовала следующая строка:

  context.callbackWaitsForEmptyEventLoop = false

Поэтому она всегда ожидала тайм-аута для отправки ответа.

См. Документацию:https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html

...