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 1763653007553371ℹ️ migrating to version 1... /build/pkg/database/migrations.go:66
5 1763653007553443ℹ️ migrating to version 2... /build/pkg/database/migrations.go:73
6 1763653007553473ℹ️ migrating to version 3... /build/pkg/database/migrations.go:80
7 1763653007553480ℹ️ cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
8 1763653007553488ℹ️ cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
9 1763653007553504ℹ️ migrating to version 4... /build/pkg/database/migrations.go:87
10 1763653007553510ℹ️ converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
11 1763653007553522ℹ️ found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
12 1763653007553530ℹ️ 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 15:36:47 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
23 2025/11/20 15:36:47 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
24 Events saved: 50000/50000 (100.0%), errors: 0
25 Duration: 3.186261331s
26 Events/sec: 15692.37
27 Avg latency: 1.434878ms
28 P90 latency: 1.984672ms
29 P95 latency: 2.364988ms
30 P99 latency: 3.569955ms
31 Bottom 10% Avg latency: 773.12µs
32 Wiping database between tests...
33 RunBurstPatternTest (Badger)..
34
35 === Burst Pattern Test ===
36 Burst completed: 5000 events in 344.43488ms
37 Burst completed: 5000 events in 426.471328ms
38 Burst completed: 5000 events in 310.728105ms
39 Burst completed: 5000 events in 315.740557ms
40 Burst completed: 5000 events in 293.680822ms
41 Burst completed: 5000 events in 343.519782ms
42 Burst completed: 5000 events in 375.877865ms
43 Burst completed: 5000 events in 294.27327ms
44 Burst completed: 5000 events in 302.082884ms
45 Burst completed: 5000 events in 275.303333ms
46 Burst test completed: 50000 events in 8.289618326s, errors: 0
47 Events/sec: 6031.64
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.589006764s
66 Combined ops/sec: 2033.43
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: 386321 queries in 1m0.004857306s
79 Queries/sec: 6438.16
80 Avg query latency: 1.735172ms
81 P95 query latency: 7.105431ms
82 P99 query latency: 11.143036ms
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: 307546 operations (257546 queries, 50000 writes) in 1m0.004391663s
101 Operations/sec: 5125.39
102 Avg latency: 1.529592ms
103 Avg query latency: 1.500743ms
104 Avg write latency: 1.678192ms
105 P95 latency: 3.924759ms
106 P99 latency: 6.521318ms
107
108 === Badger benchmark completed ===
109
110
111 ================================================================================
112 BENCHMARK REPORT
113 ================================================================================
114
115 Test: Peak Throughput
116 Duration: 3.186261331s
117 Total Events: 50000
118 Events/sec: 15692.37
119 Success Rate: 100.0%
120 Concurrent Workers: 24
121 Memory Used: 205 MB
122 Avg Latency: 1.434878ms
123 P90 Latency: 1.984672ms
124 P95 Latency: 2.364988ms
125 P99 Latency: 3.569955ms
126 Bottom 10% Avg Latency: 773.12µs
127 ----------------------------------------
128
129 Test: Burst Pattern
130 Duration: 8.289618326s
131 Total Events: 50000
132 Events/sec: 6031.64
133 Success Rate: 100.0%
134 Concurrent Workers: 24
135 Memory Used: 205 MB
136 Avg Latency: 1.438112ms
137 P90 Latency: 2.076818ms
138 P95 Latency: 2.530373ms
139 P99 Latency: 4.989991ms
140 Bottom 10% Avg Latency: 568.599µs
141 ----------------------------------------
142
143 Test: Mixed Read/Write
144 Duration: 24.589006764s
145 Total Events: 50000
146 Events/sec: 2033.43
147 Success Rate: 100.0%
148 Concurrent Workers: 24
149 Memory Used: 200 MB
150 Avg Latency: 375.193µs
151 P90 Latency: 783.333µs
152 P95 Latency: 869.767µs
153 P99 Latency: 1.066383ms
154 Bottom 10% Avg Latency: 1.013439ms
155 ----------------------------------------
156
157 Test: Query Performance
158 Duration: 1m0.004857306s
159 Total Events: 386321
160 Events/sec: 6438.16
161 Success Rate: 100.0%
162 Concurrent Workers: 24
163 Memory Used: 127 MB
164 Avg Latency: 1.735172ms
165 P90 Latency: 5.2786ms
166 P95 Latency: 7.105431ms
167 P99 Latency: 11.143036ms
168 Bottom 10% Avg Latency: 7.866786ms
169 ----------------------------------------
170
171 Test: Concurrent Query/Store
172 Duration: 1m0.004391663s
173 Total Events: 307546
174 Events/sec: 5125.39
175 Success Rate: 100.0%
176 Concurrent Workers: 24
177 Memory Used: 99 MB
178 Avg Latency: 1.529592ms
179 P90 Latency: 3.079278ms
180 P95 Latency: 3.924759ms
181 P99 Latency: 6.521318ms
182 Bottom 10% Avg Latency: 4.582225ms
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-20T15:40:05+00:00
191 BENCHMARK_CONFIG:
192 Events: 50000
193 Workers: 24
194 Duration: 60s
195