常见用例
- 网络健康监控: 跟踪交易处理率和槽生产,以评估整体网络健康状况并识别潜在的拥堵或减速。
- 性能分析: 分析历史性能数据,以了解网络在不同条件下的行为。
- 仪表盘展示: 在监控仪表盘上显示关键性能指标(KPI),如每秒交易数(TPS)和每分钟槽数。
- 容量规划: 观察网络负载趋势,以为应用程序或基础设施的扩展决策提供信息。
请求参数
- 参数名称(类型,optional 可选):
- 返回的最近性能样本数量。
- 最大值:最大值(表示大约 12 小时的数据,因为每 60 秒采集一次样本)。
- 如果省略,RPC 节点将返回默认数量的样本(确切的默认值可能因 RPC 提供商而异)。
响应结构
JSON-RPC 响应中的字段是性能样本对象的数组,以时间倒序返回(最新的样本在前)。每个对象的结构如下:- 槽号(类型): 记录此性能样本的槽号。
- 交易总数(类型): 在此样本(主要是槽号)之前的时间段内处理的交易总数(包括投票和非投票交易)。
- 处理的插槽数量(类型): 在此样本(主要是槽号)之前的时间段内处理的插槽数量。
- 持续时间(类型): 获取此样本的持续时间,单位为秒(通常为默认值)。
- 非投票交易数量(类型): 在此样本(主要是槽号)之前的时间段内处理的不属于共识投票的交易数量。
示例
1. 获取最近 5 个性能样本
此示例请求网络中最近的五个性能样本。2. 获取默认数量的性能样本
此示例省略了参数limit,请求RPC节点的默认样本数。
开发者提示
- 采样间隔: 样本通常每60秒取一次,但这是一个近似值。响应中的
samplePeriodSecs字段指示每个样本的实际持续时间。 - 历史数据限制: 最大样本数为720,提供大约12小时的历史数据窗口。对于长期性能分析,需要外部数据记录和聚合。
- 投票与非投票交易:
numTransactions包含所有交易,而numNonVoteTransactions专门计算不属于共识投票过程的交易。后者通常是用户驱动网络活动的更好指标。 - 节点差异性: 具体数据可能因不同RPC节点的同步状态和网络本地视图而略有不同。
getRecentPerformanceSamples,开发人员和网络观察者可以深入了解Solana网络的运行状态和吞吐量。