Skip to main content
Phương thức RPC getRecentPerformanceSamples cung cấp ảnh chụp nhanh về hiệu suất gần đây của mạng Solana. Phương thức này trả về danh sách các mẫu được lấy khoảng 60 giây một lần, trong đó nêu chi tiết số lượng giao dịch và slot đã xử lý trong các khoảng thời gian đó. Dữ liệu này rất hữu ích để giám sát thông lượng và tình trạng của mạng. Để biết thêm thông tin về các chỉ số hiệu suất của Solana như TPS và thời gian slot, hãy đọc hướng dẫn Solana dành cho doanh nghiệp.

Các trường hợp sử dụng phổ biến

  • Giám sát tình trạng mạng: Theo dõi tốc độ xử lý giao dịch và tạo slot để đánh giá tình trạng tổng thể của mạng, đồng thời phát hiện khả năng tắc nghẽn hoặc chậm trễ.
  • Phân tích hiệu suất: Phân tích dữ liệu hiệu suất trong quá khứ để hiểu hành vi của mạng trong các điều kiện khác nhau.
  • Trực quan hóa trên bảng điều khiển: Hiển thị các chỉ số hiệu suất chính (KPI) như số giao dịch mỗi giây (TPS) và số slot mỗi phút trên bảng điều khiển giám sát.
  • Lập kế hoạch năng lực: Theo dõi xu hướng tải mạng để đưa ra quyết định mở rộng quy mô cho ứng dụng hoặc cơ sở hạ tầng.

Tham số yêu cầu

  1. limit (usize, tùy chọn):
    • Số lượng mẫu hiệu suất gần đây nhất cần trả về.
    • Giá trị tối đa: 720 (tương ứng với khoảng 12 giờ dữ liệu vì mẫu được lấy sau mỗi 60 giây).
    • Nếu bỏ qua, nút RPC sẽ trả về số lượng mẫu mặc định (giá trị mặc định chính xác có thể khác nhau tùy theo nhà cung cấp RPC).

Cấu trúc phản hồi

Trường result của phản hồi JSON-RPC là một mảng gồm các đối tượng mẫu hiệu suất, được trả về theo thứ tự thời gian đảo ngược (mẫu gần đây nhất đứng đầu). Mỗi đối tượng có cấu trúc sau:
  • slot (u64): Số slot ghi nhận mẫu hiệu suất này.
  • numTransactions (u64): Tổng số giao dịch (bao gồm cả giao dịch biểu quyết và không biểu quyết) được xử lý trong samplePeriodSecs trước slot này.
  • numSlots (u64): Số lượng slot được xử lý trong samplePeriodSecs trước slot này.
  • samplePeriodSecs (u16): Khoảng thời gian lấy mẫu, tính bằng giây (thường là 60).
  • numNonVoteTransactions (u64): Số lượng giao dịch không phải là giao dịch biểu quyết đồng thuận được xử lý trong samplePeriodSecs.

Ví dụ

1. Lấy 5 mẫu hiệu suất gần đây nhất

Ví dụ này yêu cầu năm mẫu hiệu suất gần đây nhất từ mạng.

2. Lấy số lượng mẫu hiệu suất mặc định

Ví dụ này bỏ qua tham số limit để yêu cầu số lượng mẫu mặc định của nút RPC.

Mẹo dành cho nhà phát triển

  • Khoảng thời gian lấy mẫu: Mẫu thường được lấy sau mỗi 60 giây, nhưng đây chỉ là giá trị gần đúng. Trường samplePeriodSecs trong phản hồi cho biết khoảng thời gian thực tế của từng mẫu.
  • Giới hạn dữ liệu lịch sử: limit tối đa là 720 mẫu, cung cấp khoảng dữ liệu lịch sử xấp xỉ 12 giờ. Để phân tích hiệu suất dài hạn, cần ghi nhật ký và tổng hợp dữ liệu bên ngoài.
  • Giao dịch biểu quyết và không biểu quyết: numTransactions bao gồm tất cả giao dịch, còn numNonVoteTransactions chỉ đếm những giao dịch không thuộc quy trình biểu quyết đồng thuận. Chỉ số thứ hai thường phản ánh chính xác hơn hoạt động mạng do người dùng tạo ra.
  • Sự khác biệt giữa các nút: Dữ liệu chính xác có thể khác nhau đôi chút giữa các nút RPC, tùy thuộc vào trạng thái đồng bộ và góc nhìn cục bộ của từng nút về mạng tại thời điểm lấy mẫu.
Bằng cách sử dụng getRecentPerformanceSamples, các nhà phát triển và bên giám sát mạng có thể thu được thông tin chuyên sâu có giá trị về trạng thái hoạt động và thông lượng của mạng Solana.