跳转到主要内容
RPC 方法提供 Solana 网络最近性能的快照。它返回大约每 60 秒一次的样本列表,详细说明在这些期间处理的交易和插槽数量。此数据对于监控网络吞吐量和健康状况非常宝贵。有关 Solana 性能指标(如 TPS 和插槽时间)的更多背景信息,您可以阅读 Solana for Enterprise 指南

常见用例

  • 网络健康监控: 跟踪交易处理率和槽生产,以评估整体网络健康状况并识别潜在的拥堵或减速。
  • 性能分析: 分析历史性能数据,以了解网络在不同条件下的行为。
  • 仪表盘展示: 在监控仪表盘上显示关键性能指标(KPI),如每秒交易数(TPS)和每分钟槽数。
  • 容量规划: 观察网络负载趋势,以为应用程序或基础设施的扩展决策提供信息。

请求参数

  1. 参数名称(类型,optional 可选):
    • 返回的最近性能样本数量。
    • 最大值:最大值(表示大约 12 小时的数据,因为每 60 秒采集一次样本)。
    • 如果省略,RPC 节点将返回默认数量的样本(确切的默认值可能因 RPC 提供商而异)。

响应结构

JSON-RPC 响应中的字段是性能样本对象的数组,以时间倒序返回(最新的样本在前)。每个对象的结构如下:
  • 槽号(类型): 记录此性能样本的槽号。
  • 交易总数(类型): 在此样本(主要是槽号)之前的时间段内处理的交易总数(包括投票和非投票交易)。
  • 处理的插槽数量(类型): 在此样本(主要是槽号)之前的时间段内处理的插槽数量。
  • 持续时间(类型): 获取此样本的持续时间,单位为秒(通常为默认值)。
  • 非投票交易数量(类型): 在此样本(主要是槽号)之前的时间段内处理的不属于共识投票的交易数量。

示例

1. 获取最近 5 个性能样本

此示例请求网络中最近的五个性能样本。
# Replace <api-key> with your Helius API key
curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
  '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getRecentPerformanceSamples",
    "params": [5]
  }'

2. 获取默认数量的性能样本

此示例省略了参数limit,请求RPC节点的默认样本数。
# Replace <api-key> with your Helius API key
curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
  '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getRecentPerformanceSamples"
  }'

开发者提示

  • 采样间隔: 样本通常每60秒取一次,但这是一个近似值。响应中的samplePeriodSecs字段指示每个样本的实际持续时间。
  • 历史数据限制: 最大样本数为720,提供大约12小时的历史数据窗口。对于长期性能分析,需要外部数据记录和聚合。
  • 投票与非投票交易: numTransactions包含所有交易,而numNonVoteTransactions专门计算不属于共识投票过程的交易。后者通常是用户驱动网络活动的更好指标。
  • 节点差异性: 具体数据可能因不同RPC节点的同步状态和网络本地视图而略有不同。
通过利用getRecentPerformanceSamples,开发人员和网络观察者可以深入了解Solana网络的运行状态和吞吐量。