2011-08-01 36 views
14

Gần đây tôi đã tạo ứng dụng Heroku đầu tiên của mình và tôi đang tìm một số hành vi lạ:Tại sao ứng dụng được lưu trữ trên Heroku mất quá nhiều thời gian để khởi động?

Khi ứng dụng không được truy cập trong một thời gian, tôi nghĩ máy chủ tắt. Sau đó, nếu bạn truy cập vào nó, nó mất khoảng 20 giây để khởi động trước khi nó phản hồi. Sau giai đoạn khởi động ban đầu này, nó phản hồi nhanh chóng.

Có cách nào để tránh giai đoạn "khởi động/tắt" này không?

Trả lời

16

Có, thanh toán cho một dyno toàn thời gian. Các tài liệu Heroku nói rằng khi bạn đang ở trên tầng miễn phí nếu dyno của bạn không được sử dụng trong một thời gian (30 phút trong kinh nghiệm của tôi) nó tắt. Nó khởi động lại vào lần tiếp theo nó nhận được yêu cầu.

Xem: "Dyno Idling" http://devcenter.heroku.com/articles/dynos#frequently-asked-questions

Heroku đề cập đến mình như

+1

Loại Dyno tôi sẽ trả cho một toàn thời gian? là nó Web Dyno? Hay công nhân Dyno? – simo

+3

Bạn cần một web dyno. – Andrew

14

Ngoài câu trả lời của Andrew và/hoặc nếu bạn không có khả năng thêm dyno, bạn có thể triển khai tiện ích RPM Relic mới và sử dụng tính năng "tính khả dụng" của họ.

Về cơ bản, nó sẽ ping ứng dụng của bạn hai lần mỗi phút, do đó ngăn không cho dyno chạy không tải. Ngoài ra, bạn có được các tính năng đo lường hiệu suất.

+0

Tôi thích cách bạn nghĩ, Pierre! Tôi đã đi với Pingdom, nhưng khái niệm tương tự của nó. :) – Geoff

Các vấn đề liên quan