khatru-sqlite_results.txt raw
1 Starting Nostr Relay Benchmark (Badger Backend)
2 Data Directory: /tmp/benchmark_khatru-sqlite_8
3 Events: 50000, Workers: 24, Duration: 1m0s
4 1763669732839163ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
5 1763669732839345ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
6 1763669732839423ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
7 1763669732839433ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
8 1763669732839447ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
9 1763669732839469ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
10 1763669732839476ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
11 1763669732839496ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
12 1763669732839504ℹ️ migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
13
14 ╔════════════════════════════════════════════════════════╗
15 ║ BADGER BACKEND BENCHMARK SUITE ║
16 ╚════════════════════════════════════════════════════════╝
17
18 === Starting Badger benchmark ===
19 RunPeakThroughputTest (Badger)..
20
21 === Peak Throughput Test ===
22 2025/11/20 20:15: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
23 2025/11/20 20:15:32 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
24 Events saved: 50000/50000 (100.0%), errors: 0
25 Duration: 2.963346692s
26 Events/sec: 16872.81
27 Avg latency: 1.294206ms
28 P90 latency: 1.715271ms
29 P95 latency: 2.011193ms
30 P99 latency: 3.190375ms
31 Bottom 10% Avg latency: 724.237µs
32 Wiping database between tests...
33 RunBurstPatternTest (Badger)..
34
35 === Burst Pattern Test ===
36 Burst completed: 5000 events in 291.855294ms
37 Burst completed: 5000 events in 316.021528ms
38 Burst completed: 5000 events in 282.131412ms
39 Burst completed: 5000 events in 299.105944ms
40 Burst completed: 5000 events in 267.419607ms
41 Burst completed: 5000 events in 325.020614ms
42 Burst completed: 5000 events in 305.340591ms
43 Burst completed: 5000 events in 271.0695ms
44 Burst completed: 5000 events in 390.24426ms
45 Burst completed: 5000 events in 284.381622ms
46 Burst test completed: 50000 events in 8.038707278s, errors: 0
47 Events/sec: 6219.91
48 Wiping database between tests...
49 RunMixedReadWriteTest (Badger)..
50
51 === Mixed Read/Write Test ===
52 Generating 1000 unique synthetic events (minimum 300 bytes each)...
53 Generated 1000 events:
54 Average content size: 312 bytes
55 All events are unique (incremental timestamps)
56 All events are properly signed
57
58 Pre-populating database for read tests...
59 Generating 50000 unique synthetic events (minimum 300 bytes each)...
60 Generated 50000 events:
61 Average content size: 314 bytes
62 All events are unique (incremental timestamps)
63 All events are properly signed
64
65 Mixed test completed: 25000 writes, 25000 reads in 24.489286115s
66 Combined ops/sec: 2041.71
67 Wiping database between tests...
68 RunQueryTest (Badger)..
69
70 === Query Test ===
71 Generating 10000 unique synthetic events (minimum 300 bytes each)...
72 Generated 10000 events:
73 Average content size: 313 bytes
74 All events are unique (incremental timestamps)
75 All events are properly signed
76
77 Pre-populating database with 10000 events for query tests...
78 Query test completed: 420505 queries in 1m0.003538635s
79 Queries/sec: 7008.00
80 Avg query latency: 1.572366ms
81 P95 query latency: 6.018765ms
82 P99 query latency: 9.565009ms
83 Wiping database between tests...
84 RunConcurrentQueryStoreTest (Badger)..
85
86 === Concurrent Query/Store Test ===
87 Generating 5000 unique synthetic events (minimum 300 bytes each)...
88 Generated 5000 events:
89 Average content size: 313 bytes
90 All events are unique (incremental timestamps)
91 All events are properly signed
92
93 Pre-populating database with 5000 events for concurrent query/store test...
94 Generating 50000 unique synthetic events (minimum 300 bytes each)...
95 Generated 50000 events:
96 Average content size: 314 bytes
97 All events are unique (incremental timestamps)
98 All events are properly signed
99
100 Concurrent test completed: 323946 operations (273946 queries, 50000 writes) in 1m0.003027777s
101 Operations/sec: 5398.83
102 Avg latency: 1.414998ms
103 Avg query latency: 1.390113ms
104 Avg write latency: 1.551346ms
105 P95 latency: 3.512421ms
106 P99 latency: 5.637893ms
107
108 === Badger benchmark completed ===
109
110
111 ================================================================================
112 BENCHMARK REPORT
113 ================================================================================
114
115 Test: Peak Throughput
116 Duration: 2.963346692s
117 Total Events: 50000
118 Events/sec: 16872.81
119 Success Rate: 100.0%
120 Concurrent Workers: 24
121 Memory Used: 205 MB
122 Avg Latency: 1.294206ms
123 P90 Latency: 1.715271ms
124 P95 Latency: 2.011193ms
125 P99 Latency: 3.190375ms
126 Bottom 10% Avg Latency: 724.237µs
127 ----------------------------------------
128
129 Test: Burst Pattern
130 Duration: 8.038707278s
131 Total Events: 50000
132 Events/sec: 6219.91
133 Success Rate: 100.0%
134 Concurrent Workers: 24
135 Memory Used: 208 MB
136 Avg Latency: 1.28288ms
137 P90 Latency: 1.849315ms
138 P95 Latency: 2.16732ms
139 P99 Latency: 3.046622ms
140 Bottom 10% Avg Latency: 581.238µs
141 ----------------------------------------
142
143 Test: Mixed Read/Write
144 Duration: 24.489286115s
145 Total Events: 50000
146 Events/sec: 2041.71
147 Success Rate: 100.0%
148 Concurrent Workers: 24
149 Memory Used: 199 MB
150 Avg Latency: 372.036µs
151 P90 Latency: 778.229µs
152 P95 Latency: 868.521µs
153 P99 Latency: 1.078812ms
154 Bottom 10% Avg Latency: 1.036235ms
155 ----------------------------------------
156
157 Test: Query Performance
158 Duration: 1m0.003538635s
159 Total Events: 420505
160 Events/sec: 7008.00
161 Success Rate: 100.0%
162 Concurrent Workers: 24
163 Memory Used: 124 MB
164 Avg Latency: 1.572366ms
165 P90 Latency: 4.639693ms
166 P95 Latency: 6.018765ms
167 P99 Latency: 9.565009ms
168 Bottom 10% Avg Latency: 6.728349ms
169 ----------------------------------------
170
171 Test: Concurrent Query/Store
172 Duration: 1m0.003027777s
173 Total Events: 323946
174 Events/sec: 5398.83
175 Success Rate: 100.0%
176 Concurrent Workers: 24
177 Memory Used: 104 MB
178 Avg Latency: 1.414998ms
179 P90 Latency: 2.807811ms
180 P95 Latency: 3.512421ms
181 P99 Latency: 5.637893ms
182 Bottom 10% Avg Latency: 4.028549ms
183 ----------------------------------------
184
185 Report saved to: /tmp/benchmark_khatru-sqlite_8/benchmark_report.txt
186 AsciiDoc report saved to: /tmp/benchmark_khatru-sqlite_8/benchmark_report.adoc
187
188 RELAY_NAME: khatru-sqlite
189 RELAY_URL: ws://khatru-sqlite:3334
190 TEST_TIMESTAMP: 2025-11-20T20:18:50+00:00
191 BENCHMARK_CONFIG:
192 Events: 50000
193 Workers: 24
194 Duration: 60s
195