У меня есть лямбда, написанная в NodeJS. Я заметил, что это занимает несколько секунд. Я добавил журналы и обнаружил, что bcrypt довольно медленный.
Пакеты:
"dependencies": {
"bcryptjs": "^2.4.3",
Исходный код:
const bcrypt = require('bcryptjs');
console.log("User was found"); // following part takes more than 1 second!
if (bcrypt.compareSync(password, user.password)) {
console.log("Password verified"); //
Это журнал из AWS LogWatch:
2020-01-13T20:25:30.951 User was found
2020-01-13T20:25:32.670 Password verified
и
2020-01-13T20:31:20.192 User was found
2020-01-13T20:31:21.550 Password verified
Так что это занимает 1,7 секунды. Я запустил тот же код в docker на моей машине
2020-01-13T20:09:48.109 User was found
2020-01-13T20:09:48.211 Password verified
Локально это занимает всего 120 мс. AWS использует NodeJS 10.x, локальное docker изображение, вероятно, 8.x. Я не знаю, как сказать docker, чтобы отразить изменения в packaged.yaml
.
Это регрессия NodeJS? Или какая-то проблема в AWS конфигурации?