add vertexes between npubs and events, use for p tags

This commit is contained in:
2025-11-20 09:16:54 +00:00
parent b7417ab5eb
commit 1b279087a9
15 changed files with 2811 additions and 0 deletions

View 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
================================================================

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_khatru-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
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

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_khatru-sqlite_8
Events: 50000, Workers: 24, Duration: 1m0s
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

View File

@@ -0,0 +1,195 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
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

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-dgraph_8
Events: 50000, Workers: 24, Duration: 1m0s
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

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-neo4j_8
Events: 50000, Workers: 24, Duration: 1m0s
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

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_nostr-rs-relay_8
Events: 50000, Workers: 24, Duration: 1m0s
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

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_relayer-basic_8
Events: 50000, Workers: 24, Duration: 1m0s
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

View 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