Skip to content

Add blaster test for endpoint performance evaluation#855

Draft
cjonas9 wants to merge 119 commits into
mainfrom
blaster-test
Draft

Add blaster test for endpoint performance evaluation#855
cjonas9 wants to merge 119 commits into
mainfrom
blaster-test

Conversation

@cjonas9

@cjonas9 cjonas9 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

What

TODO: Fill this out. This PR is a very early draft of work that is underway and is mainly exploring the architectural skeleton/seeing what works e2e before cleaning things up.
[TODO: Short statement about what is changing.]

Why

[TODO: Why this change is being made. Include any context required to understand the why.]

Known limitations

[TODO or N/A]

cjonas9 added 30 commits May 8, 2026 21:32
cjonas9 added 27 commits June 25, 2026 18:45
# Conflicts:
#	.github/workflows/load-test.yml
#	cmd/stellar-rpc/internal/ingest/service.go
#	cmd/stellar-rpc/internal/integrationtest/ingest_loadtest_test.go
#	go.mod
#	go.sum
@github-actions

github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

🧪 Performance Evaluation Test #3

Commit: c6cd9d492ff1 (blaster-test)
Run: https://github.com/stellar/stellar-rpc/actions/runs/29283375076

✅ Apply-load ingestion — verdict: ok

📈 Ingest load test — c6cd9d4

Profile Ledgers ms/ledger p50 / p95 / p99 ms max ms
load-test-ledgers-v27-oz 1000 1206.737 1115.160 / 1648.651 / 1977.222 4634.191
load-test-ledgers-v27-sac 1000 1097.183 1106.764 / 1179.606 / 1233.021 1307.135
load-test-ledgers-v27-soroswap 1000 791.507 802.920 / 868.582 / 923.094 1030.999
Metric Value
Ledgers replayed 3000
Initial DB ledger count 120960
Throughput 0.94 ledgers/sec
Elapsed wall-clock 3196.746s
Ingest busy-time 3095.426s (96.8% utilization)
Per-ledger p50 / p95 / p99 1050.728 / 1413.879 / 1843.836 ms
Golden DB fetch+decompress 2430s
stellar-core v27.0.0
Workflow run #29283375076-1

✅ Backfill ingestion — verdict: ok

⏳ Backfill ingestion — c6cd9d492ff1

Metric Value
Ledgers ingested 8640 ([63454976 -> 63463615])
Retention window 8640
Wall-clock 20m57s
Ledgers/sec 6.9

✅ Endpoint load test — verdict: ok

🎯 Endpoint load test — c6cd9d492ff1

Serial blast per endpoint (ramp-up 2m, duration 3m, blaster f6085c38900f) against the backfilled RPC (ledgers [63455276, 63463915], catchup 1458s).

Endpoint Target RPS Requests Errors p50 (ms) p95 (ms) p99 (ms) p99.9 (ms)
getEvents (limit=1) 1 82 24 (29.3%) 58.6 10010.6 10010.6 10018.8
getFeeStats 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getHealth 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getLatestLedger 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getLedgerEntries 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getLedgers (limit=1) 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getNetwork 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getTransaction 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getTransactions (limit=1) 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
getVersionInfo 0 0 0 (0.0%) 0.0 0.0 0.0 0.0
Performance Evaluation Test #2

🧪 Performance Evaluation Test #2

Commit: ee0f5cbf53b2 (blaster-test)
Run: https://github.com/stellar/stellar-rpc/actions/runs/29133837755

✅ Apply-load ingestion — verdict: ok

📈 Ingest load test — ee0f5cb

Profile Ledgers ms/ledger p50 / p95 / p99 ms max ms
load-test-ledgers-v27-oz 1000 1197.033 1115.398 / 1629.591 / 1911.283 3290.848
load-test-ledgers-v27-sac 1000 1096.878 1106.531 / 1177.999 / 1239.813 1303.008
load-test-ledgers-v27-soroswap 1000 791.185 802.614 / 867.703 / 919.590 1035.681
Metric Value
Ledgers replayed 3000
Initial DB ledger count 120960
Throughput 0.94 ledgers/sec
Elapsed wall-clock 3190.229s
Ingest busy-time 3085.096s (96.7% utilization)
Per-ledger p50 / p95 / p99 1051.225 / 1414.314 / 1747.520 ms
Golden DB fetch+decompress 2425s
stellar-core v27.0.0
Workflow run #29133837755-1

✅ Backfill ingestion — verdict: ok

⏳ Backfill ingestion — ee0f5cbf53b2

Metric Value
Ledgers ingested 8640 ([63412992 -> 63421631])
Retention window 8640
Wall-clock 17m46s
Ledgers/sec 8.1

✅ Endpoint load test — verdict: ok

🎯 Endpoint load test — ee0f5cbf53b2

Serial blast per endpoint (ramp-up 2m, duration 3m, blaster 1c495b3c612c) against the backfilled RPC (ledgers [63413289, 63421928], catchup 1337s).

Endpoint Target RPS Requests Errors p50 (ms) p95 (ms) p99 (ms) p99.9 (ms)
getEvents (limit=1) 1 179 7 (3.9%) 18.3 7475.2 10002.4 10010.6
getFeeStats 15 2074 0 (0.0%) 0.6 13.1 96.4 179.1
getHealth 15 2387 0 (0.0%) 0.5 13.2 139.5 208.1
getLatestLedger 15 2385 0 (0.0%) 136.1 180.5 267.3 354.3
getLedgerEntries 15 2075 0 (0.0%) 1.4 47.6 108.4 162.9
getLedgers (limit=1) 1 180 0 (0.0%) 160.1 359.9 378.1 382.5
getNetwork 15 2387 0 (0.0%) 22.2 34.3 71.0 138.9
getTransaction 15 2075 0 (0.0%) 27.2 38.6 105.3 191.7
getTransactions (limit=1) 1 179 0 (0.0%) 61.5 77.2 105.9 166.7
getVersionInfo 15 2376 0 (0.0%) 22.7 42.5 1012.2 2392.1
Performance Evaluation Test #1

🧪 Performance Evaluation Test #1

Commit: 6defac9a0c11 (blaster-test)
Run: https://github.com/stellar/stellar-rpc/actions/runs/29133628286

❌ Apply-load ingestion — verdict: fail

Load test failed before producing a result body.

❌ Backfill ingestion — verdict: fail

Load test failed before producing a result body.

❌ Endpoint load test — verdict: none

No result object published (leg timed out or failed before publishing). See the run logs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant