Theo tôi biết đây là cách duy nhất để giữ chức năng nóng ngay bây giờ. Nó chỉ có thể tốn kém khi bạn có rất nhiều chức năng đó.
Bạn sẽ phải tự tính mình trả bao nhiêu để giữ cho các chức năng của bạn luôn cân nhắc xem bạn có bao nhiêu chức năng, bạn mất bao lâu để chạy chúng mỗi lần và bạn cần bao nhiêu bộ nhớ.
Nhưng cứ 20 phút một lần là 2000 lần mỗi tháng, vì vậy nếu bạn sử dụng, ví dụ: 128MB và làm cho chúng hoàn thành dưới 100ms sau đó bạn có thể giữ khá nhiều chức năng như vậy sống ở khoảng 20 phút và vẫn ở dưới cấp miễn phí - nó sẽ là 20 giây mỗi tháng cho mỗi chức năng. Bạn thậm chí không cần phải tắt nó đi sau khi bạn nhận được một tải lớn hơn bởi vì nó sẽ không liên quan tại thời điểm này. Bên cạnh đó bạn không bao giờ có thể chắc chắn để có được một tải thống nhất tất cả các thời gian để bạn có thể giữ cho trái tim của bạn đập mã hoạt động ngay cả sau đó.
Mặc dù tôi đoán là vì nó rất rẻ để giữ một chức năng còn sống (đặc biệt nếu bạn có một đối số đặc biệt khiến chúng trở lại ngay lập tức) và sự khác biệt là rất lớn (10 giây so với 80 ms) nhiều người sẽ làm điều đó - có khá nhiều lý do không nên. Trong trường hợp đó, tôi hy vọng Amazon sẽ chiến đấu với thực hành đó (bằng cách làm cho nó khó khăn hoặc đắt hơn hiện tại - đó sẽ không phải là một động thái thông minh) hoặc để làm cho nó không cần thiết trong tương lai. Nếu sự khác biệt giữa nóng và lạnh bắt đầu là 100ms thì không ai bận tâm. Nếu nó là 10 giây hơn tất cả mọi người cần phải làm việc xung quanh nó.
Sẽ luôn có sự khác biệt giữa việc chạy mã được chạy cách đây một giây và mã được chạy cách đây một tháng, vì tất cả chúng trong RAM và sẵn sàng sử dụng sẽ lãng phí rất nhiều tài nguyên, nhưng tôi thấy không có lý do tại sao sự khác biệt đó không thể được thực hiện ít đáng chú ý hoặc thậm chí có thêm vài bước thay vì chỉ bắt đầu nóng và lạnh.
Cảm ơn mẹo. Có điều gì đặc biệt bên ngoài với mã chức năng có thể trì hoãn sự bắt đầu không? Tôi có 2 nodejs lambdas, mặc dù ngay cả từ các cuộc gọi lạnh, một (158Kb) bắt đầu dưới ~ 1 giây trong khi một dưới VPC-Elasticache (54Kb) mất khoảng 10 giây. Nhưng có lẽ điều đó chỉ liên quan đến thư viện redis mà nó tải, có thể là CPU mạnh, chứ không phải là bản thân thiết lập? – zanona