# Solana Node Performance

RPC Fast nodes typically outperform default self-hosted RPC node solutions, especially in the speed of receiving events from Solana blockchain, with the help of Jito's ShredStream.

{% hint style="success" %}
Jito's ShredStream boosts arrival time of processed transactions by **up to 270ms** when using Yellowstone gRPC geyser subscription.
{% endhint %}

You can find the benchmarking tools for comparison between two gRPC endpoints here:\
<https://github.com/dysnix/solana-test/tree/main/yellowstone-bench>.

The test comparing node performance with/without Jito: With Jito, the node receives **99.71%** of transactions faster with an average advantage of 120ms.

```
[SUMMARY]
  Matching txns: 185141
  Avg delta: 120.360582 ms
  75th percentile delta: 165.634304 ms
  90th percentile delta: 218.932224 ms
  95th percentile delta: 239.485952 ms
  99th percentile delta: 270.596147 ms
  99.71% of txns: JITO.json is faster than NONE.json
  0.29% of txns: JITO.json is slow than NONE.json
```

On average, RPC Fast Solana node receives same transactions **120ms earlier**, and in some rare cases, it receives it even faster b**y 270ms.**

## Case Studies

* [x] [HA self-hosted cluster of two nodes for quantitative trading and real-time data tracking on Solana](https://rpcfast.com/blog/hft-company-solana-nodes-case-study).
* [x] [Dedicated node on Solana + self-hosted cluster on Base: Real-time data, analytics, and trading across two blockchains](https://rpcfast.com/blog/mizar-dysnix-case-study).
* [x] [Mizar Case study (Solana, Base): Full Breakdown by OVHcloud](https://www.ovhcloud.com/en-gb/case-studies/dysnix/).

## Performance Metrics

The metrics displayed were tracked on one of our dedicated nodes.

**Note:** When it comes to the speed of receiving transactions via gRPC, we subtract **500ms** from the latency since Solana doesn’t store milliseconds, which leads to a loss of precision. For instance, a transaction occurring at 07:46:46:900 would have a block time of 07:46:46:000. It's better to use the middle of the second for calculations.

<figure><img src="https://1798863941-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRRBph8Hty4VwnYxGM39r%2Fuploads%2Fgit-blob-4aa9534492fb3f908baca5f01062d01847ed1d75%2Fshredstream.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1798863941-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRRBph8Hty4VwnYxGM39r%2Fuploads%2Fgit-blob-2c368adf6ad923338c1bd65ca026b3aaeb307aaf%2Fyellowst.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1798863941-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRRBph8Hty4VwnYxGM39r%2Fuploads%2Fgit-blob-d87406f3cb7573a3d1a702775633d0bf8046afe2%2Fshred.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1798863941-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRRBph8Hty4VwnYxGM39r%2Fuploads%2Fgit-blob-f4027a106b50a9d1d6191d0da50a152ecb7bc0c4%2Fsync%20latency.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1798863941-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRRBph8Hty4VwnYxGM39r%2Fuploads%2Fgit-blob-a2fabbea3d284d8d6484987c9cf7efbb093fab60%2Flatency%20by%20method.png?alt=media" alt=""><figcaption></figcaption></figure>

## Tests: Jito Shredstream vs. bloXroute OFR

<figure><img src="https://1798863941-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRRBph8Hty4VwnYxGM39r%2Fuploads%2Fgit-blob-ef86d46e3bd2d30a7e6e862c76cb4e7bcd2c87f2%2FOFR.jpeg?alt=media" alt=""><figcaption><p>Receiving shreds after turning on OFR (blue line)</p></figcaption></figure>

The test comparing node performance with/without bloXroute OFR: On average, transactions with OFR arrive on Yellowstone **100ms** earlier.

```
[SUMMARY]
  Matching txns: 169094
  Avg Δ createdAt: 106.345049 ms
  75th percentile Δ: 154.814720 ms
  90th percentile Δ: 203.478195 ms
  95th percentile Δ: 223.160205 ms
  99th percentile Δ: 251.815347 ms
  97.93% of txns: OFR.json is earlier than NONE.json
  2.07% of txns: OFR.json is later than NONE.json
```

The test comparing node performance with OFR vs. Jito: Jito Shredstream is **13ms** faster than bloXroute OFR in **96%** of all transactions.

```
[SUMMARY]
  Matching txns: 188852
  Avg Δ createdAt: -13.102159 ms
  75th percentile Δ: -7.517952 ms
  90th percentile Δ: -3.375872 ms
  95th percentile Δ: -0.875571 ms
  99th percentile Δ: 10.711762 ms
  96.03% of txns: JITO.json is earlier than OFR.json
  3.97% of txns: JITO.json is later than OFR.json
```

Therefore, according to our tests, **Jito performs better than bloXroute OFR** (as of summer 2025).
