add rely-sqlite to benchmark
Some checks failed
Go / build-and-release (push) Has been cancelled

This commit is contained in:
2025-11-20 20:55:37 +00:00
parent 00a6a78a41
commit 55add34ac1
54 changed files with 5519 additions and 4442 deletions

View File

@@ -0,0 +1,176 @@
================================================================
NOSTR RELAY BENCHMARK AGGREGATE REPORT
================================================================
Generated: 2025-11-20T15:53:41+00:00
Benchmark Configuration:
Events per test: 50000
Concurrent workers: 24
Test duration: 60s
Relays tested: 8
================================================================
SUMMARY BY RELAY
================================================================
Relay: next-orly-badger
----------------------------------------
Status: COMPLETED
Events/sec: 17836.33
Events/sec: 6340.29
Events/sec: 17836.33
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.176626ms
Bottom 10% Avg Latency: 659.571µs
Avg Latency: 1.150109ms
P95 Latency: 1.79182ms
P95 Latency: 1.87572ms
P95 Latency: 870.11µs
Relay: next-orly-dgraph
----------------------------------------
Status: COMPLETED
Events/sec: 16687.23
Events/sec: 6230.59
Events/sec: 16687.23
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.299973ms
Bottom 10% Avg Latency: 703.285µs
Avg Latency: 1.216351ms
P95 Latency: 2.203343ms
P95 Latency: 2.205777ms
P95 Latency: 869.669µs
Relay: next-orly-neo4j
----------------------------------------
Status: COMPLETED
Events/sec: 17497.93
Events/sec: 6254.20
Events/sec: 17497.93
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.220061ms
Bottom 10% Avg Latency: 689.107µs
Avg Latency: 1.207729ms
P95 Latency: 1.873592ms
P95 Latency: 2.026464ms
P95 Latency: 860.711µs
Relay: khatru-sqlite
----------------------------------------
Status: COMPLETED
Events/sec: 15692.37
Events/sec: 6031.64
Events/sec: 15692.37
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.434878ms
Bottom 10% Avg Latency: 773.12µs
Avg Latency: 1.438112ms
P95 Latency: 2.364988ms
P95 Latency: 2.530373ms
P95 Latency: 869.767µs
Relay: khatru-badger
----------------------------------------
Status: COMPLETED
Events/sec: 15459.86
Events/sec: 6208.94
Events/sec: 15459.86
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.468719ms
Bottom 10% Avg Latency: 802.399µs
Avg Latency: 1.250479ms
P95 Latency: 2.396216ms
P95 Latency: 2.142422ms
P95 Latency: 869.166µs
Relay: relayer-basic
----------------------------------------
Status: COMPLETED
Events/sec: 15191.51
Events/sec: 6144.49
Events/sec: 15191.51
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.494499ms
Bottom 10% Avg Latency: 790.923µs
Avg Latency: 1.322915ms
P95 Latency: 2.461731ms
P95 Latency: 2.255818ms
P95 Latency: 888.112µs
Relay: strfry
----------------------------------------
Status: COMPLETED
Events/sec: 16583.98
Events/sec: 5979.92
Events/sec: 16583.98
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.325163ms
Bottom 10% Avg Latency: 732.389µs
Avg Latency: 1.467778ms
P95 Latency: 2.114188ms
P95 Latency: 2.793392ms
P95 Latency: 878.634µs
Relay: nostr-rs-relay
----------------------------------------
Status: COMPLETED
Events/sec: 15250.43
Events/sec: 6286.54
Events/sec: 15250.43
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.477342ms
Bottom 10% Avg Latency: 760.393µs
Avg Latency: 1.167307ms
P95 Latency: 2.527756ms
P95 Latency: 2.003086ms
P95 Latency: 868.365µs
================================================================
DETAILED RESULTS
================================================================
Individual relay reports are available in:
- /reports/run_20251120_152640/khatru-badger_results.txt
- /reports/run_20251120_152640/khatru-sqlite_results.txt
- /reports/run_20251120_152640/next-orly-badger_results.txt
- /reports/run_20251120_152640/next-orly-dgraph_results.txt
- /reports/run_20251120_152640/next-orly-neo4j_results.txt
- /reports/run_20251120_152640/nostr-rs-relay_results.txt
- /reports/run_20251120_152640/relayer-basic_results.txt
- /reports/run_20251120_152640/strfry_results.txt
================================================================
BENCHMARK COMPARISON TABLE
================================================================
Relay Status Peak Tput/s Avg Latency Success Rate
---- ------ ----------- ----------- ------------
next-orly-badger OK 17836.33 1.176626ms 100.0%
next-orly-dgraph OK 16687.23 1.299973ms 100.0%
next-orly-neo4j OK 17497.93 1.220061ms 100.0%
khatru-sqlite OK 15692.37 1.434878ms 100.0%
khatru-badger OK 15459.86 1.468719ms 100.0%
relayer-basic OK 15191.51 1.494499ms 100.0%
strfry OK 16583.98 1.325163ms 100.0%
nostr-rs-relay OK 15250.43 1.477342ms 100.0%
================================================================
End of Report
================================================================

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_khatru-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
1763653210711898 migrating to version 1... /build/pkg/database/migrations.go:66
1763653210711967 migrating to version 2... /build/pkg/database/migrations.go:73
1763653210712038 migrating to version 3... /build/pkg/database/migrations.go:80
1763653210712063 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653210712074 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653210712096 migrating to version 4... /build/pkg/database/migrations.go:87
1763653210712103 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653210712120 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653210712127 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:40:10 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:40:10 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.234182899s
Events/sec: 15459.86
Avg latency: 1.468719ms
P90 latency: 2.038084ms
P95 latency: 2.396216ms
P99 latency: 3.603968ms
Bottom 10% Avg latency: 802.399µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 297.444884ms
Burst completed: 5000 events in 304.488265ms
Burst completed: 5000 events in 279.56963ms
Burst completed: 5000 events in 292.82573ms
Burst completed: 5000 events in 272.991435ms
Burst completed: 5000 events in 326.534775ms
Burst completed: 5000 events in 384.727815ms
Burst completed: 5000 events in 311.186457ms
Burst completed: 5000 events in 290.311066ms
Burst completed: 5000 events in 285.474791ms
Burst test completed: 50000 events in 8.052899517s, errors: 0
Events/sec: 6208.94
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.439450917s
Combined ops/sec: 2045.87
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: 408824 queries in 1m0.004827316s
Queries/sec: 6813.19
Avg query latency: 1.638338ms
P95 query latency: 6.383173ms
P99 query latency: 10.185929ms
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: 320420 operations (270420 queries, 50000 writes) in 1m0.003847155s
Operations/sec: 5339.99
Avg latency: 1.440536ms
Avg query latency: 1.415027ms
Avg write latency: 1.578501ms
P95 latency: 3.603977ms
P99 latency: 6.070557ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.234182899s
Total Events: 50000
Events/sec: 15459.86
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 123 MB
Avg Latency: 1.468719ms
P90 Latency: 2.038084ms
P95 Latency: 2.396216ms
P99 Latency: 3.603968ms
Bottom 10% Avg Latency: 802.399µs
----------------------------------------
Test: Burst Pattern
Duration: 8.052899517s
Total Events: 50000
Events/sec: 6208.94
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.250479ms
P90 Latency: 1.830558ms
P95 Latency: 2.142422ms
P99 Latency: 3.076824ms
Bottom 10% Avg Latency: 472.17µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.439450917s
Total Events: 50000
Events/sec: 2045.87
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 185 MB
Avg Latency: 370.175µs
P90 Latency: 782.31µs
P95 Latency: 869.166µs
P99 Latency: 1.071331ms
Bottom 10% Avg Latency: 972.715µs
----------------------------------------
Test: Query Performance
Duration: 1m0.004827316s
Total Events: 408824
Events/sec: 6813.19
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 141 MB
Avg Latency: 1.638338ms
P90 Latency: 4.846916ms
P95 Latency: 6.383173ms
P99 Latency: 10.185929ms
Bottom 10% Avg Latency: 7.156294ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003847155s
Total Events: 320420
Events/sec: 5339.99
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 161 MB
Avg Latency: 1.440536ms
P90 Latency: 2.837567ms
P95 Latency: 3.603977ms
P99 Latency: 6.070557ms
Bottom 10% Avg Latency: 4.284959ms
----------------------------------------
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-11-20T15:43:28+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_khatru-sqlite_8
Events: 50000, Workers: 24, Duration: 1m0s
1763653007553371 migrating to version 1... /build/pkg/database/migrations.go:66
1763653007553443 migrating to version 2... /build/pkg/database/migrations.go:73
1763653007553473 migrating to version 3... /build/pkg/database/migrations.go:80
1763653007553480 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653007553488 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653007553504 migrating to version 4... /build/pkg/database/migrations.go:87
1763653007553510 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653007553522 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653007553530 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:36:47 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:36:47 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.186261331s
Events/sec: 15692.37
Avg latency: 1.434878ms
P90 latency: 1.984672ms
P95 latency: 2.364988ms
P99 latency: 3.569955ms
Bottom 10% Avg latency: 773.12µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 344.43488ms
Burst completed: 5000 events in 426.471328ms
Burst completed: 5000 events in 310.728105ms
Burst completed: 5000 events in 315.740557ms
Burst completed: 5000 events in 293.680822ms
Burst completed: 5000 events in 343.519782ms
Burst completed: 5000 events in 375.877865ms
Burst completed: 5000 events in 294.27327ms
Burst completed: 5000 events in 302.082884ms
Burst completed: 5000 events in 275.303333ms
Burst test completed: 50000 events in 8.289618326s, errors: 0
Events/sec: 6031.64
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.589006764s
Combined ops/sec: 2033.43
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: 386321 queries in 1m0.004857306s
Queries/sec: 6438.16
Avg query latency: 1.735172ms
P95 query latency: 7.105431ms
P99 query latency: 11.143036ms
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: 307546 operations (257546 queries, 50000 writes) in 1m0.004391663s
Operations/sec: 5125.39
Avg latency: 1.529592ms
Avg query latency: 1.500743ms
Avg write latency: 1.678192ms
P95 latency: 3.924759ms
P99 latency: 6.521318ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.186261331s
Total Events: 50000
Events/sec: 15692.37
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.434878ms
P90 Latency: 1.984672ms
P95 Latency: 2.364988ms
P99 Latency: 3.569955ms
Bottom 10% Avg Latency: 773.12µs
----------------------------------------
Test: Burst Pattern
Duration: 8.289618326s
Total Events: 50000
Events/sec: 6031.64
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.438112ms
P90 Latency: 2.076818ms
P95 Latency: 2.530373ms
P99 Latency: 4.989991ms
Bottom 10% Avg Latency: 568.599µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.589006764s
Total Events: 50000
Events/sec: 2033.43
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 200 MB
Avg Latency: 375.193µs
P90 Latency: 783.333µs
P95 Latency: 869.767µs
P99 Latency: 1.066383ms
Bottom 10% Avg Latency: 1.013439ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004857306s
Total Events: 386321
Events/sec: 6438.16
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 127 MB
Avg Latency: 1.735172ms
P90 Latency: 5.2786ms
P95 Latency: 7.105431ms
P99 Latency: 11.143036ms
Bottom 10% Avg Latency: 7.866786ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.004391663s
Total Events: 307546
Events/sec: 5125.39
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 99 MB
Avg Latency: 1.529592ms
P90 Latency: 3.079278ms
P95 Latency: 3.924759ms
P99 Latency: 6.521318ms
Bottom 10% Avg Latency: 4.582225ms
----------------------------------------
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-11-20T15:40:05+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,195 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
1763652400623108 migrating to version 1... /build/pkg/database/migrations.go:66
1763652400623175 migrating to version 2... /build/pkg/database/migrations.go:73
1763652400623195 migrating to version 3... /build/pkg/database/migrations.go:80
1763652400623201 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763652400623212 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763652400623230 migrating to version 4... /build/pkg/database/migrations.go:87
1763652400623235 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763652400623247 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763652400623253 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:26:40 INFO: Extracted embedded libsecp256k1 to /tmp/orly-libsecp256k1/libsecp256k1.so
2025/11/20 15:26:40 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:26:40 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.803267086s
Events/sec: 17836.33
Avg latency: 1.176626ms
P90 latency: 1.565758ms
P95 latency: 1.79182ms
P99 latency: 2.567671ms
Bottom 10% Avg latency: 659.571µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 273.688446ms
Burst completed: 5000 events in 302.646243ms
Burst completed: 5000 events in 288.036597ms
Burst completed: 5000 events in 307.50298ms
Burst completed: 5000 events in 274.641308ms
Burst completed: 5000 events in 333.250889ms
Burst completed: 5000 events in 290.803893ms
Burst completed: 5000 events in 266.599814ms
Burst completed: 5000 events in 274.663293ms
Burst completed: 5000 events in 268.549794ms
Burst test completed: 50000 events in 7.886078444s, errors: 0
Events/sec: 6340.29
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.493227686s
Combined ops/sec: 2041.38
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: 413626 queries in 1m0.007599287s
Queries/sec: 6892.89
Avg query latency: 1.605375ms
P95 query latency: 6.217976ms
P99 query latency: 9.897364ms
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: 323564 operations (273564 queries, 50000 writes) in 1m0.003158101s
Operations/sec: 5392.45
Avg latency: 1.423293ms
Avg query latency: 1.394356ms
Avg write latency: 1.581619ms
P95 latency: 3.549982ms
P99 latency: 5.600343ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.803267086s
Total Events: 50000
Events/sec: 17836.33
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 170 MB
Avg Latency: 1.176626ms
P90 Latency: 1.565758ms
P95 Latency: 1.79182ms
P99 Latency: 2.567671ms
Bottom 10% Avg Latency: 659.571µs
----------------------------------------
Test: Burst Pattern
Duration: 7.886078444s
Total Events: 50000
Events/sec: 6340.29
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 209 MB
Avg Latency: 1.150109ms
P90 Latency: 1.62389ms
P95 Latency: 1.87572ms
P99 Latency: 2.697118ms
Bottom 10% Avg Latency: 460.59µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.493227686s
Total Events: 50000
Events/sec: 2041.38
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 214 MB
Avg Latency: 373.118µs
P90 Latency: 783.686µs
P95 Latency: 870.11µs
P99 Latency: 1.06392ms
Bottom 10% Avg Latency: 989.173µs
----------------------------------------
Test: Query Performance
Duration: 1m0.007599287s
Total Events: 413626
Events/sec: 6892.89
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 101 MB
Avg Latency: 1.605375ms
P90 Latency: 4.744413ms
P95 Latency: 6.217976ms
P99 Latency: 9.897364ms
Bottom 10% Avg Latency: 6.953348ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003158101s
Total Events: 323564
Events/sec: 5392.45
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 106 MB
Avg Latency: 1.423293ms
P90 Latency: 2.81525ms
P95 Latency: 3.549982ms
P99 Latency: 5.600343ms
Bottom 10% Avg Latency: 4.011381ms
----------------------------------------
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-11-20T15:29:57+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-dgraph_8
Events: 50000, Workers: 24, Duration: 1m0s
1763652602763705 migrating to version 1... /build/pkg/database/migrations.go:66
1763652602763773 migrating to version 2... /build/pkg/database/migrations.go:73
1763652602763796 migrating to version 3... /build/pkg/database/migrations.go:80
1763652602763801 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763652602763811 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763652602763824 migrating to version 4... /build/pkg/database/migrations.go:87
1763652602763828 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763652602763841 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763652602763847 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:30:02 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:30:02 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.996302267s
Events/sec: 16687.23
Avg latency: 1.299973ms
P90 latency: 1.872602ms
P95 latency: 2.203343ms
P99 latency: 3.221304ms
Bottom 10% Avg latency: 703.285µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 279.514933ms
Burst completed: 5000 events in 333.416463ms
Burst completed: 5000 events in 377.803965ms
Burst completed: 5000 events in 313.958626ms
Burst completed: 5000 events in 288.237124ms
Burst completed: 5000 events in 336.526138ms
Burst completed: 5000 events in 278.656719ms
Burst completed: 5000 events in 270.704289ms
Burst completed: 5000 events in 268.660351ms
Burst completed: 5000 events in 270.785192ms
Burst test completed: 50000 events in 8.024923997s, errors: 0
Events/sec: 6230.59
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.485015769s
Combined ops/sec: 2042.07
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: 414358 queries in 1m0.005939033s
Queries/sec: 6905.28
Avg query latency: 1.609497ms
P95 query latency: 6.244748ms
P99 query latency: 9.843682ms
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: 324836 operations (274836 queries, 50000 writes) in 1m0.003111101s
Operations/sec: 5413.65
Avg latency: 1.384161ms
Avg query latency: 1.372926ms
Avg write latency: 1.445917ms
P95 latency: 3.428577ms
P99 latency: 5.394055ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.996302267s
Total Events: 50000
Events/sec: 16687.23
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 144 MB
Avg Latency: 1.299973ms
P90 Latency: 1.872602ms
P95 Latency: 2.203343ms
P99 Latency: 3.221304ms
Bottom 10% Avg Latency: 703.285µs
----------------------------------------
Test: Burst Pattern
Duration: 8.024923997s
Total Events: 50000
Events/sec: 6230.59
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.216351ms
P90 Latency: 1.87152ms
P95 Latency: 2.205777ms
P99 Latency: 3.125661ms
Bottom 10% Avg Latency: 457.327µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.485015769s
Total Events: 50000
Events/sec: 2042.07
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 173 MB
Avg Latency: 374.953µs
P90 Latency: 783.735µs
P95 Latency: 869.669µs
P99 Latency: 1.048389ms
Bottom 10% Avg Latency: 1.004367ms
----------------------------------------
Test: Query Performance
Duration: 1m0.005939033s
Total Events: 414358
Events/sec: 6905.28
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 123 MB
Avg Latency: 1.609497ms
P90 Latency: 4.777632ms
P95 Latency: 6.244748ms
P99 Latency: 9.843682ms
Bottom 10% Avg Latency: 6.949572ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003111101s
Total Events: 324836
Events/sec: 5413.65
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 153 MB
Avg Latency: 1.384161ms
P90 Latency: 2.768438ms
P95 Latency: 3.428577ms
P99 Latency: 5.394055ms
Bottom 10% Avg Latency: 3.893148ms
----------------------------------------
Report saved to: /tmp/benchmark_next-orly-dgraph_8/benchmark_report.txt
AsciiDoc report saved to: /tmp/benchmark_next-orly-dgraph_8/benchmark_report.adoc
RELAY_NAME: next-orly-dgraph
RELAY_URL: ws://next-orly-dgraph:8080
TEST_TIMESTAMP: 2025-11-20T15:33:20+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-neo4j_8
Events: 50000, Workers: 24, Duration: 1m0s
1763652805203358 migrating to version 1... /build/pkg/database/migrations.go:66
1763652805203420 migrating to version 2... /build/pkg/database/migrations.go:73
1763652805203442 migrating to version 3... /build/pkg/database/migrations.go:80
1763652805203447 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763652805203457 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763652805203478 migrating to version 4... /build/pkg/database/migrations.go:87
1763652805203483 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763652805203495 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763652805203501 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:33:25 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:33:25 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.857480805s
Events/sec: 17497.93
Avg latency: 1.220061ms
P90 latency: 1.596304ms
P95 latency: 1.873592ms
P99 latency: 2.782174ms
Bottom 10% Avg latency: 689.107µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 281.99337ms
Burst completed: 5000 events in 295.005478ms
Burst completed: 5000 events in 269.052958ms
Burst completed: 5000 events in 354.874939ms
Burst completed: 5000 events in 272.895272ms
Burst completed: 5000 events in 323.411741ms
Burst completed: 5000 events in 292.611169ms
Burst completed: 5000 events in 302.127762ms
Burst completed: 5000 events in 319.054762ms
Burst completed: 5000 events in 278.810535ms
Burst test completed: 50000 events in 7.994629013s, errors: 0
Events/sec: 6254.20
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.55551402s
Combined ops/sec: 2036.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: 409386 queries in 1m0.004731834s
Queries/sec: 6822.56
Avg query latency: 1.626092ms
P95 query latency: 6.350996ms
P99 query latency: 10.054136ms
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: 323034 operations (273034 queries, 50000 writes) in 1m0.00211611s
Operations/sec: 5383.71
Avg latency: 1.425098ms
Avg query latency: 1.396374ms
Avg write latency: 1.58195ms
P95 latency: 3.545999ms
P99 latency: 6.036557ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.857480805s
Total Events: 50000
Events/sec: 17497.93
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 146 MB
Avg Latency: 1.220061ms
P90 Latency: 1.596304ms
P95 Latency: 1.873592ms
P99 Latency: 2.782174ms
Bottom 10% Avg Latency: 689.107µs
----------------------------------------
Test: Burst Pattern
Duration: 7.994629013s
Total Events: 50000
Events/sec: 6254.20
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 252 MB
Avg Latency: 1.207729ms
P90 Latency: 1.708517ms
P95 Latency: 2.026464ms
P99 Latency: 3.279542ms
Bottom 10% Avg Latency: 485.191µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.55551402s
Total Events: 50000
Events/sec: 2036.20
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 136 MB
Avg Latency: 373.684µs
P90 Latency: 776.891µs
P95 Latency: 860.711µs
P99 Latency: 1.061864ms
Bottom 10% Avg Latency: 1.011492ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004731834s
Total Events: 409386
Events/sec: 6822.56
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 116 MB
Avg Latency: 1.626092ms
P90 Latency: 4.833133ms
P95 Latency: 6.350996ms
P99 Latency: 10.054136ms
Bottom 10% Avg Latency: 7.107595ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.00211611s
Total Events: 323034
Events/sec: 5383.71
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 90 MB
Avg Latency: 1.425098ms
P90 Latency: 2.805728ms
P95 Latency: 3.545999ms
P99 Latency: 6.036557ms
Bottom 10% Avg Latency: 4.162695ms
----------------------------------------
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-11-20T15:36:42+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_nostr-rs-relay_8
Events: 50000, Workers: 24, Duration: 1m0s
1763653819215784 migrating to version 1... /build/pkg/database/migrations.go:66
1763653819215858 migrating to version 2... /build/pkg/database/migrations.go:73
1763653819215881 migrating to version 3... /build/pkg/database/migrations.go:80
1763653819215886 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653819215898 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653819215918 migrating to version 4... /build/pkg/database/migrations.go:87
1763653819215925 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653819215941 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653819215947 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:50:19 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:50:19 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.278596732s
Events/sec: 15250.43
Avg latency: 1.477342ms
P90 latency: 2.162459ms
P95 latency: 2.527756ms
P99 latency: 3.539613ms
Bottom 10% Avg latency: 760.393µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 347.551003ms
Burst completed: 5000 events in 310.553942ms
Burst completed: 5000 events in 274.417201ms
Burst completed: 5000 events in 290.829667ms
Burst completed: 5000 events in 269.849068ms
Burst completed: 5000 events in 319.02529ms
Burst completed: 5000 events in 298.378337ms
Burst completed: 5000 events in 283.345709ms
Burst completed: 5000 events in 276.76346ms
Burst completed: 5000 events in 276.349452ms
Burst test completed: 50000 events in 7.9534977s, errors: 0
Events/sec: 6286.54
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.492844824s
Combined ops/sec: 2041.41
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: 387418 queries in 1m0.003606821s
Queries/sec: 6456.58
Avg query latency: 1.742021ms
P95 query latency: 7.039881ms
P99 query latency: 11.419213ms
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: 319676 operations (269676 queries, 50000 writes) in 1m0.002980175s
Operations/sec: 5327.67
Avg latency: 1.420802ms
Avg query latency: 1.406877ms
Avg write latency: 1.495907ms
P95 latency: 3.581021ms
P99 latency: 5.785351ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.278596732s
Total Events: 50000
Events/sec: 15250.43
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 137 MB
Avg Latency: 1.477342ms
P90 Latency: 2.162459ms
P95 Latency: 2.527756ms
P99 Latency: 3.539613ms
Bottom 10% Avg Latency: 760.393µs
----------------------------------------
Test: Burst Pattern
Duration: 7.9534977s
Total Events: 50000
Events/sec: 6286.54
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 204 MB
Avg Latency: 1.167307ms
P90 Latency: 1.706552ms
P95 Latency: 2.003086ms
P99 Latency: 2.859297ms
Bottom 10% Avg Latency: 438.858µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.492844824s
Total Events: 50000
Events/sec: 2041.41
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 178 MB
Avg Latency: 377.851µs
P90 Latency: 785.336µs
P95 Latency: 868.365µs
P99 Latency: 1.068355ms
Bottom 10% Avg Latency: 1.036749ms
----------------------------------------
Test: Query Performance
Duration: 1m0.003606821s
Total Events: 387418
Events/sec: 6456.58
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 125 MB
Avg Latency: 1.742021ms
P90 Latency: 5.212981ms
P95 Latency: 7.039881ms
P99 Latency: 11.419213ms
Bottom 10% Avg Latency: 7.926637ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002980175s
Total Events: 319676
Events/sec: 5327.67
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 136 MB
Avg Latency: 1.420802ms
P90 Latency: 2.833978ms
P95 Latency: 3.581021ms
P99 Latency: 5.785351ms
Bottom 10% Avg Latency: 4.147653ms
----------------------------------------
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-11-20T15:53:36+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_relayer-basic_8
Events: 50000, Workers: 24, Duration: 1m0s
1763653413403632 migrating to version 1... /build/pkg/database/migrations.go:66
1763653413403714 migrating to version 2... /build/pkg/database/migrations.go:73
1763653413403774 migrating to version 3... /build/pkg/database/migrations.go:80
1763653413403787 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653413403798 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653413403814 migrating to version 4... /build/pkg/database/migrations.go:87
1763653413403819 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653413403829 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653413403835 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:43:33 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:43:33 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.291311068s
Events/sec: 15191.51
Avg latency: 1.494499ms
P90 latency: 2.107626ms
P95 latency: 2.461731ms
P99 latency: 3.662388ms
Bottom 10% Avg latency: 790.923µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 344.087556ms
Burst completed: 5000 events in 311.578355ms
Burst completed: 5000 events in 276.67865ms
Burst completed: 5000 events in 295.952793ms
Burst completed: 5000 events in 314.347861ms
Burst completed: 5000 events in 365.599791ms
Burst completed: 5000 events in 312.086332ms
Burst completed: 5000 events in 299.872209ms
Burst completed: 5000 events in 328.254546ms
Burst completed: 5000 events in 283.179754ms
Burst test completed: 50000 events in 8.137375007s, errors: 0
Events/sec: 6144.49
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.527874554s
Combined ops/sec: 2038.50
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: 404814 queries in 1m0.005258143s
Queries/sec: 6746.31
Avg query latency: 1.649233ms
P95 query latency: 6.427316ms
P99 query latency: 10.348647ms
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: 321308 operations (271308 queries, 50000 writes) in 1m0.002966019s
Operations/sec: 5354.87
Avg latency: 1.426015ms
Avg query latency: 1.403835ms
Avg write latency: 1.546366ms
P95 latency: 3.544854ms
P99 latency: 5.812454ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.291311068s
Total Events: 50000
Events/sec: 15191.51
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 96 MB
Avg Latency: 1.494499ms
P90 Latency: 2.107626ms
P95 Latency: 2.461731ms
P99 Latency: 3.662388ms
Bottom 10% Avg Latency: 790.923µs
----------------------------------------
Test: Burst Pattern
Duration: 8.137375007s
Total Events: 50000
Events/sec: 6144.49
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 204 MB
Avg Latency: 1.322915ms
P90 Latency: 1.930428ms
P95 Latency: 2.255818ms
P99 Latency: 3.262786ms
Bottom 10% Avg Latency: 503.483µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.527874554s
Total Events: 50000
Events/sec: 2038.50
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 132 MB
Avg Latency: 383.613µs
P90 Latency: 799.103µs
P95 Latency: 888.112µs
P99 Latency: 1.115605ms
Bottom 10% Avg Latency: 1.022007ms
----------------------------------------
Test: Query Performance
Duration: 1m0.005258143s
Total Events: 404814
Events/sec: 6746.31
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 125 MB
Avg Latency: 1.649233ms
P90 Latency: 4.874718ms
P95 Latency: 6.427316ms
P99 Latency: 10.348647ms
Bottom 10% Avg Latency: 7.248468ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002966019s
Total Events: 321308
Events/sec: 5354.87
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 89 MB
Avg Latency: 1.426015ms
P90 Latency: 2.835111ms
P95 Latency: 3.544854ms
P99 Latency: 5.812454ms
Bottom 10% Avg Latency: 4.119764ms
----------------------------------------
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-11-20T15:46:51+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_strfry_8
Events: 50000, Workers: 24, Duration: 1m0s
1763653616411609 migrating to version 1... /build/pkg/database/migrations.go:66
1763653616411669 migrating to version 2... /build/pkg/database/migrations.go:73
1763653616411689 migrating to version 3... /build/pkg/database/migrations.go:80
1763653616411694 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653616411704 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653616411716 migrating to version 4... /build/pkg/database/migrations.go:87
1763653616411721 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653616411737 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653616411743 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:46:56 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:46:56 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.014958576s
Events/sec: 16583.98
Avg latency: 1.325163ms
P90 latency: 1.786363ms
P95 latency: 2.114188ms
P99 latency: 3.49584ms
Bottom 10% Avg latency: 732.389µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 278.298939ms
Burst completed: 5000 events in 313.522394ms
Burst completed: 5000 events in 294.043544ms
Burst completed: 5000 events in 309.8617ms
Burst completed: 5000 events in 328.19151ms
Burst completed: 5000 events in 383.407013ms
Burst completed: 5000 events in 529.340096ms
Burst completed: 5000 events in 322.571733ms
Burst completed: 5000 events in 303.970105ms
Burst completed: 5000 events in 289.891623ms
Burst test completed: 50000 events in 8.361315231s, errors: 0
Events/sec: 5979.92
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.466759982s
Combined ops/sec: 2043.59
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: 387526 queries in 1m0.00778943s
Queries/sec: 6457.93
Avg query latency: 1.741809ms
P95 query latency: 6.972503ms
P99 query latency: 11.293675ms
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: 323401 operations (273401 queries, 50000 writes) in 1m0.003665569s
Operations/sec: 5389.69
Avg latency: 1.417249ms
Avg query latency: 1.392804ms
Avg write latency: 1.550915ms
P95 latency: 3.520567ms
P99 latency: 5.657268ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.014958576s
Total Events: 50000
Events/sec: 16583.98
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 167 MB
Avg Latency: 1.325163ms
P90 Latency: 1.786363ms
P95 Latency: 2.114188ms
P99 Latency: 3.49584ms
Bottom 10% Avg Latency: 732.389µs
----------------------------------------
Test: Burst Pattern
Duration: 8.361315231s
Total Events: 50000
Events/sec: 5979.92
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 210 MB
Avg Latency: 1.467778ms
P90 Latency: 2.245087ms
P95 Latency: 2.793392ms
P99 Latency: 4.500615ms
Bottom 10% Avg Latency: 566.462µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.466759982s
Total Events: 50000
Events/sec: 2043.59
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 217 MB
Avg Latency: 379.14µs
P90 Latency: 785.126µs
P95 Latency: 878.634µs
P99 Latency: 1.097992ms
Bottom 10% Avg Latency: 1.031459ms
----------------------------------------
Test: Query Performance
Duration: 1m0.00778943s
Total Events: 387526
Events/sec: 6457.93
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 136 MB
Avg Latency: 1.741809ms
P90 Latency: 5.188695ms
P95 Latency: 6.972503ms
P99 Latency: 11.293675ms
Bottom 10% Avg Latency: 7.860799ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003665569s
Total Events: 323401
Events/sec: 5389.69
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 106 MB
Avg Latency: 1.417249ms
P90 Latency: 2.811055ms
P95 Latency: 3.520567ms
P99 Latency: 5.657268ms
Bottom 10% Avg Latency: 4.052952ms
----------------------------------------
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-11-20T15:50:14+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s