Chuyển đến nội dung
Tất cả bài viết
Blog & hướng dẫn/Xử lý lỗi & Bảo mật
Xử lý lỗi & Bảo mật

HTTP/2 qua Proxy: Phân biệt stream, kết nối và tác vụ đồng thời

Tách ba chỉ số stream, kết nối và tác vụ để đọc giới hạn đồng thời đúng từng chặng, không suy luận từ số request.

HTTP/2 qua Proxy: Phân biệt stream, kết nối và tác vụ đồng thời
NỘI DUNG BÀI VIẾTHướng dẫn chi tiết từ ProxySmart

Khi trao đổi về tải ứng dụng, từ “kết nối” thường được dùng cho nhiều thứ khác nhau. Nếu client dùng HTTP/2, số request đang xử lý có thể không bằng số kết nối TCP hoặc số tác vụ trong hàng đợi.

Ba chỉ số khác nhau

HTTP/2 hỗ trợ nhiều stream trong một kết nối; xem RFC 9113. Một tác vụ ứng dụng có thể tạo một hoặc nhiều request, nên cần ghi rõ đơn vị khi báo cáo.

  • Tác vụ: công việc ở lớp ứng dụng.
  • Stream: luồng trao đổi HTTP/2 tại chặng đang đo.
  • Kết nối: kết nối mạng tại chặng cụ thể.

Đọc tuyến theo từng chặng

Client–proxy và proxy–dịch vụ có thể dùng cơ chế khác nhau. Với tunnel HTTPS, mô hình còn phụ thuộc proxy đang chuyển tiếp tunnel hay xử lý HTTP. Không suy luận toàn tuyến HTTP/2 chỉ vì trình duyệt hiển thị h2 cho website.

  1. Ghi client, endpoint và giao thức thực tế quan sát được.
  2. Ghi vị trí đo và định nghĩa của chỉ số.
  3. Đối chiếu giới hạn do dịch vụ proxy và API đích công bố.
  4. Bắt đầu với ít tác vụ an toàn, tăng có kiểm soát trong môi trường được phép.
  5. Theo dõi thời gian chờ, lỗi và hàng đợi, không chỉ số request gửi đi.

Ví dụ minh họa

Ứng dụng có nhiều tác vụ chờ nhưng chỉ một số đang gửi request. Dashboard khác đếm các stream đang hoạt động. Hai con số không mâu thuẫn nếu chúng đo khác lớp. Đội vận hành cần thống nhất định nghĩa trước khi yêu cầu tăng giới hạn gói.

Giới hạn HTTP/2 không thay thế hạn mức gói

Khả năng multiplex không bảo đảm dịch vụ chấp nhận tải tùy ý. Hạn mức kết nối, xác thực, tài nguyên và rate limit vẫn cần được tuân thủ. Không dùng nhiều stream để né hạn chế của dịch vụ.

Mẫu báo cáo kỹ thuật

Ghi “tác vụ đang chạy”, “stream tại chặng đã đo”, “kết nối tại client”, khoảng thời gian quan sát và công cụ. Nếu không đo được một chặng, đánh dấu chưa biết thay vì suy ra từ chặng khác. Kết quả cần kèm tỷ lệ thành công và tiêu chí nội dung đúng.

Đọc thêm cách tính kết nối đồng thời. Bài này bổ sung góc nhìn giao thức, không công bố một định mức chung cho mọi gói hoặc client.