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.
- Ghi client, endpoint và giao thức thực tế quan sát được.
- Ghi vị trí đo và định nghĩa của chỉ số.
- Đối chiếu giới hạn do dịch vụ proxy và API đích công bố.
- 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.
- 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.