add vertexes between npubs and events, use for p tags
This commit is contained in:
176
cmd/benchmark/reports/run_20251120_055257/aggregate_report.txt
Normal file
176
cmd/benchmark/reports/run_20251120_055257/aggregate_report.txt
Normal file
@@ -0,0 +1,176 @@
|
||||
================================================================
|
||||
NOSTR RELAY BENCHMARK AGGREGATE REPORT
|
||||
================================================================
|
||||
Generated: 2025-11-20T06:19:54+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: 17207.24
|
||||
Events/sec: 6359.22
|
||||
Events/sec: 17207.24
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.240424ms
|
||||
Bottom 10% Avg Latency: 680.755µs
|
||||
Avg Latency: 1.142716ms
|
||||
P95 Latency: 1.987721ms
|
||||
P95 Latency: 1.919402ms
|
||||
P95 Latency: 858.138µs
|
||||
|
||||
Relay: next-orly-dgraph
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 15975.41
|
||||
Events/sec: 6275.40
|
||||
Events/sec: 15975.41
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.379901ms
|
||||
Bottom 10% Avg Latency: 705.38µs
|
||||
Avg Latency: 1.177806ms
|
||||
P95 Latency: 2.307115ms
|
||||
P95 Latency: 2.062351ms
|
||||
P95 Latency: 858.252µs
|
||||
|
||||
Relay: next-orly-neo4j
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 18050.59
|
||||
Events/sec: 6274.46
|
||||
Events/sec: 18050.59
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.142811ms
|
||||
Bottom 10% Avg Latency: 648.4µs
|
||||
Avg Latency: 1.192885ms
|
||||
P95 Latency: 1.69225ms
|
||||
P95 Latency: 1.98103ms
|
||||
P95 Latency: 864.535µs
|
||||
|
||||
Relay: khatru-sqlite
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 16911.01
|
||||
Events/sec: 6346.70
|
||||
Events/sec: 16911.01
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.278879ms
|
||||
Bottom 10% Avg Latency: 694.3µs
|
||||
Avg Latency: 1.145501ms
|
||||
P95 Latency: 2.058912ms
|
||||
P95 Latency: 1.860934ms
|
||||
P95 Latency: 857.964µs
|
||||
|
||||
Relay: khatru-badger
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 18095.48
|
||||
Events/sec: 6260.92
|
||||
Events/sec: 18095.48
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.143282ms
|
||||
Bottom 10% Avg Latency: 651.813µs
|
||||
Avg Latency: 1.203274ms
|
||||
P95 Latency: 1.721751ms
|
||||
P95 Latency: 2.200764ms
|
||||
P95 Latency: 865.67µs
|
||||
|
||||
Relay: relayer-basic
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17973.91
|
||||
Events/sec: 6364.14
|
||||
Events/sec: 17973.91
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.159149ms
|
||||
Bottom 10% Avg Latency: 666.22µs
|
||||
Avg Latency: 1.075436ms
|
||||
P95 Latency: 1.737633ms
|
||||
P95 Latency: 1.805733ms
|
||||
P95 Latency: 865.831µs
|
||||
|
||||
Relay: strfry
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 17906.42
|
||||
Events/sec: 6245.55
|
||||
Events/sec: 17906.42
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.165583ms
|
||||
Bottom 10% Avg Latency: 663.03µs
|
||||
Avg Latency: 1.143689ms
|
||||
P95 Latency: 1.781377ms
|
||||
P95 Latency: 2.088623ms
|
||||
P95 Latency: 852.326µs
|
||||
|
||||
Relay: nostr-rs-relay
|
||||
----------------------------------------
|
||||
Status: COMPLETED
|
||||
Events/sec: 18036.49
|
||||
Events/sec: 6278.12
|
||||
Events/sec: 18036.49
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Success Rate: 100.0%
|
||||
Avg Latency: 1.14847ms
|
||||
Bottom 10% Avg Latency: 653.417µs
|
||||
Avg Latency: 1.18248ms
|
||||
P95 Latency: 1.723577ms
|
||||
P95 Latency: 2.000325ms
|
||||
P95 Latency: 849.41µs
|
||||
|
||||
|
||||
================================================================
|
||||
DETAILED RESULTS
|
||||
================================================================
|
||||
|
||||
Individual relay reports are available in:
|
||||
- /reports/run_20251120_055257/khatru-badger_results.txt
|
||||
- /reports/run_20251120_055257/khatru-sqlite_results.txt
|
||||
- /reports/run_20251120_055257/next-orly-badger_results.txt
|
||||
- /reports/run_20251120_055257/next-orly-dgraph_results.txt
|
||||
- /reports/run_20251120_055257/next-orly-neo4j_results.txt
|
||||
- /reports/run_20251120_055257/nostr-rs-relay_results.txt
|
||||
- /reports/run_20251120_055257/relayer-basic_results.txt
|
||||
- /reports/run_20251120_055257/strfry_results.txt
|
||||
|
||||
================================================================
|
||||
BENCHMARK COMPARISON TABLE
|
||||
================================================================
|
||||
|
||||
Relay Status Peak Tput/s Avg Latency Success Rate
|
||||
---- ------ ----------- ----------- ------------
|
||||
next-orly-badger OK 17207.24 1.240424ms 100.0%
|
||||
next-orly-dgraph OK 15975.41 1.379901ms 100.0%
|
||||
next-orly-neo4j OK 18050.59 1.142811ms 100.0%
|
||||
khatru-sqlite OK 16911.01 1.278879ms 100.0%
|
||||
khatru-badger OK 18095.48 1.143282ms 100.0%
|
||||
relayer-basic OK 17973.91 1.159149ms 100.0%
|
||||
strfry OK 17906.42 1.165583ms 100.0%
|
||||
nostr-rs-relay OK 18036.49 1.14847ms 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
|
||||
1763618786076815ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763618786076877ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763618786076947ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763618786076977ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763618786076987ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763618786077003ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763618786077008ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763618786077019ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763618786077024ℹ️ 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 06:06:26 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 06:06:26 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.763121055s
|
||||
Events/sec: 18095.48
|
||||
Avg latency: 1.143282ms
|
||||
P90 latency: 1.487084ms
|
||||
P95 latency: 1.721751ms
|
||||
P99 latency: 2.433718ms
|
||||
Bottom 10% Avg latency: 651.813µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 279.242515ms
|
||||
Burst completed: 5000 events in 302.441404ms
|
||||
Burst completed: 5000 events in 261.238216ms
|
||||
Burst completed: 5000 events in 289.601428ms
|
||||
Burst completed: 5000 events in 278.55583ms
|
||||
Burst completed: 5000 events in 410.332505ms
|
||||
Burst completed: 5000 events in 343.055357ms
|
||||
Burst completed: 5000 events in 264.436385ms
|
||||
Burst completed: 5000 events in 291.690093ms
|
||||
Burst completed: 5000 events in 258.542866ms
|
||||
Burst test completed: 50000 events in 7.986045814s, errors: 0
|
||||
Events/sec: 6260.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.456214964s
|
||||
Combined ops/sec: 2044.47
|
||||
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: 417411 queries in 1m0.006481017s
|
||||
Queries/sec: 6956.10
|
||||
Avg query latency: 1.593183ms
|
||||
P95 query latency: 6.184979ms
|
||||
P99 query latency: 9.84781ms
|
||||
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: 325932 operations (275932 queries, 50000 writes) in 1m0.003734546s
|
||||
Operations/sec: 5431.86
|
||||
Avg latency: 1.403237ms
|
||||
Avg query latency: 1.376383ms
|
||||
Avg write latency: 1.55144ms
|
||||
P95 latency: 3.479172ms
|
||||
P99 latency: 5.834682ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.763121055s
|
||||
Total Events: 50000
|
||||
Events/sec: 18095.48
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 90 MB
|
||||
Avg Latency: 1.143282ms
|
||||
P90 Latency: 1.487084ms
|
||||
P95 Latency: 1.721751ms
|
||||
P99 Latency: 2.433718ms
|
||||
Bottom 10% Avg Latency: 651.813µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.986045814s
|
||||
Total Events: 50000
|
||||
Events/sec: 6260.92
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 160 MB
|
||||
Avg Latency: 1.203274ms
|
||||
P90 Latency: 1.822603ms
|
||||
P95 Latency: 2.200764ms
|
||||
P99 Latency: 3.362057ms
|
||||
Bottom 10% Avg Latency: 456.813µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.456214964s
|
||||
Total Events: 50000
|
||||
Events/sec: 2044.47
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 146 MB
|
||||
Avg Latency: 371.63µs
|
||||
P90 Latency: 776.991µs
|
||||
P95 Latency: 865.67µs
|
||||
P99 Latency: 1.069839ms
|
||||
Bottom 10% Avg Latency: 1.010599ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.006481017s
|
||||
Total Events: 417411
|
||||
Events/sec: 6956.10
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 105 MB
|
||||
Avg Latency: 1.593183ms
|
||||
P90 Latency: 4.714556ms
|
||||
P95 Latency: 6.184979ms
|
||||
P99 Latency: 9.84781ms
|
||||
Bottom 10% Avg Latency: 6.905275ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.003734546s
|
||||
Total Events: 325932
|
||||
Events/sec: 5431.86
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 117 MB
|
||||
Avg Latency: 1.403237ms
|
||||
P90 Latency: 2.762476ms
|
||||
P95 Latency: 3.479172ms
|
||||
P99 Latency: 5.834682ms
|
||||
Bottom 10% Avg Latency: 4.060934ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T06:09:43+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
|
||||
1763618583847338ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763618583847420ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763618583847443ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763618583847449ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763618583847499ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763618583847582ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763618583847590ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763618583847603ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763618583847609ℹ️ 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 06:03:03 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 06:03:03 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.956654549s
|
||||
Events/sec: 16911.01
|
||||
Avg latency: 1.278879ms
|
||||
P90 latency: 1.759962ms
|
||||
P95 latency: 2.058912ms
|
||||
P99 latency: 2.984324ms
|
||||
Bottom 10% Avg latency: 694.3µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 285.307897ms
|
||||
Burst completed: 5000 events in 302.347653ms
|
||||
Burst completed: 5000 events in 275.699401ms
|
||||
Burst completed: 5000 events in 287.891414ms
|
||||
Burst completed: 5000 events in 277.399852ms
|
||||
Burst completed: 5000 events in 322.718229ms
|
||||
Burst completed: 5000 events in 293.501002ms
|
||||
Burst completed: 5000 events in 278.081935ms
|
||||
Burst completed: 5000 events in 278.0892ms
|
||||
Burst completed: 5000 events in 270.126334ms
|
||||
Burst test completed: 50000 events in 7.878108141s, errors: 0
|
||||
Events/sec: 6346.70
|
||||
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.39267216s
|
||||
Combined ops/sec: 2049.80
|
||||
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: 395438 queries in 1m0.004115415s
|
||||
Queries/sec: 6590.18
|
||||
Avg query latency: 1.693836ms
|
||||
P95 query latency: 6.903441ms
|
||||
P99 query latency: 10.799184ms
|
||||
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: 328042 operations (278042 queries, 50000 writes) in 1m0.002877808s
|
||||
Operations/sec: 5467.10
|
||||
Avg latency: 1.365831ms
|
||||
Avg query latency: 1.362176ms
|
||||
Avg write latency: 1.386154ms
|
||||
P95 latency: 3.409256ms
|
||||
P99 latency: 5.369811ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.956654549s
|
||||
Total Events: 50000
|
||||
Events/sec: 16911.01
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 102 MB
|
||||
Avg Latency: 1.278879ms
|
||||
P90 Latency: 1.759962ms
|
||||
P95 Latency: 2.058912ms
|
||||
P99 Latency: 2.984324ms
|
||||
Bottom 10% Avg Latency: 694.3µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.878108141s
|
||||
Total Events: 50000
|
||||
Events/sec: 6346.70
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 256 MB
|
||||
Avg Latency: 1.145501ms
|
||||
P90 Latency: 1.61688ms
|
||||
P95 Latency: 1.860934ms
|
||||
P99 Latency: 2.617195ms
|
||||
Bottom 10% Avg Latency: 440.724µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.39267216s
|
||||
Total Events: 50000
|
||||
Events/sec: 2049.80
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 177 MB
|
||||
Avg Latency: 366.696µs
|
||||
P90 Latency: 772.371µs
|
||||
P95 Latency: 857.964µs
|
||||
P99 Latency: 1.047576ms
|
||||
Bottom 10% Avg Latency: 980.159µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.004115415s
|
||||
Total Events: 395438
|
||||
Events/sec: 6590.18
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 124 MB
|
||||
Avg Latency: 1.693836ms
|
||||
P90 Latency: 5.169489ms
|
||||
P95 Latency: 6.903441ms
|
||||
P99 Latency: 10.799184ms
|
||||
Bottom 10% Avg Latency: 7.636787ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.002877808s
|
||||
Total Events: 328042
|
||||
Events/sec: 5467.10
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 117 MB
|
||||
Avg Latency: 1.365831ms
|
||||
P90 Latency: 2.746193ms
|
||||
P95 Latency: 3.409256ms
|
||||
P99 Latency: 5.369811ms
|
||||
Bottom 10% Avg Latency: 3.859931ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T06:06:21+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
|
||||
1763617977092863ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763617977092943ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763617977092970ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763617977092977ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763617977092985ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763617977093001ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763617977093007ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763617977093019ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763617977093026ℹ️ 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 05:52:57 INFO: Extracted embedded libsecp256k1 to /tmp/orly-libsecp256k1/libsecp256k1.so
|
||||
2025/11/20 05:52:57 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 05:52:57 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.905753281s
|
||||
Events/sec: 17207.24
|
||||
Avg latency: 1.240424ms
|
||||
P90 latency: 1.678725ms
|
||||
P95 latency: 1.987721ms
|
||||
P99 latency: 2.999992ms
|
||||
Bottom 10% Avg latency: 680.755µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 284.828765ms
|
||||
Burst completed: 5000 events in 302.028061ms
|
||||
Burst completed: 5000 events in 270.908207ms
|
||||
Burst completed: 5000 events in 284.981546ms
|
||||
Burst completed: 5000 events in 268.367857ms
|
||||
Burst completed: 5000 events in 339.898993ms
|
||||
Burst completed: 5000 events in 284.918308ms
|
||||
Burst completed: 5000 events in 268.931678ms
|
||||
Burst completed: 5000 events in 275.363017ms
|
||||
Burst completed: 5000 events in 276.370915ms
|
||||
Burst test completed: 50000 events in 7.862602959s, errors: 0
|
||||
Events/sec: 6359.22
|
||||
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.450909635s
|
||||
Combined ops/sec: 2044.91
|
||||
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: 421640 queries in 1m0.005098014s
|
||||
Queries/sec: 7026.74
|
||||
Avg query latency: 1.569059ms
|
||||
P95 query latency: 5.982148ms
|
||||
P99 query latency: 9.486046ms
|
||||
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: 325881 operations (275881 queries, 50000 writes) in 1m0.002090641s
|
||||
Operations/sec: 5431.16
|
||||
Avg latency: 1.405044ms
|
||||
Avg query latency: 1.37991ms
|
||||
Avg write latency: 1.543729ms
|
||||
P95 latency: 3.485813ms
|
||||
P99 latency: 5.416742ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.905753281s
|
||||
Total Events: 50000
|
||||
Events/sec: 17207.24
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 163 MB
|
||||
Avg Latency: 1.240424ms
|
||||
P90 Latency: 1.678725ms
|
||||
P95 Latency: 1.987721ms
|
||||
P99 Latency: 2.999992ms
|
||||
Bottom 10% Avg Latency: 680.755µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.862602959s
|
||||
Total Events: 50000
|
||||
Events/sec: 6359.22
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 190 MB
|
||||
Avg Latency: 1.142716ms
|
||||
P90 Latency: 1.637518ms
|
||||
P95 Latency: 1.919402ms
|
||||
P99 Latency: 2.878332ms
|
||||
Bottom 10% Avg Latency: 474.478µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.450909635s
|
||||
Total Events: 50000
|
||||
Events/sec: 2044.91
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 144 MB
|
||||
Avg Latency: 369.153µs
|
||||
P90 Latency: 774.06µs
|
||||
P95 Latency: 858.138µs
|
||||
P99 Latency: 1.053249ms
|
||||
Bottom 10% Avg Latency: 986.534µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.005098014s
|
||||
Total Events: 421640
|
||||
Events/sec: 7026.74
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 93 MB
|
||||
Avg Latency: 1.569059ms
|
||||
P90 Latency: 4.620816ms
|
||||
P95 Latency: 5.982148ms
|
||||
P99 Latency: 9.486046ms
|
||||
Bottom 10% Avg Latency: 6.685482ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.002090641s
|
||||
Total Events: 325881
|
||||
Events/sec: 5431.16
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 111 MB
|
||||
Avg Latency: 1.405044ms
|
||||
P90 Latency: 2.782888ms
|
||||
P95 Latency: 3.485813ms
|
||||
P99 Latency: 5.416742ms
|
||||
Bottom 10% Avg Latency: 3.929706ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T05:56:14+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
|
||||
1763618179225019ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763618179225097ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763618179225124ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763618179225130ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763618179225139ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763618179225153ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763618179225160ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763618179225172ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763618179225178ℹ️ 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 05:56: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 05:56:19 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 3.129809148s
|
||||
Events/sec: 15975.41
|
||||
Avg latency: 1.379901ms
|
||||
P90 latency: 1.992677ms
|
||||
P95 latency: 2.307115ms
|
||||
P99 latency: 3.315241ms
|
||||
Bottom 10% Avg latency: 705.38µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 269.998489ms
|
||||
Burst completed: 5000 events in 379.862976ms
|
||||
Burst completed: 5000 events in 315.530605ms
|
||||
Burst completed: 5000 events in 286.315924ms
|
||||
Burst completed: 5000 events in 265.701ms
|
||||
Burst completed: 5000 events in 320.067398ms
|
||||
Burst completed: 5000 events in 310.332948ms
|
||||
Burst completed: 5000 events in 260.739129ms
|
||||
Burst completed: 5000 events in 278.464314ms
|
||||
Burst completed: 5000 events in 275.687097ms
|
||||
Burst test completed: 50000 events in 7.967614114s, errors: 0
|
||||
Events/sec: 6275.40
|
||||
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.415571109s
|
||||
Combined ops/sec: 2047.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: 413479 queries in 1m0.00605908s
|
||||
Queries/sec: 6890.62
|
||||
Avg query latency: 1.614876ms
|
||||
P95 query latency: 6.238786ms
|
||||
P99 query latency: 10.005161ms
|
||||
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: 323428 operations (273428 queries, 50000 writes) in 1m0.003637465s
|
||||
Operations/sec: 5390.14
|
||||
Avg latency: 1.392162ms
|
||||
Avg query latency: 1.390979ms
|
||||
Avg write latency: 1.398631ms
|
||||
P95 latency: 3.456536ms
|
||||
P99 latency: 5.341594ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 3.129809148s
|
||||
Total Events: 50000
|
||||
Events/sec: 15975.41
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 136 MB
|
||||
Avg Latency: 1.379901ms
|
||||
P90 Latency: 1.992677ms
|
||||
P95 Latency: 2.307115ms
|
||||
P99 Latency: 3.315241ms
|
||||
Bottom 10% Avg Latency: 705.38µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.967614114s
|
||||
Total Events: 50000
|
||||
Events/sec: 6275.40
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 164 MB
|
||||
Avg Latency: 1.177806ms
|
||||
P90 Latency: 1.743774ms
|
||||
P95 Latency: 2.062351ms
|
||||
P99 Latency: 3.08792ms
|
||||
Bottom 10% Avg Latency: 445.91µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.415571109s
|
||||
Total Events: 50000
|
||||
Events/sec: 2047.87
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 142 MB
|
||||
Avg Latency: 370.82µs
|
||||
P90 Latency: 773.25µs
|
||||
P95 Latency: 858.252µs
|
||||
P99 Latency: 1.064304ms
|
||||
Bottom 10% Avg Latency: 1.01339ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.00605908s
|
||||
Total Events: 413479
|
||||
Events/sec: 6890.62
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 117 MB
|
||||
Avg Latency: 1.614876ms
|
||||
P90 Latency: 4.764101ms
|
||||
P95 Latency: 6.238786ms
|
||||
P99 Latency: 10.005161ms
|
||||
Bottom 10% Avg Latency: 7.015286ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.003637465s
|
||||
Total Events: 323428
|
||||
Events/sec: 5390.14
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 149 MB
|
||||
Avg Latency: 1.392162ms
|
||||
P90 Latency: 2.802772ms
|
||||
P95 Latency: 3.456536ms
|
||||
P99 Latency: 5.341594ms
|
||||
Bottom 10% Avg Latency: 3.885211ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T05:59: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_next-orly-neo4j_8
|
||||
Events: 50000, Workers: 24, Duration: 1m0s
|
||||
1763618381699297ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763618381699352ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763618381699377ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763618381699382ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763618381699391ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763618381699405ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763618381699410ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763618381699424ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763618381699429ℹ️ 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 05:59:41 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 05:59:41 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.769992527s
|
||||
Events/sec: 18050.59
|
||||
Avg latency: 1.142811ms
|
||||
P90 latency: 1.475809ms
|
||||
P95 latency: 1.69225ms
|
||||
P99 latency: 2.440594ms
|
||||
Bottom 10% Avg latency: 648.4µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 277.842041ms
|
||||
Burst completed: 5000 events in 308.098325ms
|
||||
Burst completed: 5000 events in 277.741996ms
|
||||
Burst completed: 5000 events in 293.998635ms
|
||||
Burst completed: 5000 events in 283.052785ms
|
||||
Burst completed: 5000 events in 327.151674ms
|
||||
Burst completed: 5000 events in 302.694541ms
|
||||
Burst completed: 5000 events in 317.306363ms
|
||||
Burst completed: 5000 events in 302.657295ms
|
||||
Burst completed: 5000 events in 270.224532ms
|
||||
Burst test completed: 50000 events in 7.968808771s, errors: 0
|
||||
Events/sec: 6274.46
|
||||
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.488197886s
|
||||
Combined ops/sec: 2041.80
|
||||
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: 423936 queries in 1m0.004174246s
|
||||
Queries/sec: 7065.11
|
||||
Avg query latency: 1.560903ms
|
||||
P95 query latency: 5.964936ms
|
||||
P99 query latency: 9.506308ms
|
||||
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: 322118 operations (272118 queries, 50000 writes) in 1m0.004816049s
|
||||
Operations/sec: 5368.20
|
||||
Avg latency: 1.42877ms
|
||||
Avg query latency: 1.406819ms
|
||||
Avg write latency: 1.548233ms
|
||||
P95 latency: 3.558185ms
|
||||
P99 latency: 5.974717ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.769992527s
|
||||
Total Events: 50000
|
||||
Events/sec: 18050.59
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 205 MB
|
||||
Avg Latency: 1.142811ms
|
||||
P90 Latency: 1.475809ms
|
||||
P95 Latency: 1.69225ms
|
||||
P99 Latency: 2.440594ms
|
||||
Bottom 10% Avg Latency: 648.4µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.968808771s
|
||||
Total Events: 50000
|
||||
Events/sec: 6274.46
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 252 MB
|
||||
Avg Latency: 1.192885ms
|
||||
P90 Latency: 1.719783ms
|
||||
P95 Latency: 1.98103ms
|
||||
P99 Latency: 2.799408ms
|
||||
Bottom 10% Avg Latency: 481.913µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.488197886s
|
||||
Total Events: 50000
|
||||
Events/sec: 2041.80
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 177 MB
|
||||
Avg Latency: 372.501µs
|
||||
P90 Latency: 775.366µs
|
||||
P95 Latency: 864.535µs
|
||||
P99 Latency: 1.063193ms
|
||||
Bottom 10% Avg Latency: 1.030084ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.004174246s
|
||||
Total Events: 423936
|
||||
Events/sec: 7065.11
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 105 MB
|
||||
Avg Latency: 1.560903ms
|
||||
P90 Latency: 4.593205ms
|
||||
P95 Latency: 5.964936ms
|
||||
P99 Latency: 9.506308ms
|
||||
Bottom 10% Avg Latency: 6.687404ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.004816049s
|
||||
Total Events: 322118
|
||||
Events/sec: 5368.20
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 90 MB
|
||||
Avg Latency: 1.42877ms
|
||||
P90 Latency: 2.828968ms
|
||||
P95 Latency: 3.558185ms
|
||||
P99 Latency: 5.974717ms
|
||||
Bottom 10% Avg Latency: 4.198317ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T06:02:58+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
|
||||
1763619392357418ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763619392357482ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763619392357506ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763619392357513ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763619392357524ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763619392357540ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763619392357546ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763619392357561ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763619392357568ℹ️ 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 06:16:32 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 06:16:32 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.772157487s
|
||||
Events/sec: 18036.49
|
||||
Avg latency: 1.14847ms
|
||||
P90 latency: 1.494791ms
|
||||
P95 latency: 1.723577ms
|
||||
P99 latency: 2.482173ms
|
||||
Bottom 10% Avg latency: 653.417µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 268.738605ms
|
||||
Burst completed: 5000 events in 303.337341ms
|
||||
Burst completed: 5000 events in 271.31493ms
|
||||
Burst completed: 5000 events in 306.45637ms
|
||||
Burst completed: 5000 events in 277.933503ms
|
||||
Burst completed: 5000 events in 329.682206ms
|
||||
Burst completed: 5000 events in 299.558536ms
|
||||
Burst completed: 5000 events in 308.438271ms
|
||||
Burst completed: 5000 events in 325.963716ms
|
||||
Burst completed: 5000 events in 268.183599ms
|
||||
Burst test completed: 50000 events in 7.964171204s, errors: 0
|
||||
Events/sec: 6278.12
|
||||
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.476816258s
|
||||
Combined ops/sec: 2042.75
|
||||
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: 418186 queries in 1m0.003766058s
|
||||
Queries/sec: 6969.33
|
||||
Avg query latency: 1.58101ms
|
||||
P95 query latency: 6.141965ms
|
||||
P99 query latency: 9.665876ms
|
||||
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: 324142 operations (274142 queries, 50000 writes) in 1m0.003303897s
|
||||
Operations/sec: 5402.07
|
||||
Avg latency: 1.412001ms
|
||||
Avg query latency: 1.390798ms
|
||||
Avg write latency: 1.528256ms
|
||||
P95 latency: 3.493684ms
|
||||
P99 latency: 5.810191ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.772157487s
|
||||
Total Events: 50000
|
||||
Events/sec: 18036.49
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 151 MB
|
||||
Avg Latency: 1.14847ms
|
||||
P90 Latency: 1.494791ms
|
||||
P95 Latency: 1.723577ms
|
||||
P99 Latency: 2.482173ms
|
||||
Bottom 10% Avg Latency: 653.417µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.964171204s
|
||||
Total Events: 50000
|
||||
Events/sec: 6278.12
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 210 MB
|
||||
Avg Latency: 1.18248ms
|
||||
P90 Latency: 1.718126ms
|
||||
P95 Latency: 2.000325ms
|
||||
P99 Latency: 2.834856ms
|
||||
Bottom 10% Avg Latency: 480.184µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.476816258s
|
||||
Total Events: 50000
|
||||
Events/sec: 2042.75
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 197 MB
|
||||
Avg Latency: 360.712µs
|
||||
P90 Latency: 757.895µs
|
||||
P95 Latency: 849.41µs
|
||||
P99 Latency: 1.066494ms
|
||||
Bottom 10% Avg Latency: 991.825µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.003766058s
|
||||
Total Events: 418186
|
||||
Events/sec: 6969.33
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 139 MB
|
||||
Avg Latency: 1.58101ms
|
||||
P90 Latency: 4.686218ms
|
||||
P95 Latency: 6.141965ms
|
||||
P99 Latency: 9.665876ms
|
||||
Bottom 10% Avg Latency: 6.835975ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.003303897s
|
||||
Total Events: 324142
|
||||
Events/sec: 5402.07
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 93 MB
|
||||
Avg Latency: 1.412001ms
|
||||
P90 Latency: 2.782417ms
|
||||
P95 Latency: 3.493684ms
|
||||
P99 Latency: 5.810191ms
|
||||
Bottom 10% Avg Latency: 4.069703ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T06:19:49+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
|
||||
1763618988175240ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763618988175308ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763618988175330ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763618988175335ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763618988175344ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763618988175357ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763618988175362ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763618988175372ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763618988175378ℹ️ 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 06:09:48 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 06:09:48 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.781810292s
|
||||
Events/sec: 17973.91
|
||||
Avg latency: 1.159149ms
|
||||
P90 latency: 1.490872ms
|
||||
P95 latency: 1.737633ms
|
||||
P99 latency: 2.771573ms
|
||||
Bottom 10% Avg latency: 666.22µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 271.703938ms
|
||||
Burst completed: 5000 events in 317.584424ms
|
||||
Burst completed: 5000 events in 272.548659ms
|
||||
Burst completed: 5000 events in 289.808915ms
|
||||
Burst completed: 5000 events in 275.401318ms
|
||||
Burst completed: 5000 events in 318.927487ms
|
||||
Burst completed: 5000 events in 295.454518ms
|
||||
Burst completed: 5000 events in 256.688206ms
|
||||
Burst completed: 5000 events in 286.811644ms
|
||||
Burst completed: 5000 events in 264.309727ms
|
||||
Burst test completed: 50000 events in 7.856524268s, errors: 0
|
||||
Events/sec: 6364.14
|
||||
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.510988729s
|
||||
Combined ops/sec: 2039.90
|
||||
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: 418829 queries in 1m0.003072978s
|
||||
Queries/sec: 6980.13
|
||||
Avg query latency: 1.589663ms
|
||||
P95 query latency: 6.123164ms
|
||||
P99 query latency: 9.772382ms
|
||||
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: 325492 operations (275492 queries, 50000 writes) in 1m0.002664568s
|
||||
Operations/sec: 5424.63
|
||||
Avg latency: 1.392378ms
|
||||
Avg query latency: 1.377366ms
|
||||
Avg write latency: 1.475091ms
|
||||
P95 latency: 3.499432ms
|
||||
P99 latency: 5.584828ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.781810292s
|
||||
Total Events: 50000
|
||||
Events/sec: 17973.91
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 103 MB
|
||||
Avg Latency: 1.159149ms
|
||||
P90 Latency: 1.490872ms
|
||||
P95 Latency: 1.737633ms
|
||||
P99 Latency: 2.771573ms
|
||||
Bottom 10% Avg Latency: 666.22µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 7.856524268s
|
||||
Total Events: 50000
|
||||
Events/sec: 6364.14
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 205 MB
|
||||
Avg Latency: 1.075436ms
|
||||
P90 Latency: 1.553ms
|
||||
P95 Latency: 1.805733ms
|
||||
P99 Latency: 2.664269ms
|
||||
Bottom 10% Avg Latency: 425.324µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.510988729s
|
||||
Total Events: 50000
|
||||
Events/sec: 2039.90
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 215 MB
|
||||
Avg Latency: 374.563µs
|
||||
P90 Latency: 783.484µs
|
||||
P95 Latency: 865.831µs
|
||||
P99 Latency: 1.062355ms
|
||||
Bottom 10% Avg Latency: 997.615µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.003072978s
|
||||
Total Events: 418829
|
||||
Events/sec: 6980.13
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 128 MB
|
||||
Avg Latency: 1.589663ms
|
||||
P90 Latency: 4.685383ms
|
||||
P95 Latency: 6.123164ms
|
||||
P99 Latency: 9.772382ms
|
||||
Bottom 10% Avg Latency: 6.841908ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.002664568s
|
||||
Total Events: 325492
|
||||
Events/sec: 5424.63
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 90 MB
|
||||
Avg Latency: 1.392378ms
|
||||
P90 Latency: 2.772957ms
|
||||
P95 Latency: 3.499432ms
|
||||
P99 Latency: 5.584828ms
|
||||
Bottom 10% Avg Latency: 3.959973ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T06:13:05+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
194
cmd/benchmark/reports/run_20251120_055257/strfry_results.txt
Normal file
194
cmd/benchmark/reports/run_20251120_055257/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
|
||||
1763619190218220ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
|
||||
1763619190218285ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
|
||||
1763619190218308ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
|
||||
1763619190218314ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
|
||||
1763619190218321ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
|
||||
1763619190218340ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
|
||||
1763619190218345ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
|
||||
1763619190218360ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
|
||||
1763619190218365ℹ️ 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 06:13: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 06:13:10 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
|
||||
Events saved: 50000/50000 (100.0%), errors: 0
|
||||
Duration: 2.792294779s
|
||||
Events/sec: 17906.42
|
||||
Avg latency: 1.165583ms
|
||||
P90 latency: 1.530608ms
|
||||
P95 latency: 1.781377ms
|
||||
P99 latency: 2.624355ms
|
||||
Bottom 10% Avg latency: 663.03µs
|
||||
Wiping database between tests...
|
||||
RunBurstPatternTest (Badger)..
|
||||
|
||||
=== Burst Pattern Test ===
|
||||
Burst completed: 5000 events in 277.678318ms
|
||||
Burst completed: 5000 events in 306.128647ms
|
||||
Burst completed: 5000 events in 296.483867ms
|
||||
Burst completed: 5000 events in 401.910739ms
|
||||
Burst completed: 5000 events in 282.04223ms
|
||||
Burst completed: 5000 events in 320.586138ms
|
||||
Burst completed: 5000 events in 291.737429ms
|
||||
Burst completed: 5000 events in 275.451284ms
|
||||
Burst completed: 5000 events in 290.811553ms
|
||||
Burst completed: 5000 events in 255.912658ms
|
||||
Burst test completed: 50000 events in 8.005699907s, errors: 0
|
||||
Events/sec: 6245.55
|
||||
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.441964307s
|
||||
Combined ops/sec: 2045.66
|
||||
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: 423574 queries in 1m0.008334214s
|
||||
Queries/sec: 7058.59
|
||||
Avg query latency: 1.564339ms
|
||||
P95 query latency: 5.969023ms
|
||||
P99 query latency: 9.492963ms
|
||||
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: 328763 operations (278763 queries, 50000 writes) in 1m0.002904523s
|
||||
Operations/sec: 5479.12
|
||||
Avg latency: 1.359575ms
|
||||
Avg query latency: 1.354662ms
|
||||
Avg write latency: 1.386966ms
|
||||
P95 latency: 3.384034ms
|
||||
P99 latency: 5.281823ms
|
||||
|
||||
=== Badger benchmark completed ===
|
||||
|
||||
|
||||
================================================================================
|
||||
BENCHMARK REPORT
|
||||
================================================================================
|
||||
|
||||
Test: Peak Throughput
|
||||
Duration: 2.792294779s
|
||||
Total Events: 50000
|
||||
Events/sec: 17906.42
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 207 MB
|
||||
Avg Latency: 1.165583ms
|
||||
P90 Latency: 1.530608ms
|
||||
P95 Latency: 1.781377ms
|
||||
P99 Latency: 2.624355ms
|
||||
Bottom 10% Avg Latency: 663.03µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Burst Pattern
|
||||
Duration: 8.005699907s
|
||||
Total Events: 50000
|
||||
Events/sec: 6245.55
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 250 MB
|
||||
Avg Latency: 1.143689ms
|
||||
P90 Latency: 1.750689ms
|
||||
P95 Latency: 2.088623ms
|
||||
P99 Latency: 3.274904ms
|
||||
Bottom 10% Avg Latency: 423.835µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Mixed Read/Write
|
||||
Duration: 24.441964307s
|
||||
Total Events: 50000
|
||||
Events/sec: 2045.66
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 215 MB
|
||||
Avg Latency: 364.721µs
|
||||
P90 Latency: 765.73µs
|
||||
P95 Latency: 852.326µs
|
||||
P99 Latency: 1.050373ms
|
||||
Bottom 10% Avg Latency: 984.48µs
|
||||
----------------------------------------
|
||||
|
||||
Test: Query Performance
|
||||
Duration: 1m0.008334214s
|
||||
Total Events: 423574
|
||||
Events/sec: 7058.59
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 151 MB
|
||||
Avg Latency: 1.564339ms
|
||||
P90 Latency: 4.611725ms
|
||||
P95 Latency: 5.969023ms
|
||||
P99 Latency: 9.492963ms
|
||||
Bottom 10% Avg Latency: 6.681727ms
|
||||
----------------------------------------
|
||||
|
||||
Test: Concurrent Query/Store
|
||||
Duration: 1m0.002904523s
|
||||
Total Events: 328763
|
||||
Events/sec: 5479.12
|
||||
Success Rate: 100.0%
|
||||
Concurrent Workers: 24
|
||||
Memory Used: 108 MB
|
||||
Avg Latency: 1.359575ms
|
||||
P90 Latency: 2.735116ms
|
||||
P95 Latency: 3.384034ms
|
||||
P99 Latency: 5.281823ms
|
||||
Bottom 10% Avg Latency: 3.815359ms
|
||||
----------------------------------------
|
||||
|
||||
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-20T06:16:27+00:00
|
||||
BENCHMARK_CONFIG:
|
||||
Events: 50000
|
||||
Workers: 24
|
||||
Duration: 60s
|
||||
Reference in New Issue
Block a user