This commit is contained in:
176
cmd/benchmark/reports/run_20251120_152640/aggregate_report.txt
Normal file
176
cmd/benchmark/reports/run_20251120_152640/aggregate_report.txt
Normal 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
|
||||
================================================================
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
194
cmd/benchmark/reports/run_20251120_152640/strfry_results.txt
Normal file
194
cmd/benchmark/reports/run_20251120_152640/strfry_results.txt
Normal 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
|
||||
Reference in New Issue
Block a user