Add benchmark results for multiple Nostr relay backends
Introduced comprehensive benchmarks for `next-orly-badger`, `next-orly-neo4j`, and `nostr-rs-relay` backends, covering peak throughput, burst patterns, mixed read/write, query, and concurrent query/store tests. Reports include detailed performance metrics (e.g., events/sec, latency, success rates) and are saved as text and AsciiDoc formats. Aggregate summary also generated for testing consistency across relay implementations.
This commit is contained in:
9
cmd/benchmark/.claude/settings.local.json
Normal file
9
cmd/benchmark/.claude/settings.local.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(ls:*)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
}
|
||||
}
|
||||
@@ -13,21 +13,6 @@ services:
|
||||
volumes:
|
||||
- /dev/shm/benchmark/next-orly-badger:/data
|
||||
|
||||
# Next.orly.dev relay with DGraph
|
||||
next-orly-dgraph:
|
||||
volumes:
|
||||
- /dev/shm/benchmark/next-orly-dgraph:/data
|
||||
|
||||
# DGraph Zero - cluster coordinator
|
||||
dgraph-zero:
|
||||
volumes:
|
||||
- /dev/shm/benchmark/dgraph-zero:/data
|
||||
|
||||
# DGraph Alpha - data node
|
||||
dgraph-alpha:
|
||||
volumes:
|
||||
- /dev/shm/benchmark/dgraph-alpha:/data
|
||||
|
||||
# Next.orly.dev relay with Neo4j
|
||||
next-orly-neo4j:
|
||||
volumes:
|
||||
|
||||
@@ -26,78 +26,6 @@ services:
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
|
||||
# Next.orly.dev relay with DGraph (this repository)
|
||||
next-orly-dgraph:
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: cmd/benchmark/Dockerfile.next-orly
|
||||
container_name: benchmark-next-orly-dgraph
|
||||
environment:
|
||||
- ORLY_DATA_DIR=/data
|
||||
- ORLY_LISTEN=0.0.0.0
|
||||
- ORLY_PORT=8080
|
||||
- ORLY_LOG_LEVEL=off
|
||||
- ORLY_DB_TYPE=dgraph
|
||||
- ORLY_DGRAPH_URL=dgraph-alpha:9080
|
||||
volumes:
|
||||
- ./data/next-orly-dgraph:/data
|
||||
ports:
|
||||
- "8007:8080"
|
||||
networks:
|
||||
- benchmark-net
|
||||
depends_on:
|
||||
dgraph-alpha:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
# DGraph Zero - cluster coordinator
|
||||
dgraph-zero:
|
||||
image: dgraph/dgraph:v23.1.0
|
||||
container_name: benchmark-dgraph-zero
|
||||
working_dir: /data/zero
|
||||
ports:
|
||||
- "5080:5080"
|
||||
- "6080:6080"
|
||||
volumes:
|
||||
- ./data/dgraph-zero:/data
|
||||
command: dgraph zero --my=dgraph-zero:5080
|
||||
networks:
|
||||
- benchmark-net
|
||||
healthcheck:
|
||||
test: ["CMD", "sh", "-c", "dgraph version || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 3
|
||||
start_period: 5s
|
||||
|
||||
# DGraph Alpha - data node
|
||||
dgraph-alpha:
|
||||
image: dgraph/dgraph:v23.1.0
|
||||
container_name: benchmark-dgraph-alpha
|
||||
working_dir: /data/alpha
|
||||
ports:
|
||||
- "8088:8080"
|
||||
- "9080:9080"
|
||||
volumes:
|
||||
- ./data/dgraph-alpha:/data
|
||||
command: dgraph alpha --my=dgraph-alpha:7080 --zero=dgraph-zero:5080 --security whitelist=0.0.0.0/0
|
||||
networks:
|
||||
- benchmark-net
|
||||
depends_on:
|
||||
dgraph-zero:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "sh", "-c", "dgraph version || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 6
|
||||
start_period: 10s
|
||||
|
||||
# Next.orly.dev relay with Neo4j (this repository)
|
||||
next-orly-neo4j:
|
||||
build:
|
||||
@@ -300,8 +228,6 @@ services:
|
||||
depends_on:
|
||||
next-orly-badger:
|
||||
condition: service_healthy
|
||||
next-orly-dgraph:
|
||||
condition: service_healthy
|
||||
next-orly-neo4j:
|
||||
condition: service_healthy
|
||||
khatru-sqlite:
|
||||
@@ -317,7 +243,7 @@ services:
|
||||
rely-sqlite:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- BENCHMARK_TARGETS=rely-sqlite:3334,next-orly-badger:8080,next-orly-dgraph:8080,next-orly-neo4j:8080,khatru-sqlite:3334,khatru-badger:3334,relayer-basic:7447,strfry:8080,nostr-rs-relay:8080
|
||||
- BENCHMARK_TARGETS=rely-sqlite:3334,next-orly-badger:8080,next-orly-neo4j:8080,khatru-sqlite:3334,khatru-badger:3334,relayer-basic:7447,strfry:8080,nostr-rs-relay:8080
|
||||
- BENCHMARK_EVENTS=50000
|
||||
- BENCHMARK_WORKERS=24
|
||||
- BENCHMARK_DURATION=60s
|
||||
|
||||
176
cmd/benchmark/reports/run_20251203_222024/aggregate_report.txt
Normal file
176
cmd/benchmark/reports/run_20251203_222024/aggregate_report.txt
Normal file
@@ -0,0 +1,176 @@
|
||||
================================================================
|
||||
NOSTR RELAY BENCHMARK AGGREGATE REPORT
|
||||
================================================================
|
||||
Generated: 2025-12-03T22:47:18+00:00
|
||||
Benchmark Configuration:
|
||||
Events per test: 50000
|
||||
Concurrent workers: 24
|
||||
Test duration: 60s
|
||||
|
||||
Relays tested: 8
|
||||
|
||||
================================================================
|
||||
SUMMARY BY RELAY
|
||||
================================================================
|
||||
|
||||
Relay: rely-sqlite
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 16694.18
|
||||
Events/sec: 6270.43
|
||||
Events/sec: 16694.18
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.339216ms
|
||||
Bottom 10% Avg Latency: 779.552µs
|
||||
Avg Latency: 1.281976ms
|
||||
P95 Latency: 1.894111ms
|
||||
P95 Latency: 2.087148ms
|
||||
P95 Latency: 910.529µs
|
||||
|
||||
Relay: next-orly-badger
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17987.95
|
||||
Events/sec: 6246.39
|
||||
Events/sec: 17987.95
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.16914ms
|
||||
Bottom 10% Avg Latency: 675.419µs
|
||||
Avg Latency: 1.301155ms
|
||||
P95 Latency: 1.605171ms
|
||||
P95 Latency: 2.260728ms
|
||||
P95 Latency: 911.513µs
|
||||
|
||||
Relay: next-orly-neo4j
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17437.04
|
||||
Events/sec: 6060.82
|
||||
Events/sec: 17437.04
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.250926ms
|
||||
Bottom 10% Avg Latency: 735.971µs
|
||||
Avg Latency: 1.493295ms
|
||||
P95 Latency: 1.757814ms
|
||||
P95 Latency: 2.404304ms
|
||||
P95 Latency: 896.796µs
|
||||
|
||||
Relay: khatru-sqlite
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17531.15
|
||||
Events/sec: 6335.87
|
||||
Events/sec: 17531.15
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.233875ms
|
||||
Bottom 10% Avg Latency: 707.713µs
|
||||
Avg Latency: 1.239192ms
|
||||
P95 Latency: 1.713051ms
|
||||
P95 Latency: 1.880869ms
|
||||
P95 Latency: 918.848µs
|
||||
|
||||
Relay: khatru-badger
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 15958.89
|
||||
Events/sec: 6352.78
|
||||
Events/sec: 15958.89
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.414398ms
|
||||
Bottom 10% Avg Latency: 791.675µs
|
||||
Avg Latency: 1.183812ms
|
||||
P95 Latency: 2.191322ms
|
||||
P95 Latency: 1.80172ms
|
||||
P95 Latency: 903.25µs
|
||||
|
||||
Relay: relayer-basic
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17757.23
|
||||
Events/sec: 6227.33
|
||||
Events/sec: 17757.23
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.193531ms
|
||||
Bottom 10% Avg Latency: 679.232µs
|
||||
Avg Latency: 1.304ms
|
||||
P95 Latency: 1.679267ms
|
||||
P95 Latency: 2.155365ms
|
||||
P95 Latency: 930.632µs
|
||||
|
||||
Relay: strfry
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17794.50
|
||||
Events/sec: 6252.01
|
||||
Events/sec: 17794.50
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.192717ms
|
||||
Bottom 10% Avg Latency: 676.594µs
|
||||
Avg Latency: 1.270724ms
|
||||
P95 Latency: 1.645564ms
|
||||
P95 Latency: 2.251457ms
|
||||
P95 Latency: 915.623µs
|
||||
|
||||
Relay: nostr-rs-relay
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17174.61
|
||||
Events/sec: 6311.06
|
||||
Events/sec: 17174.61
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.281647ms
|
||||
Bottom 10% Avg Latency: 742.249µs
|
||||
Avg Latency: 1.260479ms
|
||||
P95 Latency: 1.836808ms
|
||||
P95 Latency: 1.893887ms
|
||||
P95 Latency: 922.647µs
|
||||
|
||||
|
||||
================================================================
|
||||
DETAILED RESULTS
|
||||
================================================================
|
||||
|
||||
Individual relay reports are available in:
|
||||
- /reports/run_20251203_222024/khatru-badger_results.txt
|
||||
- /reports/run_20251203_222024/khatru-sqlite_results.txt
|
||||
- /reports/run_20251203_222024/next-orly-badger_results.txt
|
||||
- /reports/run_20251203_222024/next-orly-neo4j_results.txt
|
||||
- /reports/run_20251203_222024/nostr-rs-relay_results.txt
|
||||
- /reports/run_20251203_222024/relayer-basic_results.txt
|
||||
- /reports/run_20251203_222024/rely-sqlite_results.txt
|
||||
- /reports/run_20251203_222024/strfry_results.txt
|
||||
|
||||
================================================================
|
||||
BENCHMARK COMPARISON TABLE
|
||||
================================================================
|
||||
|
||||
Relay Status Peak Tput/s Avg Latency Success Rate
|
||||
---- ------ ----------- ----------- ------------
|
||||
rely-sqlite OK 16694.18 1.339216ms 100.0%
|
||||
next-orly-badger OK 17987.95 1.16914ms 100.0%
|
||||
next-orly-neo4j OK 17437.04 1.250926ms 100.0%
|
||||
khatru-sqlite OK 17531.15 1.233875ms 100.0%
|
||||
khatru-badger OK 15958.89 1.414398ms 100.0%
|
||||
relayer-basic OK 17757.23 1.193531ms 100.0%
|
||||
strfry OK 17794.50 1.192717ms 100.0%
|
||||
nostr-rs-relay OK 17174.61 1.281647ms 100.0%
|
||||
|
||||
================================================================
|
||||
End of Report
|
||||
================================================================
|
||||
@@ -0,0 +1,201 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_khatru-badger_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764801231368401ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764801231368486ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764801231368519ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764801231368527ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764801231368536ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764801231368548ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764801231368553ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764801231368563ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764801231368569ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764801231368582ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764801231368586ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764801231368621ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764801231368649ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764801231368698ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764801231368705ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764801231368720ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764801231368725ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:33:51 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 3.133049501s
|
||||
Events/sec: 15958.89
|
||||
Avg latency: 1.414398ms
|
||||
P90 latency: 1.890809ms
|
||||
P95 latency: 2.191322ms
|
||||
P99 latency: 3.903963ms
|
||||
Bottom 10% Avg latency: 791.675µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 324.488191ms
|
||||
Burst completed: 5000 events in 290.052978ms
|
||||
Burst completed: 5000 events in 282.1799ms
|
||||
Burst completed: 5000 events in 293.897308ms
|
||||
Burst completed: 5000 events in 291.897961ms
|
||||
Burst completed: 5000 events in 289.485539ms
|
||||
Burst completed: 5000 events in 274.266496ms
|
||||
Burst completed: 5000 events in 267.924152ms
|
||||
Burst completed: 5000 events in 270.096418ms
|
||||
Burst completed: 5000 events in 279.041228ms
|
||||
Burst test completed: 50000 events in 7.870569084s, errors: 0
|
||||
Events/sec: 6352.78
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.293101466s
|
||||
Combined ops/sec: 2058.20
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 414124 queries in 1m0.005028928s
|
||||
Queries/sec: 6901.49
|
||||
Avg query latency: 2.186993ms
|
||||
P95 query latency: 8.150708ms
|
||||
P99 query latency: 12.392244ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 315470 operations (265470 queries, 50000 writes) in 1m0.003725813s
|
||||
Operations/sec: 5257.51
|
||||
Avg latency: 1.463937ms
|
||||
Avg query latency: 1.521887ms
|
||||
Avg write latency: 1.156254ms
|
||||
P95 latency: 3.595486ms
|
||||
P99 latency: 9.347708ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 3.133049501s
|
||||
Total Events: 50000
|
||||
Events/sec: 15958.89
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 189 MB
|
||||
Avg Latency: 1.414398ms
|
||||
P90 Latency: 1.890809ms
|
||||
P95 Latency: 2.191322ms
|
||||
P99 Latency: 3.903963ms
|
||||
Bottom 10% Avg Latency: 791.675µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.870569084s
|
||||
Total Events: 50000
|
||||
Events/sec: 6352.78
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 172 MB
|
||||
Avg Latency: 1.183812ms
|
||||
P90 Latency: 1.587121ms
|
||||
P95 Latency: 1.80172ms
|
||||
P99 Latency: 3.298169ms
|
||||
Bottom 10% Avg Latency: 529.205µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.293101466s
|
||||
Total Events: 50000
|
||||
Events/sec: 2058.20
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 186 MB
|
||||
Avg Latency: 384.638µs
|
||||
P90 Latency: 808.86µs
|
||||
P95 Latency: 903.25µs
|
||||
P99 Latency: 1.120102ms
|
||||
Bottom 10% Avg Latency: 1.02527ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.005028928s
|
||||
Total Events: 414124
|
||||
Events/sec: 6901.49
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 198 MB
|
||||
Avg Latency: 2.186993ms
|
||||
P90 Latency: 6.624883ms
|
||||
P95 Latency: 8.150708ms
|
||||
P99 Latency: 12.392244ms
|
||||
Bottom 10% Avg Latency: 8.999206ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.003725813s
|
||||
Total Events: 315470
|
||||
Events/sec: 5257.51
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 188 MB
|
||||
Avg Latency: 1.463937ms
|
||||
P90 Latency: 2.911413ms
|
||||
P95 Latency: 3.595486ms
|
||||
P99 Latency: 9.347708ms
|
||||
Bottom 10% Avg Latency: 5.359325ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_khatru-badger_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_khatru-badger_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: khatru-badger
|
||||
RELAY_URL: ws://khatru-badger:3334
|
||||
TEST_TIMESTAMP: 2025-12-03T22:37:08+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
@@ -0,0 +1,201 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_khatru-sqlite_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764801029566947ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764801029567062ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764801029567087ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764801029567092ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764801029567102ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764801029567115ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764801029567122ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764801029567131ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764801029567137ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764801029567154ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764801029567160ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764801029567169ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764801029567174ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764801029567187ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764801029567192ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764801029567211ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764801029567217ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:30:29 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.852065909s
|
||||
Events/sec: 17531.15
|
||||
Avg latency: 1.233875ms
|
||||
P90 latency: 1.547505ms
|
||||
P95 latency: 1.713051ms
|
||||
P99 latency: 3.452631ms
|
||||
Bottom 10% Avg latency: 707.713µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 297.229736ms
|
||||
Burst completed: 5000 events in 291.618719ms
|
||||
Burst completed: 5000 events in 295.763107ms
|
||||
Burst completed: 5000 events in 320.083794ms
|
||||
Burst completed: 5000 events in 306.954958ms
|
||||
Burst completed: 5000 events in 294.350551ms
|
||||
Burst completed: 5000 events in 266.492151ms
|
||||
Burst completed: 5000 events in 258.415169ms
|
||||
Burst completed: 5000 events in 279.574451ms
|
||||
Burst completed: 5000 events in 274.042853ms
|
||||
Burst test completed: 50000 events in 7.891576755s, errors: 0
|
||||
Events/sec: 6335.87
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.900476855s
|
||||
Combined ops/sec: 2007.99
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 410621 queries in 1m0.004293618s
|
||||
Queries/sec: 6843.19
|
||||
Avg query latency: 2.208463ms
|
||||
P95 query latency: 8.264ms
|
||||
P99 query latency: 12.52398ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 308780 operations (258780 queries, 50000 writes) in 1m0.002949862s
|
||||
Operations/sec: 5146.08
|
||||
Avg latency: 1.517721ms
|
||||
Avg query latency: 1.590458ms
|
||||
Avg write latency: 1.141264ms
|
||||
P95 latency: 3.798681ms
|
||||
P99 latency: 9.90181ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.852065909s
|
||||
Total Events: 50000
|
||||
Events/sec: 17531.15
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 288 MB
|
||||
Avg Latency: 1.233875ms
|
||||
P90 Latency: 1.547505ms
|
||||
P95 Latency: 1.713051ms
|
||||
P99 Latency: 3.452631ms
|
||||
Bottom 10% Avg Latency: 707.713µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.891576755s
|
||||
Total Events: 50000
|
||||
Events/sec: 6335.87
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 282 MB
|
||||
Avg Latency: 1.239192ms
|
||||
P90 Latency: 1.634621ms
|
||||
P95 Latency: 1.880869ms
|
||||
P99 Latency: 3.451389ms
|
||||
Bottom 10% Avg Latency: 633.361µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.900476855s
|
||||
Total Events: 50000
|
||||
Events/sec: 2007.99
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 179 MB
|
||||
Avg Latency: 632.275µs
|
||||
P90 Latency: 820.942µs
|
||||
P95 Latency: 918.848µs
|
||||
P99 Latency: 1.159557ms
|
||||
Bottom 10% Avg Latency: 3.463779ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.004293618s
|
||||
Total Events: 410621
|
||||
Events/sec: 6843.19
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 183 MB
|
||||
Avg Latency: 2.208463ms
|
||||
P90 Latency: 6.696276ms
|
||||
P95 Latency: 8.264ms
|
||||
P99 Latency: 12.52398ms
|
||||
Bottom 10% Avg Latency: 9.093268ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.002949862s
|
||||
Total Events: 308780
|
||||
Events/sec: 5146.08
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 137 MB
|
||||
Avg Latency: 1.517721ms
|
||||
P90 Latency: 3.086927ms
|
||||
P95 Latency: 3.798681ms
|
||||
P99 Latency: 9.90181ms
|
||||
Bottom 10% Avg Latency: 5.471135ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_khatru-sqlite_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_khatru-sqlite_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: khatru-sqlite
|
||||
RELAY_URL: ws://khatru-sqlite:3334
|
||||
TEST_TIMESTAMP: 2025-12-03T22:33:46+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
@@ -0,0 +1,201 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_next-orly-badger_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764800626547123ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764800626547201ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764800626547221ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764800626547228ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764800626547238ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764800626547252ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764800626547257ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764800626547269ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764800626547275ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764800626547291ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764800626547296ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764800626547303ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764800626547308ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764800626547323ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764800626547329ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764800626547351ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764800626547357ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:23:46 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.779639238s
|
||||
Events/sec: 17987.95
|
||||
Avg latency: 1.16914ms
|
||||
P90 latency: 1.459324ms
|
||||
P95 latency: 1.605171ms
|
||||
P99 latency: 3.239809ms
|
||||
Bottom 10% Avg latency: 675.419µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 289.152592ms
|
||||
Burst completed: 5000 events in 284.512743ms
|
||||
Burst completed: 5000 events in 285.58317ms
|
||||
Burst completed: 5000 events in 283.486103ms
|
||||
Burst completed: 5000 events in 351.630471ms
|
||||
Burst completed: 5000 events in 410.422971ms
|
||||
Burst completed: 5000 events in 272.00462ms
|
||||
Burst completed: 5000 events in 258.981762ms
|
||||
Burst completed: 5000 events in 287.217917ms
|
||||
Burst completed: 5000 events in 274.519636ms
|
||||
Burst test completed: 50000 events in 8.004626821s, errors: 0
|
||||
Events/sec: 6246.39
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.365264731s
|
||||
Combined ops/sec: 2052.10
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 395932 queries in 1m0.004955045s
|
||||
Queries/sec: 6598.32
|
||||
Avg query latency: 2.330632ms
|
||||
P95 query latency: 8.751923ms
|
||||
P99 query latency: 13.223897ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 309032 operations (259032 queries, 50000 writes) in 1m0.003111764s
|
||||
Operations/sec: 5150.27
|
||||
Avg latency: 1.47962ms
|
||||
Avg query latency: 1.571532ms
|
||||
Avg write latency: 1.003456ms
|
||||
P95 latency: 3.833182ms
|
||||
P99 latency: 9.589651ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.779639238s
|
||||
Total Events: 50000
|
||||
Events/sec: 17987.95
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 217 MB
|
||||
Avg Latency: 1.16914ms
|
||||
P90 Latency: 1.459324ms
|
||||
P95 Latency: 1.605171ms
|
||||
P99 Latency: 3.239809ms
|
||||
Bottom 10% Avg Latency: 675.419µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 8.004626821s
|
||||
Total Events: 50000
|
||||
Events/sec: 6246.39
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 335 MB
|
||||
Avg Latency: 1.301155ms
|
||||
P90 Latency: 1.847122ms
|
||||
P95 Latency: 2.260728ms
|
||||
P99 Latency: 3.744669ms
|
||||
Bottom 10% Avg Latency: 634.48µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.365264731s
|
||||
Total Events: 50000
|
||||
Events/sec: 2052.10
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 167 MB
|
||||
Avg Latency: 386.252µs
|
||||
P90 Latency: 816.533µs
|
||||
P95 Latency: 911.513µs
|
||||
P99 Latency: 1.142853ms
|
||||
Bottom 10% Avg Latency: 1.03593ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.004955045s
|
||||
Total Events: 395932
|
||||
Events/sec: 6598.32
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 202 MB
|
||||
Avg Latency: 2.330632ms
|
||||
P90 Latency: 7.016915ms
|
||||
P95 Latency: 8.751923ms
|
||||
P99 Latency: 13.223897ms
|
||||
Bottom 10% Avg Latency: 9.659987ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.003111764s
|
||||
Total Events: 309032
|
||||
Events/sec: 5150.27
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 170 MB
|
||||
Avg Latency: 1.47962ms
|
||||
P90 Latency: 3.082944ms
|
||||
P95 Latency: 3.833182ms
|
||||
P99 Latency: 9.589651ms
|
||||
Bottom 10% Avg Latency: 5.322657ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_next-orly-badger_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_next-orly-badger_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: next-orly-badger
|
||||
RELAY_URL: ws://next-orly-badger:8080
|
||||
TEST_TIMESTAMP: 2025-12-03T22:27:02+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
@@ -0,0 +1,201 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_next-orly-neo4j_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764800827923617ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764800827923722ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764800827923845ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764800827923903ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764800827923913ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764800827923932ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764800827923938ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764800827923950ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764800827923957ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764800827923975ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764800827923981ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764800827923992ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764800827923997ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764800827924024ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764800827924030ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764800827924051ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764800827924056ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:27:07 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.867458976s
|
||||
Events/sec: 17437.04
|
||||
Avg latency: 1.250926ms
|
||||
P90 latency: 1.579234ms
|
||||
P95 latency: 1.757814ms
|
||||
P99 latency: 3.529624ms
|
||||
Bottom 10% Avg latency: 735.971µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 325.40241ms
|
||||
Burst completed: 5000 events in 303.100725ms
|
||||
Burst completed: 5000 events in 322.600483ms
|
||||
Burst completed: 5000 events in 368.813118ms
|
||||
Burst completed: 5000 events in 344.272535ms
|
||||
Burst completed: 5000 events in 313.590737ms
|
||||
Burst completed: 5000 events in 285.903125ms
|
||||
Burst completed: 5000 events in 371.578395ms
|
||||
Burst completed: 5000 events in 304.71264ms
|
||||
Burst completed: 5000 events in 303.146753ms
|
||||
Burst test completed: 50000 events in 8.249715579s, errors: 0
|
||||
Events/sec: 6060.82
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.349183827s
|
||||
Combined ops/sec: 2053.46
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 401050 queries in 1m0.005784437s
|
||||
Queries/sec: 6683.52
|
||||
Avg query latency: 2.274359ms
|
||||
P95 query latency: 8.507568ms
|
||||
P99 query latency: 12.862634ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 306446 operations (256446 queries, 50000 writes) in 1m0.003089159s
|
||||
Operations/sec: 5107.17
|
||||
Avg latency: 1.529829ms
|
||||
Avg query latency: 1.613393ms
|
||||
Avg write latency: 1.101234ms
|
||||
P95 latency: 3.928746ms
|
||||
P99 latency: 10.421101ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.867458976s
|
||||
Total Events: 50000
|
||||
Events/sec: 17437.04
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 210 MB
|
||||
Avg Latency: 1.250926ms
|
||||
P90 Latency: 1.579234ms
|
||||
P95 Latency: 1.757814ms
|
||||
P99 Latency: 3.529624ms
|
||||
Bottom 10% Avg Latency: 735.971µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 8.249715579s
|
||||
Total Events: 50000
|
||||
Events/sec: 6060.82
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 207 MB
|
||||
Avg Latency: 1.493295ms
|
||||
P90 Latency: 2.04999ms
|
||||
P95 Latency: 2.404304ms
|
||||
P99 Latency: 4.303908ms
|
||||
Bottom 10% Avg Latency: 768.239µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.349183827s
|
||||
Total Events: 50000
|
||||
Events/sec: 2053.46
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 176 MB
|
||||
Avg Latency: 379.443µs
|
||||
P90 Latency: 799.27µs
|
||||
P95 Latency: 896.796µs
|
||||
P99 Latency: 1.119981ms
|
||||
Bottom 10% Avg Latency: 1.022564ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.005784437s
|
||||
Total Events: 401050
|
||||
Events/sec: 6683.52
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 176 MB
|
||||
Avg Latency: 2.274359ms
|
||||
P90 Latency: 6.877657ms
|
||||
P95 Latency: 8.507568ms
|
||||
P99 Latency: 12.862634ms
|
||||
Bottom 10% Avg Latency: 9.365763ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.003089159s
|
||||
Total Events: 306446
|
||||
Events/sec: 5107.17
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 218 MB
|
||||
Avg Latency: 1.529829ms
|
||||
P90 Latency: 3.147159ms
|
||||
P95 Latency: 3.928746ms
|
||||
P99 Latency: 10.421101ms
|
||||
Bottom 10% Avg Latency: 5.559413ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_next-orly-neo4j_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_next-orly-neo4j_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: next-orly-neo4j
|
||||
RELAY_URL: ws://next-orly-neo4j:8080
|
||||
TEST_TIMESTAMP: 2025-12-03T22:30:24+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
@@ -0,0 +1,201 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_nostr-rs-relay_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764801836806913ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764801836806998ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764801836807017ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764801836807022ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764801836807029ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764801836807042ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764801836807046ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764801836807056ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764801836807061ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764801836807076ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764801836807081ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764801836807094ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764801836807124ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764801836807178ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764801836807185ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764801836807242ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764801836807283ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:43:56 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.911273959s
|
||||
Events/sec: 17174.61
|
||||
Avg latency: 1.281647ms
|
||||
P90 latency: 1.626819ms
|
||||
P95 latency: 1.836808ms
|
||||
P99 latency: 3.758588ms
|
||||
Bottom 10% Avg latency: 742.249µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 292.272251ms
|
||||
Burst completed: 5000 events in 287.701125ms
|
||||
Burst completed: 5000 events in 286.616429ms
|
||||
Burst completed: 5000 events in 293.830439ms
|
||||
Burst completed: 5000 events in 301.388252ms
|
||||
Burst completed: 5000 events in 287.188158ms
|
||||
Burst completed: 5000 events in 263.711266ms
|
||||
Burst completed: 5000 events in 318.616274ms
|
||||
Burst completed: 5000 events in 310.007309ms
|
||||
Burst completed: 5000 events in 273.375973ms
|
||||
Burst test completed: 50000 events in 7.922605603s, errors: 0
|
||||
Events/sec: 6311.06
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.449120282s
|
||||
Combined ops/sec: 2045.06
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 417600 queries in 1m0.004478253s
|
||||
Queries/sec: 6959.48
|
||||
Avg query latency: 2.151151ms
|
||||
P95 query latency: 8.027278ms
|
||||
P99 query latency: 12.154981ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 317282 operations (267282 queries, 50000 writes) in 1m0.002851777s
|
||||
Operations/sec: 5287.78
|
||||
Avg latency: 1.438019ms
|
||||
Avg query latency: 1.509815ms
|
||||
Avg write latency: 1.054223ms
|
||||
P95 latency: 3.604275ms
|
||||
P99 latency: 8.983541ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.911273959s
|
||||
Total Events: 50000
|
||||
Events/sec: 17174.61
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 127 MB
|
||||
Avg Latency: 1.281647ms
|
||||
P90 Latency: 1.626819ms
|
||||
P95 Latency: 1.836808ms
|
||||
P99 Latency: 3.758588ms
|
||||
Bottom 10% Avg Latency: 742.249µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.922605603s
|
||||
Total Events: 50000
|
||||
Events/sec: 6311.06
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 207 MB
|
||||
Avg Latency: 1.260479ms
|
||||
P90 Latency: 1.672696ms
|
||||
P95 Latency: 1.893887ms
|
||||
P99 Latency: 3.384445ms
|
||||
Bottom 10% Avg Latency: 627.786µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.449120282s
|
||||
Total Events: 50000
|
||||
Events/sec: 2045.06
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 160 MB
|
||||
Avg Latency: 393.867µs
|
||||
P90 Latency: 827.906µs
|
||||
P95 Latency: 922.647µs
|
||||
P99 Latency: 1.157515ms
|
||||
Bottom 10% Avg Latency: 1.038892ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.004478253s
|
||||
Total Events: 417600
|
||||
Events/sec: 6959.48
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 205 MB
|
||||
Avg Latency: 2.151151ms
|
||||
P90 Latency: 6.525088ms
|
||||
P95 Latency: 8.027278ms
|
||||
P99 Latency: 12.154981ms
|
||||
Bottom 10% Avg Latency: 8.836851ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.002851777s
|
||||
Total Events: 317282
|
||||
Events/sec: 5287.78
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 168 MB
|
||||
Avg Latency: 1.438019ms
|
||||
P90 Latency: 2.919631ms
|
||||
P95 Latency: 3.604275ms
|
||||
P99 Latency: 8.983541ms
|
||||
Bottom 10% Avg Latency: 5.142371ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_nostr-rs-relay_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_nostr-rs-relay_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: nostr-rs-relay
|
||||
RELAY_URL: ws://nostr-rs-relay:8080
|
||||
TEST_TIMESTAMP: 2025-12-03T22:47:13+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
@@ -0,0 +1,201 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_relayer-basic_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764801433220018ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764801433220118ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764801433220142ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764801433220148ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764801433220157ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764801433220179ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764801433220185ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764801433220202ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764801433220208ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764801433220225ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764801433220231ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764801433220263ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764801433220299ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764801433220355ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764801433220361ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764801433220380ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764801433220384ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:37:13 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.81575396s
|
||||
Events/sec: 17757.23
|
||||
Avg latency: 1.193531ms
|
||||
P90 latency: 1.503923ms
|
||||
P95 latency: 1.679267ms
|
||||
P99 latency: 3.258063ms
|
||||
Bottom 10% Avg latency: 679.232µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 282.513648ms
|
||||
Burst completed: 5000 events in 298.930177ms
|
||||
Burst completed: 5000 events in 368.119471ms
|
||||
Burst completed: 5000 events in 344.305787ms
|
||||
Burst completed: 5000 events in 299.829461ms
|
||||
Burst completed: 5000 events in 328.253293ms
|
||||
Burst completed: 5000 events in 268.415756ms
|
||||
Burst completed: 5000 events in 258.778746ms
|
||||
Burst completed: 5000 events in 281.496082ms
|
||||
Burst completed: 5000 events in 291.526061ms
|
||||
Burst test completed: 50000 events in 8.029129461s, errors: 0
|
||||
Events/sec: 6227.33
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.368434728s
|
||||
Combined ops/sec: 2051.83
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 399766 queries in 1m0.004004537s
|
||||
Queries/sec: 6662.32
|
||||
Avg query latency: 2.299802ms
|
||||
P95 query latency: 8.583876ms
|
||||
P99 query latency: 12.879727ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 319713 operations (269713 queries, 50000 writes) in 1m0.004382807s
|
||||
Operations/sec: 5328.16
|
||||
Avg latency: 1.408648ms
|
||||
Avg query latency: 1.486258ms
|
||||
Avg write latency: 990µs
|
||||
P95 latency: 3.553437ms
|
||||
P99 latency: 8.491811ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.81575396s
|
||||
Total Events: 50000
|
||||
Events/sec: 17757.23
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 279 MB
|
||||
Avg Latency: 1.193531ms
|
||||
P90 Latency: 1.503923ms
|
||||
P95 Latency: 1.679267ms
|
||||
P99 Latency: 3.258063ms
|
||||
Bottom 10% Avg Latency: 679.232µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 8.029129461s
|
||||
Total Events: 50000
|
||||
Events/sec: 6227.33
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 314 MB
|
||||
Avg Latency: 1.304ms
|
||||
P90 Latency: 1.833241ms
|
||||
P95 Latency: 2.155365ms
|
||||
P99 Latency: 3.621225ms
|
||||
Bottom 10% Avg Latency: 577.319µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.368434728s
|
||||
Total Events: 50000
|
||||
Events/sec: 2051.83
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 302 MB
|
||||
Avg Latency: 393.704µs
|
||||
P90 Latency: 831.964µs
|
||||
P95 Latency: 930.632µs
|
||||
P99 Latency: 1.162684ms
|
||||
Bottom 10% Avg Latency: 1.038382ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.004004537s
|
||||
Total Events: 399766
|
||||
Events/sec: 6662.32
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 154 MB
|
||||
Avg Latency: 2.299802ms
|
||||
P90 Latency: 6.959824ms
|
||||
P95 Latency: 8.583876ms
|
||||
P99 Latency: 12.879727ms
|
||||
Bottom 10% Avg Latency: 9.428864ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.004382807s
|
||||
Total Events: 319713
|
||||
Events/sec: 5328.16
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 181 MB
|
||||
Avg Latency: 1.408648ms
|
||||
P90 Latency: 2.876838ms
|
||||
P95 Latency: 3.553437ms
|
||||
P99 Latency: 8.491811ms
|
||||
Bottom 10% Avg Latency: 4.993856ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_relayer-basic_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_relayer-basic_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: relayer-basic
|
||||
RELAY_URL: ws://relayer-basic:7447
|
||||
TEST_TIMESTAMP: 2025-12-03T22:40:30+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
@@ -0,0 +1,202 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_rely-sqlite_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764800424570824ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764800424571528ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764800424571758ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764800424571773ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764800424571799ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764800424571834ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764800424571844ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764800424571863ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764800424571878ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764800424571916ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764800424571927ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764800424571949ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764800424571958ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764800424571993ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764800424572004ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764800424572070ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764800424572082ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:20:24 INFO: Extracted embedded libsecp256k1 to /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
2025/12/03 22:20:24 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.995055353s
|
||||
Events/sec: 16694.18
|
||||
Avg latency: 1.339216ms
|
||||
P90 latency: 1.68929ms
|
||||
P95 latency: 1.894111ms
|
||||
P99 latency: 3.956722ms
|
||||
Bottom 10% Avg latency: 779.552µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 287.657346ms
|
||||
Burst completed: 5000 events in 297.188663ms
|
||||
Burst completed: 5000 events in 367.265309ms
|
||||
Burst completed: 5000 events in 331.9274ms
|
||||
Burst completed: 5000 events in 304.066462ms
|
||||
Burst completed: 5000 events in 310.832609ms
|
||||
Burst completed: 5000 events in 268.076751ms
|
||||
Burst completed: 5000 events in 264.808751ms
|
||||
Burst completed: 5000 events in 267.153131ms
|
||||
Burst completed: 5000 events in 269.523097ms
|
||||
Burst test completed: 50000 events in 7.973932498s, errors: 0
|
||||
Events/sec: 6270.43
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.337287687s
|
||||
Combined ops/sec: 2054.46
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 406493 queries in 1m0.003860956s
|
||||
Queries/sec: 6774.45
|
||||
Avg query latency: 2.248129ms
|
||||
P95 query latency: 8.401333ms
|
||||
P99 query latency: 12.724368ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 318750 operations (268750 queries, 50000 writes) in 1m0.003885697s
|
||||
Operations/sec: 5312.16
|
||||
Avg latency: 1.416974ms
|
||||
Avg query latency: 1.494262ms
|
||||
Avg write latency: 1.001551ms
|
||||
P95 latency: 3.592498ms
|
||||
P99 latency: 8.935176ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.995055353s
|
||||
Total Events: 50000
|
||||
Events/sec: 16694.18
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 168 MB
|
||||
Avg Latency: 1.339216ms
|
||||
P90 Latency: 1.68929ms
|
||||
P95 Latency: 1.894111ms
|
||||
P99 Latency: 3.956722ms
|
||||
Bottom 10% Avg Latency: 779.552µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.973932498s
|
||||
Total Events: 50000
|
||||
Events/sec: 6270.43
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 200 MB
|
||||
Avg Latency: 1.281976ms
|
||||
P90 Latency: 1.779141ms
|
||||
P95 Latency: 2.087148ms
|
||||
P99 Latency: 3.70878ms
|
||||
Bottom 10% Avg Latency: 616.517µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.337287687s
|
||||
Total Events: 50000
|
||||
Events/sec: 2054.46
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 167 MB
|
||||
Avg Latency: 393.526µs
|
||||
P90 Latency: 818.886µs
|
||||
P95 Latency: 910.529µs
|
||||
P99 Latency: 1.137331ms
|
||||
Bottom 10% Avg Latency: 1.057702ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.003860956s
|
||||
Total Events: 406493
|
||||
Events/sec: 6774.45
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 218 MB
|
||||
Avg Latency: 2.248129ms
|
||||
P90 Latency: 6.801515ms
|
||||
P95 Latency: 8.401333ms
|
||||
P99 Latency: 12.724368ms
|
||||
Bottom 10% Avg Latency: 9.254973ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.003885697s
|
||||
Total Events: 318750
|
||||
Events/sec: 5312.16
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 145 MB
|
||||
Avg Latency: 1.416974ms
|
||||
P90 Latency: 2.911313ms
|
||||
P95 Latency: 3.592498ms
|
||||
P99 Latency: 8.935176ms
|
||||
Bottom 10% Avg Latency: 5.052685ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_rely-sqlite_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_rely-sqlite_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: rely-sqlite
|
||||
RELAY_URL: ws://rely-sqlite:3334
|
||||
TEST_TIMESTAMP: 2025-12-03T22:23:41+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
201
cmd/benchmark/reports/run_20251203_222024/strfry_results.txt
Normal file
201
cmd/benchmark/reports/run_20251203_222024/strfry_results.txt
Normal file
@@ -0,0 +1,201 @@
|
||||
Starting Nostr Relay Benchmark (Badger Backend)
|
||||
Data Directory: /tmp/benchmark_strfry_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1764801635484762ℹ️ migrating to version 1... /build/pkg/database/migrations.go:68
|
||||
1764801635484837ℹ️ migrating to version 2... /build/pkg/database/migrations.go:75
|
||||
1764801635484863ℹ️ migrating to version 3... /build/pkg/database/migrations.go:82
|
||||
1764801635484869ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:304
|
||||
1764801635484879ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:349
|
||||
1764801635484894ℹ️ migrating to version 4... /build/pkg/database/migrations.go:89
|
||||
1764801635484899ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:357
|
||||
1764801635484909ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:446
|
||||
1764801635484915ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:555
|
||||
1764801635484931ℹ️ migrating to version 5... /build/pkg/database/migrations.go:96
|
||||
1764801635484936ℹ️ re-encoding events with optimized tag binary format... /build/pkg/database/migrations.go:562
|
||||
1764801635484945ℹ️ found 0 events with e/p tags to re-encode /build/pkg/database/migrations.go:649
|
||||
1764801635484951ℹ️ no events need re-encoding /build/pkg/database/migrations.go:652
|
||||
1764801635484969ℹ️ migrating to version 6... /build/pkg/database/migrations.go:103
|
||||
1764801635484974ℹ️ converting events to compact serial-reference format... /build/pkg/database/migrations.go:706
|
||||
1764801635484993ℹ️ found 0 events to convert to compact format /build/pkg/database/migrations.go:846
|
||||
1764801635485001ℹ️ no events need conversion /build/pkg/database/migrations.go:849
|
||||
|
||||
╔════════════════════════════════════════════════════════╗
|
||||
║ BADGER BACKEND BENCHMARK SUITE ║
|
||||
╚════════════════════════════════════════════════════════╝
|
||||
|
||||
=== Starting Badger benchmark ===
|
||||
RunPeakThroughputTest (Badger)..
|
||||
|
||||
=== Peak Throughput Test ===
|
||||
2025/12/03 22:40:35 INFO: Successfully loaded embedded libsecp256k1 v5.0.0 from /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.809857459s
|
||||
Events/sec: 17794.50
|
||||
Avg latency: 1.192717ms
|
||||
P90 latency: 1.483896ms
|
||||
P95 latency: 1.645564ms
|
||||
P99 latency: 3.557014ms
|
||||
Bottom 10% Avg latency: 676.594µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 277.530017ms
|
||||
Burst completed: 5000 events in 298.041629ms
|
||||
Burst completed: 5000 events in 282.179602ms
|
||||
Burst completed: 5000 events in 291.10499ms
|
||||
Burst completed: 5000 events in 337.732105ms
|
||||
Burst completed: 5000 events in 419.28426ms
|
||||
Burst completed: 5000 events in 273.162241ms
|
||||
Burst completed: 5000 events in 266.443777ms
|
||||
Burst completed: 5000 events in 276.847799ms
|
||||
Burst completed: 5000 events in 268.986549ms
|
||||
Burst test completed: 50000 events in 7.997424399s, errors: 0
|
||||
Events/sec: 6252.01
|
||||
Wiping database between tests...
|
||||
RunMixedReadWriteTest (Badger)..
|
||||
|
||||
=== Mixed Read/Write Test ===
|
||||
Generating 1000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 1000 events:
|
||||
Average content size: 312 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database for read tests...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Mixed test completed: 25000 writes, 25000 reads in 24.336991819s
|
||||
Combined ops/sec: 2054.49
|
||||
Wiping database between tests...
|
||||
RunQueryTest (Badger)..
|
||||
|
||||
=== Query Test ===
|
||||
Generating 10000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 10000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 10000 events for query tests...
|
||||
Query test completed: 405590 queries in 1m0.005592222s
|
||||
Queries/sec: 6759.20
|
||||
Avg query latency: 2.253836ms
|
||||
P95 query latency: 8.385881ms
|
||||
P99 query latency: 12.734892ms
|
||||
Wiping database between tests...
|
||||
RunConcurrentQueryStoreTest (Badger)..
|
||||
|
||||
=== Concurrent Query/Store Test ===
|
||||
Generating 5000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 5000 events:
|
||||
Average content size: 313 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Pre-populating database with 5000 events for concurrent query/store test...
|
||||
Generating 50000 unique synthetic events (minimum 300 bytes each)...
|
||||
Generated 50000 events:
|
||||
Average content size: 314 bytes
|
||||
All events are unique (incremental timestamps)
|
||||
All events are properly signed
|
||||
|
||||
Concurrent test completed: 318685 operations (268685 queries, 50000 writes) in 1m0.004113189s
|
||||
Operations/sec: 5311.05
|
||||
Avg latency: 1.408868ms
|
||||
Avg query latency: 1.488688ms
|
||||
Avg write latency: 979.939µs
|
||||
P95 latency: 3.553949ms
|
||||
P99 latency: 8.372585ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.809857459s
|
||||
Total Events: 50000
|
||||
Events/sec: 17794.50
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 153 MB
|
||||
Avg Latency: 1.192717ms
|
||||
P90 Latency: 1.483896ms
|
||||
P95 Latency: 1.645564ms
|
||||
P99 Latency: 3.557014ms
|
||||
Bottom 10% Avg Latency: 676.594µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.997424399s
|
||||
Total Events: 50000
|
||||
Events/sec: 6252.01
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 285 MB
|
||||
Avg Latency: 1.270724ms
|
||||
P90 Latency: 1.812071ms
|
||||
P95 Latency: 2.251457ms
|
||||
P99 Latency: 3.733049ms
|
||||
Bottom 10% Avg Latency: 565.205µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.336991819s
|
||||
Total Events: 50000
|
||||
Events/sec: 2054.49
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 166 MB
|
||||
Avg Latency: 389.259µs
|
||||
P90 Latency: 819.049µs
|
||||
P95 Latency: 915.623µs
|
||||
P99 Latency: 1.128529ms
|
||||
Bottom 10% Avg Latency: 1.043578ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.005592222s
|
||||
Total Events: 405590
|
||||
Events/sec: 6759.20
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 211 MB
|
||||
Avg Latency: 2.253836ms
|
||||
P90 Latency: 6.794068ms
|
||||
P95 Latency: 8.385881ms
|
||||
P99 Latency: 12.734892ms
|
||||
Bottom 10% Avg Latency: 9.272721ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.004113189s
|
||||
Total Events: 318685
|
||||
Events/sec: 5311.05
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 234 MB
|
||||
Avg Latency: 1.408868ms
|
||||
P90 Latency: 2.883582ms
|
||||
P95 Latency: 3.553949ms
|
||||
P99 Latency: 8.372585ms
|
||||
Bottom 10% Avg Latency: 4.976512ms
|
||||
----------------------------------------
|
||||
|
||||
Report saved to: /tmp/benchmark_strfry_8/benchmark_report.txt
|
||||
AsciiDoc report saved to: /tmp/benchmark_strfry_8/benchmark_report.adoc
|
||||
|
||||
RELAY_NAME: strfry
|
||||
RELAY_URL: ws://strfry:8080
|
||||
TEST_TIMESTAMP: 2025-12-03T22:43:51+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
@@ -136,17 +136,17 @@ echo "Preparing data directories at ${DATA_BASE}..."
|
||||
|
||||
if [ "$USE_RAMDISK" = true ]; then
|
||||
# Create ramdisk directories
|
||||
mkdir -p "${DATA_BASE}"/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
chmod 777 "${DATA_BASE}"/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
mkdir -p "${DATA_BASE}"/{next-orly-badger,next-orly-neo4j,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
chmod 777 "${DATA_BASE}"/{next-orly-badger,next-orly-neo4j,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
else
|
||||
# Create disk directories (relative path)
|
||||
mkdir -p data/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
chmod 777 data/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
mkdir -p data/{next-orly-badger,next-orly-neo4j,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
chmod 777 data/{next-orly-badger,next-orly-neo4j,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
|
||||
fi
|
||||
|
||||
echo "Building fresh Docker images..."
|
||||
# Force rebuild to pick up latest code changes
|
||||
$DOCKER_COMPOSE $COMPOSE_FILES build --no-cache benchmark-runner next-orly-badger next-orly-dgraph next-orly-neo4j rely-sqlite
|
||||
$DOCKER_COMPOSE $COMPOSE_FILES build --no-cache benchmark-runner next-orly-badger next-orly-neo4j rely-sqlite
|
||||
|
||||
echo ""
|
||||
echo "Starting benchmark suite..."
|
||||
|
||||
Reference in New Issue
Block a user