---
title: "为业界领先的速度和可靠性构建 Solana RPC 读取架构"
description: "Alchemy 拥有最低的 Solana 读取延迟：9.21 毫秒，比第二名快约 26%。"
---

# 为业界领先的速度和可靠性构建 Solana RPC 读取架构

<ImageBlock
  src="https://media.alchemy.com/blog/solana-rpc-reads-performance.png"
  alt="最快的 RPC 读取速度"
  width={3840}
  height={1800}
  priority
/>

兑换中的价格滞后、迟迟不更新的钱包余额、恰好在客户需要时超时的历史查询——这些未必是应用层面的问题。很多时候，瓶颈出在底层的 RPC 连接上。

[Solana RPC](https://www.alchemy.com/solana) 是 Solana 应用与链本身之间的连接：后端或客户端用来读取账户余额、程序状态、交易历史以及提交交易所调用的接口。应用展示的每一项数据都依赖这条连接，所以连接慢，应用就慢——这会导致交易者亏钱，用户体验变差。

## 为什么 Solana RPC 的读取性能很重要

Solana 的设计目标是速度：截至目前出块间隔约为 270 毫秒，并且仍在朝 200 毫秒逼近，再加上每秒数千笔交易和不到一美分的手续费。这个速度为其上构建的一切设定了标准。如果某个 RPC 提供方给每次读取增加了 50 毫秒、100 毫秒或 300 毫秒，那应用的速度就只能受限于该提供方的队列。

根据我们与客户的沟通，以下是一些常见的痛点：

- DEX 或聚合器报出滞后的价格，导致兑换以更差的价格成交，造成亏损。
- 钱包的余额视图落后于链上状态，用户无法确认自己的存款是否到账。
- 索引器的回填耗时数周而非数天，延迟了基于其构建的每个功能。
- 合规或税务工具在扫描钱包完整历史时恰好在客户需要结果的那一刻超时。

大多数 Solana 应用的基础设施预算都花在读取上，而非写入。交易落地（提交并确认交易）估计占整个生态 Solana RPC 流量的 5% 或更少，其余都是读取：余额、账户状态、程序数据和历史查询。这正是为什么读取延迟理应得到和落地速度同等的重视。

## 基准测试数据说明了什么

我们公开发布了 [Solana RPC 基准测试](https://www.alchemy.com/benchmarks#solana)，在相同的 AWS 区域（美国东部、美国西部、欧盟中部、亚太东南部）、使用相同的方法，以每五分钟刷新一次的滚动 24 小时窗口，针对另外四家提供方——QuickNode、Chainstack、Helius 和 Triton——进行测试。以下是当前窗口显示的结果：

<ImageBlock
  src="https://media.alchemy.com/blog/solana-rpc-reads-benchmark-2026-09-29.png"
  alt="Solana 全区域服务商对比。Alchemy 平均 9.21 ms，QuickNode 12.37 ms，Chainstack 18.80 ms，Helius 31.43 ms，Triton 101.14 ms。"
  width={2426}
  height={876}
  caption="数据截至 2026 年 9 月 29 日 UTC 时间 21:05，统计窗口为过去 24 小时；仪表盘每五分钟刷新一次，实时数据会略有差异。"
  smallCaption
/>

- Alchemy 的全球平均 Solana 读取延迟最低，为 9.21 毫秒，比第二快的提供方（QuickNode）快约 26%，比我们追踪的最慢提供方（Triton）快约 11 倍。
- 在 P95 尾延迟方面，Alchemy 比第二快的提供方快约 45%，比最慢的提供方快约 20 倍。
- 五家提供方的成功率都接近，当前窗口为 99.99%–100%，但 Alchemy 已经[在高负载下证明了历史可靠性](https://www.alchemy.com/blog/best-uptime-biggest-liquidation-event-in-crypto)，即便在历史上规模最大的加密货币清算事件期间也保持了 99.99% 的正常运行时间。

完整的方法论、各区域数据以及每五分钟刷新一次的实时数据都公开在 [Solana RPC 基准测试](https://www.alchemy.com/benchmarks#solana)页面上。

## 为何构建出业内领先的速度与可靠性的 Solana RPC 架构

Alchemy 的 Solana 基础设施由专职的 Solana 工程师专门打造，构建在 Alchemy 9 年多以来在 100+ 条链上运行的路由、代理和节点管理系统之上。

以下是该架构中的一些具体组成部分，详见 [Alchemy 的 Solana 页面](https://www.alchemy.com/solana)：

- 每个请求前都设有一层边缘代理，在请求到达节点之前处理连接复用、鉴权和路由，在 Alchemy 的内部测试中可将尾延迟降低最多 7.5 倍。
- 上下文感知的智能路由将每个请求发送给最能快速响应该请求的节点，而不是在固定节点池中轮询，在 Alchemy 的内部测试中查询速度最多可提升 2.5 倍。
- 在 Solana 上，内部测试显示该架构在 `getProgramAccounts` 等高负载方法上实现了 10 倍的性能提升，归档数据访问速度提升 20 倍。该架构由 99.99% 的正常运行时间、多区域基础设施、48 小时区块回放以及三到五层自主故障转移机制支撑。
- 专门针对 Solana 的 staked connections 在读取侧提升之外，进一步提高了交易落地率。

这是边缘路由、节点运维、区域部署和归档架构共同作用的结果，这也是为什么 [Solana 基准测试](https://www.alchemy.com/benchmarks#solana)测试的是完整请求路径的端到端表现，而不是孤立的某个组件。

## Alchemy 提供的独家 Solana 方法

除了让标准 Solana RPC 方法更快之外，Alchemy 还推出了其他地方不存在的方法，解决了过去需要开发者自建索引或账户归档基础设施才能解决的问题。

<EmbeddedTable
  table={{
    columns: [
      { key: "method", width: 320, title: "Method", dataType: "object" },
      {
        key: "unlocks",
        width: 480,
        title: "What it unlocks",
        dataType: "object",
      },
    ],
    data: [
      {
        method: {
          title:
            "<p><code>getAccountInfo</code> with <code>slot</code>, <code>lastUpdateBeforeSlot</code>, or <code>firstUpdateAfterSlot</code> (<a href=\"https://www.alchemy.com/blog/solana-account-archive\">Solana Account Archive</a>)</p>",
          tooltip: "",
          icon: "",
        },
        unlocks: {
          title:
            "<p>查询任意账户在任意历史 slot 的精确状态。Solana 验证节点只保存账户的最新状态；此方法重建了原本一旦账户被修改就会丢失的历史记录。</p>",
          tooltip: "",
          icon: "",
        },
        id: 0,
      },
      {
        method: {
          title: "<p><code>getTokenAccountsByOwnerAtSlot</code></p>",
          tooltip: "",
          icon: "",
        },
        unlocks: {
          title:
            "<p>一次调用即可返回钱包在任意过去 slot 的完整代币持仓及精确余额，无需重放成千上万笔交易来重建数据。</p>",
          tooltip: "",
          icon: "",
        },
        id: 1,
      },
      {
        method: {
          title: "<p><code>getTokenLargestAccounts</code>, enhanced</p>",
          tooltip: "",
          icon: "",
        },
        unlocks: {
          title:
            "<p>每次调用返回 1,000 个以上的代币账户，是标准限制的 50 倍。</p>",
          tooltip: "",
          icon: "",
        },
        id: 2,
      },
      {
        method: {
          title: "<p>gRPC replay slots</p>",
          tooltip: "",
          icon: "",
        },
        unlocks: {
          title:
            "<p>按需恢复最多 48 小时的历史 slot 数据，因此流中断不再意味着数据丢失。</p>",
          tooltip: "",
          icon: "",
        },
        id: 3,
      },
    ],
  }}
/>

在 Alchemy 的内部测试中，`getTokenAccountsByOwnerAtSlot` 返回的结果与 Solana 上记录的真实余额完全一致，包括像 80,000,000 号 slot 的代币余额这样久远的历史数据。[Solana Account Archive](https://www.alchemy.com/blog/solana-account-archive) 以微秒级的中位延迟响应历史读取请求，且从不删除旧数据，因此随着时间推移，它能回答的查询可以追溯得更远。

对于需要进行回测、审计、事故恢复、税务与成本基础报告，或者投资组合历史查询的团队而言，这些方法将过去需要定制索引项目才能完成的工作，变成了一次 RPC 调用。

## 快速 Solana 读取的关键应用场景有哪些？

**钱包与投资组合应用。** 余额查询、代币账户查询以及兑换或转账历史都依赖读取操作，而用户会立刻察觉到延迟。这正是 Solflare 在评估归档基础设施以支持其分析功能时所衡量的工作负载（详见下文）。

**DEX、聚合器与交易工具。** 价格和资金池状态的读取结果会直接呈现在用户交易前所看到的界面上。一次滞后的 `getAccountInfo` 或 `getProgramAccounts` 调用意味着报价滞后，而在一条出块间隔约为 270 毫秒的链上，滞后可能在一个区块之内就变成了错误。

**索引器与分析平台。** 回填数月甚至数年的 Solana 历史数据，意味着要大规模运行像 `getProgramAccounts` 和 `getTokenAccountsByOwner` 这样带有大量过滤条件的高负载调用，以及归档类的 `getTransaction` 和 `getBlock` 调用，且不需要每次都从创世区块重建就能保持速度。

**支付、金融科技与汇款应用。** 存款和余额确认需要快速且稳定，尤其是当用户正盯着屏幕等待资金到账时。

**合规、税务与报告工具。** 对大量账户进行全历史扫描，依赖的是在钱包历史末端也能保持快速的归档读取，而不仅仅是最近的交易记录。

**实时交易与市场数据。** 对于每一毫秒的 slot 更新都至关重要的工作负载，gRPC 流式传输（在 Alchemy 上兼容 Yellowstone）会在账户和交易更新发生时实时推送，而不是轮询获取。Alchemy 连接多个上游节点，因此某个节点的宕机或重启不会中断数据流。

## 有哪些证据表明这在生产环境中真正可行？

许多在 Solana 上构建的领先团队——[Phantom](https://phantom.com/)、[Solflare](https://www.alchemy.com/case-studies/solflare)、[Collector Crypt](https://www.alchemy.com/case-studies/how-collector-crypt-put-trading-cards-onchain)、[Slingshot](https://www.alchemy.com/case-studies/slingshot-webhooks) 等——正是出于这种读取性能和可靠性的考量，运行在 Alchemy 之上。以下是其中几个案例。

- [**Phantom**](https://phantom.com/)，拥有 2000 万以上用户信赖的领先多链自托管钱包，自 2022 年起成为 Alchemy 客户。
- [**Solflare**](https://www.alchemy.com/case-studies/solflare)，Solana 生态中规模最大、最受信赖的钱包之一，拥有 400 万以上活跃用户，使用我们的 Solana Archive Method 实现归档查询速度最高提升 20 倍，并在一分钟内完成完整钱包历史回填。
- [**Collector Crypt**](https://www.alchemy.com/case-studies/how-collector-crypt-put-trading-cards-onchain)，领先的代币化收藏品平台，链上交易卡库存接近 4000 万美元，在其结算与确认路径上每 30 天通过 Alchemy 处理 2900 万以上请求，常用 Solana 读取方法的平均耗时低于 7 毫秒。
- [**Cielo**](https://cielo.finance/)，一款可让用户实时追踪钱包和代币的链上活动追踪工具，在 Bitcoin、Solana、Sui、Tron 和 EVM 链上均运行在 Alchemy 之上。

> “他们的基础设施和产品组合在性能方面有着经过验证的良好记录。对于 Phantom 以及任何选择开始使用 Alchemy 的 Solana 开发者来说，这都将是一个改变游戏规则的决定。”
>
> —— Francesco Agosti，Phantom 首席技术官兼联合创始人

## 如何开始在 Alchemy 上构建 Solana 应用？

[注册一个免费账户](https://dashboard.alchemy.com/?a=solana)，通过 [Solana API 快速入门](https://www.alchemy.com/docs/reference/solana-api-quickstart)发出你的第一个请求。

- 需要实时流式传输？将你现有的 Yellowstone 兼容客户端指向 [Alchemy 的 Solana gRPC 端点](https://www.alchemy.com/solana-grpc)。
- 想亲自查看数据？参考[基准测试](https://www.alchemy.com/benchmarks#solana)，深入了解我们的测试方法论。

我们致力于帮助所有 Solana 开发者取得成功。通过 [Solana Fund](https://www.alchemy.com/solana-20m-fund) 申请最高 2.5 万美元的额度，或与我们联系交流。

## 常见问题

### 什么是 Solana RPC 提供方？

Solana RPC 提供方运营着应用所调用的节点基础设施，用于读取区块链状态（余额、账户数据、交易历史）并提交交易。大多数团队并不自建 Solana 节点，而是调用提供方的 RPC 端点。

### 为什么 RPC 延迟在 Solana 上比在其他链上更重要？

截至目前，Solana 每约 270 毫秒出一个区块，且这个间隔仍在朝 200 毫秒逼近。一次缓慢的 RPC 读取可能返回已经滞后一个区块甚至更久的状态，这对定价、交易以及任何展示用户链上实时状态的功能来说都至关重要。

### Alchemy 的 Solana RPC 基准测试可信吗？

测试方法论、区域列表以及原始数据都公开在 [Alchemy 的 Solana 基准测试页面](https://www.alchemy.com/benchmarks#solana)上，并每五分钟刷新一次，任何人都可以查看当前数据。

### Solana RPC 和 Solana gRPC 有什么区别？

RPC 是请求—响应模式：应用发出一个问题，得到一个回答。gRPC 是持久化的流式连接：客户端订阅一次，随后持续接收推送的更新，适用于交易和实时账户监控等实时场景。

### 要获得更快的归档查询，我需要重写代码吗？

不需要。Alchemy 的归档性能提升适用于 `getTransaction` 和 `getBlock` 等标准方法，无需修改代码，也不需要任何专有参数。

### 如果我已经在使用其他 Solana RPC 提供方呢？

Alchemy 支持大多数 Solana 工具已经默认使用的标准 JSON-RPC 和 Yellowstone gRPC 接口，所以切换提供方通常只需更新一个端点 URL，而不需要改动代码。

### 有没有供测试使用的免费套餐？

有。Alchemy 的免费套餐包含一个私有 Solana RPC 端点，限额高于公共端点，新的 Solana 项目还可以通过 [Solana Fund](https://www.alchemy.com/solana-20m-fund) 申请额度。
