Я использую nodejs для использования AWS Lambda.
Как я знаю, каждая функция лямбды обрабатывается в независимом и параллельном процессе.
Однако следующий пример показывает другой результат, чем я ожидал.
// test.js
const now = new Date();
module.exports = () => {
console.log(now);
};
// handler.js
const test = require('./test');
module.exports.hello = async (event, context) => {
test();
return {
statusCode: 200,
body: null
};
};
РЕЗУЛЬТАТ: журнал обработчика приветствия
Как я и предполагал, каждая функция выполнялась независимо, поэтому значение console.log(now)
всегда должно быть точкой накоторый был выполнен.
Однако в реальном журнале значение now
непрерывно записывается в момент самого первого выполнения, а не выполнения каждой функции.
Журналзначение через 5 минут было одинаковым.Однако значение изменилось через 12 часов, но после этого оно показывает ту же проблему.
Этот результат дает нам серьезное представление о том, как управлять подключением к БД.
Существует два предположения для* каждый случай переработки лямбдыинициализация
Если нет,
- лучше использовать простые соединения и регулярные запросы для быстрого потребления соединений
Как мы можем использовать лямбда в максимумепроизводительность?
Как мы можем интерпретировать результаты теста выше?