2015-04-08 13 views
8

Tôi nhận được lỗi liên tục nhưng thường xuyên 503 ("Dịch vụ không khả dụng: Máy chủ back-end có dung lượng") từ một trang web gồm 2 trường hợp t2.medium phía sau ELB. Không có tải trọng đặc biệt nặng và tất cả các giám sát có vẻ bình thường.Làm thế nào để giải quyết AWS ELB/EC2 HTTP 503 với cài đặt thời gian chờ?

Các tài liệu AWS ở đây: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-error-message.html nói rằng một nguyên nhân tiềm năng là thiết lập thời gian chờ không hạnh phúc giữa ELB và EC2s: "thiết lập thời gian chờ giữ-sống để lớn hơn hoặc bằng các thiết lập thời gian chờ nhàn rỗi của cân bằng tải của bạn"

Apache conf trên EC2s có:

  • KeepAlive On
  • MaxKeepAliveRequests 100
  • KeepAliveTimeout 5

Thời gian chờ nhàn rỗi trên bộ cân bằng tải là 60 giây.

Điều này dường như, sau đó, là nguyên nhân, nhưng tôi không chắc chắn về bản sửa lỗi. Việc tăng Apache KeepAliveTimeout không phải là - tôi hiểu - thường được khuyến nghị và tôi không chắc chắn về hiệu ứng làm giảm thời gian chờ nhàn rỗi trên ELB sẽ có hiệu suất trên trang web.

Cách tiếp cận được đề xuất là gì? Làm thế nào tôi có thể có được một ý tưởng về những gì các thiết lập lý tưởng cho thiết lập của tôi và loại mức lưu lượng truy cập (hiện nay khoảng 30-50 yêu cầu/phút) nó đề với?

+3

Tăng thời gian chờ của apache sẽ ổn, sau ELB, vì ELB giữ các kết nối, thay vì trình duyệt giữ chúng trực tiếp. Thử nó? –

Trả lời

3

Tôi sẽ giảm thời gian chờ nhàn rỗi trong ELB. Khách hàng sẽ cần phải mở kết nối mới thường xuyên hơn, nhưng nó chỉ hơi chậm hơn so với tái sử dụng một kết nối keepalive.

Tăng mức giữ cho 60 ở Apache cũng sẽ sửa 503, nhưng bạn cần cẩn thận không hết kết nối hoặc bộ nhớ, đặc biệt là với prefork mpm vì bạn sẽ nhận được nhiều khe được sử dụng hơn. Sử dụng nhân viên mpm (hoặc event mpm nếu bạn không sợ cảnh báo "MPM này là thử nghiệm"), hãy chắc chắn rằng bạn có đủ MaxClients để xử lý tất cả các yêu cầu nhưng đủ thấp để không hết memo.

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