2016-02-20 17 views
7

Trong một vài ngày, chúng ta thường thấy thời gian kết nối ban đầu rất dài (15s - 1,3 phút) đối với ELB của chúng tôi khi thực hiện bất kỳ yêu cầu nào thông qua ssl. Thật kỳ lạ, tôi chỉ có thể quan sát điều này trong Google Chrome (không phải Safari và Firefox cũng không curl).Cân bằng tải đàn hồi AWS: Nhìn thấy thời gian kết nối ban đầu cực dài

Nó không xảy ra mỗi yêu cầu, nhưng khoảng 50% yêu cầu. Nó xảy ra với yêu cầu đầu tiên (OPTIONS-call).

Thiết lập của chúng tôi là như sau: ELB qua khu vực kết nối với một phụ trợ node.js (hiện có trong 2 AZ ở eu-west-1). Tất cả các trường hợp đều lành mạnh và một khi yêu cầu đến, nó được xử lý bình thường. Hiện tại, về cơ bản không có tải trên hệ thống. Cloudwatch cho ELB không báo cáo bất kỳ lỗi kết nối phụ trợ nào, không phải là SurgeQueue (giá trị 0) cũng không phải là số lượng tràn. Các chỉ số ELB cho thấy độ trễ thấp (< 100 mili giây). Chúng tôi có Route53 được định cấu hình để định tuyến đến ELB (chúng tôi không thấy bất kỳ sự cố nào xảy ra với dns, xem ảnh chụp màn hình đính kèm).

Chúng tôi có các REST-API khác nhau mà tất cả đều có thiết lập này. Nó xảy ra với tất cả các ELB (mỗi người trong số họ đang kết nối với một phụ trợ node.js độc lập). Tất cả các ELB này được thiết lập theo cùng một cách thông qua mẫu thông tin về đám mây của chúng tôi.

Các ELB cũng thực hiện việc chấm dứt SSL của chúng tôi.

Điều gì có thể dẫn đến hành vi như vậy? Có khả năng là các ELB không được cấu hình đúng cách? Và tại sao nó chỉ xuất hiện trên Google Chrome?

request timing

+0

thể [trùng lặp] (http://stackoverflow.com/questions/29125264/chrome-slow-initial-connection-to-ec2). – gboda

+0

Bạn nên cài đặt wireshark trên máy bằng trình duyệt và cố gắng xác định tại thời điểm bắt tay tcp độ trễ xuất hiện. Điều này có vẻ rất khác thường. –

+0

@gboda tìm tốt, đáng tiếc là nó cũng không có câu trả lời. Có lẽ chúng ta có một cái khác ở đây đâu đó. –

Trả lời

1

Điều này có thể là vấn đề với elb amazon. Elb quy mô số lượng các cá thể với số lượng yêu cầu. Bạn sẽ thấy một số yêu cầu vào những thời điểm đó. Amazon thêm một số phiên bản để phù hợp với tải. các trường hợp có thể truy cập được trong quá trình khởi chạy để khách hàng của bạn có được thời gian chờ đó. nó hoàn toàn ngẫu nhiên, do đó bạn nên:

  • ping các elb để có được tất cả các ip sử dụng

  • sử dụng mtr trên tất cả các ip thấy

  • Giữ một mắt trên CloudWatch

  • Tìm một số manh mối

3

Chỉ cần theo dõi câu trả lời tuyệt vời của @Nikita Ogurtsov; Tôi đã có cùng một vấn đề ngoại trừ việc đó là chỉ là một trong các mạng con của tôi đã xảy ra là riêng tư và công khai còn lại.

Thậm chí nếu bạn cho rằng mạng con của mình là công khai, tôi khuyên bạn nên kiểm tra kỹ các bảng định tuyến để đảm bảo rằng chúng tất cả có Cổng.

Bạn có thể sử dụng một Route Table duy nhất có một Gateway cho tất cả các mạng con LB của bạn nếu điều này có ý nghĩa

VPC/Subnets/(select subnet)/Route Table/Edit

0

Giải pháp Nếu bạn DNS được cấu hình để nhấn trực tiếp trên ELB -> bạn nên giảm TTL của hiệp hội (IP, DNS). IP có thể thay đổi bất kỳ lúc nào với ELB để bạn có thể gây thiệt hại nghiêm trọng cho lưu lượng truy cập của mình.

Khách hàng giữ một số IP từ ELB trong bộ nhớ cache để bạn có thể gặp những rắc rối đó.

Mở rộng bộ cân bằng tải đàn hồi Khi bạn tạo bộ cân bằng tải đàn hồi, bạn phải định cấu hình để chấp nhận lưu lượng truy cập đến và yêu cầu tuyến đến phiên bản EC2 của bạn. Các tham số cấu hình này được bộ điều khiển lưu trữ, và bộ điều khiển đảm bảo rằng tất cả các bộ cân bằng tải đang hoạt động với cấu hình chính xác. Bộ điều khiển cũng sẽ theo dõi các cân bằng tải và quản lý dung lượng được sử dụng để xử lý các yêu cầu của máy khách. Nó làm tăng công suất bằng cách sử dụng một trong hai nguồn lực lớn hơn (tài nguyên có đặc tính hiệu suất cao hơn) hoặc nhiều tài nguyên cá nhân hơn. Dịch vụ cân bằng tải đàn hồi sẽ cập nhật bản ghi hệ thống tên miền (DNS) của bộ cân bằng tải khi nó cân để các tài nguyên mới có địa chỉ IP tương ứng của chúng được đăng ký trong DNS. Bản ghi DNS được tạo bao gồm cài đặt Thời gian hoạt động (TTL) trong 60 giây, với kỳ vọng rằng khách hàng sẽ tra cứu lại DNS ít nhất 60 giây một lần. Theo mặc định, Cân bằng tải đàn hồi sẽ trả về nhiều địa chỉ IP khi khách hàng thực hiện độ phân giải DNS, với các bản ghi được sắp xếp ngẫu nhiên trên mỗi yêu cầu phân giải DNS. Khi hồ sơ lưu lượng thay đổi, dịch vụ bộ điều khiển sẽ mở rộng cân bằng tải để xử lý nhiều yêu cầu hơn, mở rộng quy mô như nhau trong tất cả các Vùng khả dụng.

Best Practices ELB on AWS

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