Bỏ qua để đến nội dung

Giám sát

Bảng điều khiển Inference Stats cho thấy runtime của bạn đang hoạt động như thế nào theo thời gian thực: độ trễ, thông lượng (throughput), tỷ lệ lỗi, và thời gian được tiêu tốn ở đâu trong pipeline. Nó cập nhật liên tục khi một datasource đang truyền dữ liệu luồng.

Bảng điều khiển Inference Stats hiển thị phân vị độ trễ, thông lượng, tỷ lệ lỗi và execution provider Bảng điều khiển Inference Stats hiển thị phân vị độ trễ, thông lượng, tỷ lệ lỗi và execution provider
Inference Stats — phân vị độ trễ, thông lượng, tỷ lệ lỗi, và execution provider.
  • Phân vị độ trễ — p50 / p95 / p99 của thời gian suy luận đầu-cuối.
  • Thông lượng (throughput) — số dự đoán mỗi giây.
  • Tỷ lệ lỗi — phần các lần suy luận bị thất bại.
  • Execution provider — suy luận đang chạy trên TensorRT, CUDA, hay CPU. Một box GPU bị rớt về CPU sẽ hiển thị ở đây.

Mỗi lần suy luận được phân rã để bạn có thể thấy thời gian đi về đâu:

  • Chờ hàng đợi — thời gian chờ trong hàng đợi yêu cầu
  • Tiền xử lý — chuẩn hóa đầu vào
  • Thực thi mô hình — thời gian suy luận thuần
  • Hậu xử lý — giải mã đầu ra

Nếu độ trễ tăng, phần phân tích này cho bạn biết liệu bản thân mô hình chậm lại hay box bị bão hòa ở phía trên (upstream).

Khung nhìn Real-time Monitor truyền các giá trị suy luận và dự đoán trực tiếp theo thời gian Khung nhìn Real-time Monitor truyền các giá trị suy luận và dự đoán trực tiếp theo thời gian
Real-time Monitor — các giá trị suy luận trực tiếp khi một datasource đưa dữ liệu vào mô hình.

Hai điều khiển định hình khung nhìn thời gian:

  • Window — bạn nhìn ngược lại bao xa (ví dụ 5m, 1h, 24h).
  • Bucket — mỗi điểm trên biểu đồ rộng bao nhiêu (ví dụ 10s, 1m).

Số điểm là window ÷ bucket. Bảng điều khiển tự động khớp (snap) bucket khi bạn thay đổi window để biểu đồ luôn dễ đọc — window rộng hơn dùng bucket rộng hơn.

Nếu biểu đồ báo “no data”, các lý do phổ biến nhất là:

  • Chưa có datasource nào đang truyền dữ liệu luồng — bật và Start một nguồn.
  • Bản cài đặt vẫn đang khởi động — chờ đến window mẫu đầu tiên.

Dừng ngoài ý muốn và phục hồi sau khởi động lại

Phần tiêu đề “Dừng ngoài ý muốn và phục hồi sau khởi động lại”
  • Suy luận đã dừng mà không ai bấm Stop? Hãy kiểm tra Thông báo — một lần dừng bạn không yêu cầu (một datasource khác giành lấy slot đang hoạt động duy nhất, hoặc datasource đang hoạt động bị xóa, gắn thẻ lại, hoặc chỉnh sửa trong khi đang chạy) sẽ dấy lên một cảnh báo mức Warning ở đó thay vì lỗi âm thầm.
  • Sau khi backend khởi động lại, một đầu vào đã được bật trước đó tự khôi phục lại pill Ready và điều khiển Start của nó. (v1.28.2) Một reconciler khởi động chờ cho đến khi engine suy luận báo cáo khỏe mạnh, rồi khôi phục lifecycle về Ready cho datasource đã bật bằng đúng mô hình đã ghép cặp của nó — nếu không, lifecycle trong bộ nhớ sẽ reset về Idle mỗi khi tiến trình khởi động lại trong khi cờ Enabled của datasource vẫn được lưu giữ. Việc khôi phục này không phá hủy: một lỗi kết nối tạm thời lúc khởi động để nguyên Enabled và lifecycle ở Idle, nên bạn chỉ cần bật lại Enable để thử lại — nó không bao giờ âm thầm tắt một datasource đã được cấu hình đúng.
  • Biểu đồ rỗng, rớt về CPU ngoài dự kiến, hoặc tỷ lệ lỗi tăng — xem runbook Khắc phục sự cố.