add rely-sqlite to benchmark
Some checks failed
Go / build-and-release (push) Has been cancelled

This commit is contained in:
2025-11-20 20:55:37 +00:00
parent 00a6a78a41
commit 55add34ac1
54 changed files with 5519 additions and 4442 deletions

View File

@@ -110,7 +110,11 @@
"Bash(timeout 60 go test:*)",
"Bash(timeout 120 go test:*)",
"Bash(timeout 180 ./scripts/test.sh:*)",
"Bash(CGO_ENABLED=0 timeout 60 go test:*)"
"Bash(CGO_ENABLED=0 timeout 60 go test:*)",
"Bash(CGO_ENABLED=1 go build:*)",
"Bash(lynx:*)",
"Bash(sed:*)",
"Bash(docker stop:*)"
],
"deny": [],
"ask": []

View File

@@ -0,0 +1,6 @@
data/
reports/
*.log
*.db
external/
configs/

View File

@@ -4,14 +4,19 @@ FROM golang:1.25-alpine AS builder
# Install build dependencies including libsecp256k1 build requirements
RUN apk add --no-cache git ca-certificates gcc musl-dev autoconf automake libtool make
# Build libsecp256k1
# Build libsecp256k1 EARLY - this layer will be cached unless secp256k1 version changes
# Using specific version tag and parallel builds for faster compilation
RUN cd /tmp && \
git clone https://github.com/bitcoin-core/secp256k1.git && \
cd secp256k1 && \
git checkout v0.6.0 && \
git submodule init && \
git submodule update && \
./autogen.sh && \
./configure --enable-module-recovery --enable-module-ecdh --enable-module-schnorrsig --enable-module-extrakeys && \
make && \
make install
make -j$(nproc) && \
make install && \
cd /tmp && rm -rf secp256k1
# Set working directory
WORKDIR /build

View File

@@ -4,12 +4,12 @@ FROM ubuntu:22.04 as builder
# Set environment variables
ARG GOLANG_VERSION=1.22.5
# Update package list and install dependencies
# Update package list and install ALL dependencies in one layer
RUN apt-get update && \
apt-get install -y wget ca-certificates && \
apt-get install -y wget ca-certificates build-essential autoconf libtool git && \
rm -rf /var/lib/apt/lists/*
# Download Go binary
# Download and install Go binary
RUN wget https://go.dev/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz && \
rm -rf /usr/local/go && \
tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-amd64.tar.gz && \
@@ -21,8 +21,7 @@ ENV PATH="/usr/local/go/bin:${PATH}"
# Verify installation
RUN go version
RUN apt update && \
apt -y install build-essential autoconf libtool git wget
# Build secp256k1 EARLY - this layer will be cached unless secp256k1 version changes
RUN cd /tmp && \
rm -rf secp256k1 && \
git clone https://github.com/bitcoin-core/secp256k1.git && \
@@ -32,17 +31,18 @@ RUN cd /tmp && \
git submodule update && \
./autogen.sh && \
./configure --enable-module-schnorrsig --enable-module-ecdh --prefix=/usr && \
make -j1 && \
make install
make -j$(nproc) && \
make install && \
cd /tmp && rm -rf secp256k1
# Set working directory
WORKDIR /build
# Copy go modules
# Copy go modules AFTER secp256k1 build - this allows module cache to be reused
COPY go.mod go.sum ./
RUN go mod download
# Copy source code
# Copy source code LAST - this is the most frequently changing layer
COPY . .
# Build the relay (libsecp256k1 installed via make install to /usr/lib)

View File

@@ -269,6 +269,28 @@ services:
retries: 3
start_period: 40s
# Rely-SQLite relay
rely-sqlite:
build:
context: .
dockerfile: Dockerfile.rely-sqlite
container_name: benchmark-rely-sqlite
environment:
- DATABASE_PATH=/data/relay.db
- RELAY_LISTEN=0.0.0.0:3334
volumes:
- ./data/rely-sqlite:/data
ports:
- "8009:3334"
networks:
- benchmark-net
healthcheck:
test: ["CMD-SHELL", "curl -s --max-time 2 http://localhost:3334 2>&1 | head -1 | grep -q ."]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
# Benchmark runner
benchmark-runner:
build:
@@ -292,8 +314,10 @@ services:
condition: service_healthy
nostr-rs-relay:
condition: service_healthy
rely-sqlite:
condition: service_healthy
environment:
- BENCHMARK_TARGETS=next-orly-badger:8080,next-orly-dgraph:8080,next-orly-neo4j:8080,khatru-sqlite:3334,khatru-badger:3334,relayer-basic:7447,strfry:8080,nostr-rs-relay:8080
- BENCHMARK_TARGETS=rely-sqlite:3334,next-orly-badger:8080,next-orly-dgraph:8080,next-orly-neo4j:8080,khatru-sqlite:3334,khatru-badger:3334,relayer-basic:7447,strfry:8080,nostr-rs-relay:8080
- BENCHMARK_EVENTS=50000
- BENCHMARK_WORKERS=24
- BENCHMARK_DURATION=60s

View File

@@ -44,6 +44,7 @@ type BenchmarkConfig struct {
// Backend selection
UseDgraph bool
UseNeo4j bool
UseRelySQLite bool
}
type BenchmarkResult struct {
@@ -126,6 +127,12 @@ func main() {
return
}
if config.UseRelySQLite {
// Run Rely-SQLite benchmark
runRelySQLiteBenchmark(config)
return
}
// Run standard Badger benchmark
fmt.Printf("Starting Nostr Relay Benchmark (Badger Backend)\n")
fmt.Printf("Data Directory: %s\n", config.DataDir)
@@ -189,6 +196,28 @@ func runNeo4jBenchmark(config *BenchmarkConfig) {
neo4jBench.GenerateAsciidocReport()
}
func runRelySQLiteBenchmark(config *BenchmarkConfig) {
fmt.Printf("Starting Nostr Relay Benchmark (Rely-SQLite Backend)\n")
fmt.Printf("Data Directory: %s\n", config.DataDir)
fmt.Printf(
"Events: %d, Workers: %d\n",
config.NumEvents, config.ConcurrentWorkers,
)
relysqliteBench, err := NewRelySQLiteBenchmark(config)
if err != nil {
log.Fatalf("Failed to create Rely-SQLite benchmark: %v", err)
}
defer relysqliteBench.Close()
// Run Rely-SQLite benchmark suite
relysqliteBench.RunSuite()
// Generate reports
relysqliteBench.GenerateReport()
relysqliteBench.GenerateAsciidocReport()
}
func parseFlags() *BenchmarkConfig {
config := &BenchmarkConfig{}
@@ -233,6 +262,10 @@ func parseFlags() *BenchmarkConfig {
&config.UseNeo4j, "neo4j", false,
"Use Neo4j backend (requires Docker)",
)
flag.BoolVar(
&config.UseRelySQLite, "relysqlite", false,
"Use rely-sqlite backend",
)
flag.Parse()
return config

View File

@@ -0,0 +1,99 @@
//go:build ignore
// +build ignore
package main
import (
"context"
"log"
"os"
"os/signal"
"syscall"
"time"
"github.com/nbd-wtf/go-nostr"
sqlite "github.com/vertex-lab/nostr-sqlite"
"github.com/pippellia-btc/rely"
)
func main() {
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
defer cancel()
// Get configuration from environment with defaults
dbPath := os.Getenv("DATABASE_PATH")
if dbPath == "" {
dbPath = "./relay.db"
}
listenAddr := os.Getenv("RELAY_LISTEN")
if listenAddr == "" {
listenAddr = "0.0.0.0:3334"
}
// Initialize database
db, err := sqlite.New(dbPath)
if err != nil {
log.Fatalf("failed to initialize database: %v", err)
}
defer db.Close()
// Create relay with handlers
relay := rely.NewRelay(
rely.WithQueueCapacity(10_000),
rely.WithMaxProcessors(10),
)
// Register event handlers using the correct API
relay.On.Event = Save(db)
relay.On.Req = Query(db)
relay.On.Count = Count(db)
// Start relay
log.Printf("Starting rely-sqlite on %s with database %s", listenAddr, dbPath)
err = relay.StartAndServe(ctx, listenAddr)
if err != nil {
log.Fatalf("relay failed: %v", err)
}
}
// Save handles incoming events
func Save(db *sqlite.Store) func(_ rely.Client, e *nostr.Event) error {
return func(_ rely.Client, e *nostr.Event) error {
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
switch {
case nostr.IsRegularKind(e.Kind):
_, err := db.Save(ctx, e)
return err
case nostr.IsReplaceableKind(e.Kind) || nostr.IsAddressableKind(e.Kind):
_, err := db.Replace(ctx, e)
return err
default:
return nil
}
}
}
// Query retrieves events matching filters
func Query(db *sqlite.Store) func(ctx context.Context, _ rely.Client, filters nostr.Filters) ([]nostr.Event, error) {
return func(ctx context.Context, _ rely.Client, filters nostr.Filters) ([]nostr.Event, error) {
ctx, cancel := context.WithTimeout(ctx, 2*time.Second)
defer cancel()
return db.Query(ctx, filters...)
}
}
// Count counts events matching filters
func Count(db *sqlite.Store) func(_ rely.Client, filters nostr.Filters) (count int64, approx bool, err error) {
return func(_ rely.Client, filters nostr.Filters) (count int64, approx bool, err error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
count, err = db.Count(ctx, filters...)
if err != nil {
return -1, false, err
}
return count, false, nil
}
}

View File

@@ -0,0 +1,151 @@
package main
import (
"fmt"
"log"
"os"
"path/filepath"
"time"
"next.orly.dev/pkg/database"
)
// RelySQLiteBenchmark wraps a Benchmark with rely-sqlite-specific setup
type RelySQLiteBenchmark struct {
config *BenchmarkConfig
database database.Database
bench *BenchmarkAdapter
dbPath string
}
// NewRelySQLiteBenchmark creates a new rely-sqlite benchmark instance
func NewRelySQLiteBenchmark(config *BenchmarkConfig) (*RelySQLiteBenchmark, error) {
// Create database path
dbPath := filepath.Join(config.DataDir, "relysqlite.db")
// Ensure parent directory exists
if err := os.MkdirAll(config.DataDir, 0755); err != nil {
return nil, fmt.Errorf("failed to create data directory: %w", err)
}
// Remove existing database file if it exists
if _, err := os.Stat(dbPath); err == nil {
if err := os.Remove(dbPath); err != nil {
return nil, fmt.Errorf("failed to remove existing database: %w", err)
}
}
// Create wrapper
wrapper, err := NewRelySQLiteWrapper(dbPath)
if err != nil {
return nil, fmt.Errorf("failed to create rely-sqlite wrapper: %w", err)
}
// Wait for database to be ready
fmt.Println("Waiting for rely-sqlite database to be ready...")
select {
case <-wrapper.Ready():
fmt.Println("Rely-sqlite database is ready")
case <-time.After(10 * time.Second):
wrapper.Close()
return nil, fmt.Errorf("rely-sqlite database failed to become ready")
}
// Create adapter to use Database interface with Benchmark
adapter := NewBenchmarkAdapter(config, wrapper)
relysqliteBench := &RelySQLiteBenchmark{
config: config,
database: wrapper,
bench: adapter,
dbPath: dbPath,
}
return relysqliteBench, nil
}
// Close closes the rely-sqlite benchmark
func (rsb *RelySQLiteBenchmark) Close() {
fmt.Println("Closing rely-sqlite benchmark...")
if rsb.database != nil {
rsb.database.Close()
}
// Clean up database file
if rsb.dbPath != "" {
os.Remove(rsb.dbPath)
}
}
// RunSuite runs the benchmark suite on rely-sqlite
func (rsb *RelySQLiteBenchmark) RunSuite() {
fmt.Println("\n╔════════════════════════════════════════════════════════╗")
fmt.Println("║ RELY-SQLITE BACKEND BENCHMARK SUITE ║")
fmt.Println("╚════════════════════════════════════════════════════════╝")
// Run benchmark tests
fmt.Printf("\n=== Starting Rely-SQLite benchmark ===\n")
fmt.Printf("RunPeakThroughputTest (Rely-SQLite)..\n")
rsb.bench.RunPeakThroughputTest()
fmt.Println("Wiping database between tests...")
rsb.wipeDatabase()
time.Sleep(5 * time.Second)
fmt.Printf("RunBurstPatternTest (Rely-SQLite)..\n")
rsb.bench.RunBurstPatternTest()
fmt.Println("Wiping database between tests...")
rsb.wipeDatabase()
time.Sleep(5 * time.Second)
fmt.Printf("RunMixedReadWriteTest (Rely-SQLite)..\n")
rsb.bench.RunMixedReadWriteTest()
fmt.Println("Wiping database between tests...")
rsb.wipeDatabase()
time.Sleep(5 * time.Second)
fmt.Printf("RunQueryTest (Rely-SQLite)..\n")
rsb.bench.RunQueryTest()
fmt.Println("Wiping database between tests...")
rsb.wipeDatabase()
time.Sleep(5 * time.Second)
fmt.Printf("RunConcurrentQueryStoreTest (Rely-SQLite)..\n")
rsb.bench.RunConcurrentQueryStoreTest()
fmt.Printf("\n=== Rely-SQLite benchmark completed ===\n\n")
}
// wipeDatabase recreates the database for a clean slate
func (rsb *RelySQLiteBenchmark) wipeDatabase() {
// Close existing database
if rsb.database != nil {
rsb.database.Close()
}
// Remove database file
if rsb.dbPath != "" {
os.Remove(rsb.dbPath)
}
// Recreate database
wrapper, err := NewRelySQLiteWrapper(rsb.dbPath)
if err != nil {
log.Printf("Failed to recreate database: %v", err)
return
}
rsb.database = wrapper
rsb.bench.db = wrapper
}
// GenerateReport generates the benchmark report
func (rsb *RelySQLiteBenchmark) GenerateReport() {
rsb.bench.GenerateReport()
}
// GenerateAsciidocReport generates asciidoc format report
func (rsb *RelySQLiteBenchmark) GenerateAsciidocReport() {
rsb.bench.GenerateAsciidocReport()
}

View File

@@ -0,0 +1,164 @@
package main
import (
"encoding/hex"
"fmt"
"github.com/nbd-wtf/go-nostr"
orlyEvent "next.orly.dev/pkg/encoders/event"
orlyFilter "next.orly.dev/pkg/encoders/filter"
orlyTag "next.orly.dev/pkg/encoders/tag"
)
// convertToNostrEvent converts an ORLY event to a go-nostr event
func convertToNostrEvent(ev *orlyEvent.E) (*nostr.Event, error) {
if ev == nil {
return nil, fmt.Errorf("nil event")
}
nostrEv := &nostr.Event{
ID: hex.EncodeToString(ev.ID),
PubKey: hex.EncodeToString(ev.Pubkey),
CreatedAt: nostr.Timestamp(ev.CreatedAt),
Kind: int(ev.Kind),
Content: string(ev.Content),
Sig: hex.EncodeToString(ev.Sig),
}
// Convert tags
if ev.Tags != nil && len(*ev.Tags) > 0 {
nostrEv.Tags = make(nostr.Tags, 0, len(*ev.Tags))
for _, orlyTag := range *ev.Tags {
if orlyTag != nil && len(orlyTag.T) > 0 {
tag := make(nostr.Tag, len(orlyTag.T))
for i, val := range orlyTag.T {
tag[i] = string(val)
}
nostrEv.Tags = append(nostrEv.Tags, tag)
}
}
}
return nostrEv, nil
}
// convertFromNostrEvent converts a go-nostr event to an ORLY event
func convertFromNostrEvent(ne *nostr.Event) (*orlyEvent.E, error) {
if ne == nil {
return nil, fmt.Errorf("nil event")
}
ev := orlyEvent.New()
// Convert ID
idBytes, err := hex.DecodeString(ne.ID)
if err != nil {
return nil, fmt.Errorf("failed to decode ID: %w", err)
}
ev.ID = idBytes
// Convert Pubkey
pubkeyBytes, err := hex.DecodeString(ne.PubKey)
if err != nil {
return nil, fmt.Errorf("failed to decode pubkey: %w", err)
}
ev.Pubkey = pubkeyBytes
// Convert Sig
sigBytes, err := hex.DecodeString(ne.Sig)
if err != nil {
return nil, fmt.Errorf("failed to decode signature: %w", err)
}
ev.Sig = sigBytes
// Simple fields
ev.CreatedAt = int64(ne.CreatedAt)
ev.Kind = uint16(ne.Kind)
ev.Content = []byte(ne.Content)
// Convert tags
if len(ne.Tags) > 0 {
ev.Tags = orlyTag.NewS()
for _, nostrTag := range ne.Tags {
if len(nostrTag) > 0 {
tag := orlyTag.NewWithCap(len(nostrTag))
for _, val := range nostrTag {
tag.T = append(tag.T, []byte(val))
}
*ev.Tags = append(*ev.Tags, tag)
}
}
} else {
ev.Tags = orlyTag.NewS()
}
return ev, nil
}
// convertToNostrFilter converts an ORLY filter to a go-nostr filter
func convertToNostrFilter(f *orlyFilter.F) (nostr.Filter, error) {
if f == nil {
return nostr.Filter{}, fmt.Errorf("nil filter")
}
filter := nostr.Filter{}
// Convert IDs
if f.Ids != nil && len(f.Ids.T) > 0 {
filter.IDs = make([]string, 0, len(f.Ids.T))
for _, id := range f.Ids.T {
filter.IDs = append(filter.IDs, hex.EncodeToString(id))
}
}
// Convert Authors
if f.Authors != nil && len(f.Authors.T) > 0 {
filter.Authors = make([]string, 0, len(f.Authors.T))
for _, author := range f.Authors.T {
filter.Authors = append(filter.Authors, hex.EncodeToString(author))
}
}
// Convert Kinds
if f.Kinds != nil && len(f.Kinds.K) > 0 {
filter.Kinds = make([]int, 0, len(f.Kinds.K))
for _, kind := range f.Kinds.K {
filter.Kinds = append(filter.Kinds, int(kind.K))
}
}
// Convert Tags
if f.Tags != nil && len(*f.Tags) > 0 {
filter.Tags = make(nostr.TagMap)
for _, tag := range *f.Tags {
if tag != nil && len(tag.T) >= 2 {
tagName := string(tag.T[0])
tagValues := make([]string, 0, len(tag.T)-1)
for i := 1; i < len(tag.T); i++ {
tagValues = append(tagValues, string(tag.T[i]))
}
filter.Tags[tagName] = tagValues
}
}
}
// Convert timestamps
if f.Since != nil {
ts := nostr.Timestamp(f.Since.V)
filter.Since = &ts
}
if f.Until != nil {
ts := nostr.Timestamp(f.Until.V)
filter.Until = &ts
}
// Convert limit
if f.Limit != nil {
limit := int(*f.Limit)
filter.Limit = limit
}
return filter, nil
}

View File

@@ -0,0 +1,289 @@
package main
import (
"context"
"fmt"
"io"
"time"
sqlite "github.com/vertex-lab/nostr-sqlite"
"next.orly.dev/pkg/database"
"next.orly.dev/pkg/database/indexes/types"
"next.orly.dev/pkg/encoders/event"
"next.orly.dev/pkg/encoders/filter"
"next.orly.dev/pkg/encoders/tag"
"next.orly.dev/pkg/interfaces/store"
)
// RelySQLiteWrapper wraps the vertex-lab/nostr-sqlite store to implement
// the minimal database.Database interface needed for benchmarking
type RelySQLiteWrapper struct {
store *sqlite.Store
path string
ready chan struct{}
}
// NewRelySQLiteWrapper creates a new wrapper around nostr-sqlite
func NewRelySQLiteWrapper(dbPath string) (*RelySQLiteWrapper, error) {
store, err := sqlite.New(dbPath)
if err != nil {
return nil, fmt.Errorf("failed to create sqlite store: %w", err)
}
wrapper := &RelySQLiteWrapper{
store: store,
path: dbPath,
ready: make(chan struct{}),
}
// Close the ready channel immediately as SQLite is ready on creation
close(wrapper.ready)
return wrapper, nil
}
// SaveEvent saves an event to the database
func (w *RelySQLiteWrapper) SaveEvent(ctx context.Context, ev *event.E) (exists bool, err error) {
// Convert ORLY event to go-nostr event
nostrEv, err := convertToNostrEvent(ev)
if err != nil {
return false, fmt.Errorf("failed to convert event: %w", err)
}
// Use Replace for replaceable/addressable events, Save otherwise
if isReplaceableKind(int(ev.Kind)) || isAddressableKind(int(ev.Kind)) {
replaced, err := w.store.Replace(ctx, nostrEv)
return replaced, err
}
saved, err := w.store.Save(ctx, nostrEv)
return !saved, err // saved=true means it's new, exists=false
}
// QueryEvents queries events matching the filter
func (w *RelySQLiteWrapper) QueryEvents(ctx context.Context, f *filter.F) (evs event.S, err error) {
// Convert ORLY filter to go-nostr filter
nostrFilter, err := convertToNostrFilter(f)
if err != nil {
return nil, fmt.Errorf("failed to convert filter: %w", err)
}
// Query the store
nostrEvents, err := w.store.Query(ctx, nostrFilter)
if err != nil {
return nil, fmt.Errorf("query failed: %w", err)
}
// Convert back to ORLY events
events := make(event.S, 0, len(nostrEvents))
for _, ne := range nostrEvents {
ev, err := convertFromNostrEvent(&ne)
if err != nil {
continue // Skip events that fail to convert
}
events = append(events, ev)
}
return events, nil
}
// Close closes the database
func (w *RelySQLiteWrapper) Close() error {
if w.store != nil {
return w.store.Close()
}
return nil
}
// Ready returns a channel that closes when the database is ready
func (w *RelySQLiteWrapper) Ready() <-chan struct{} {
return w.ready
}
// Path returns the database path
func (w *RelySQLiteWrapper) Path() string {
return w.path
}
// Wipe clears all data from the database
func (w *RelySQLiteWrapper) Wipe() error {
// Close current store
if err := w.store.Close(); err != nil {
return err
}
// Delete the database file
// Note: This is a simplified approach - in production you'd want
// to handle this more carefully
return nil
}
// Stub implementations for unused interface methods
func (w *RelySQLiteWrapper) Init(path string) error { return nil }
func (w *RelySQLiteWrapper) Sync() error { return nil }
func (w *RelySQLiteWrapper) SetLogLevel(level string) {}
func (w *RelySQLiteWrapper) GetSerialsFromFilter(f *filter.F) (serials types.Uint40s, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) WouldReplaceEvent(ev *event.E) (bool, types.Uint40s, error) {
return false, nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) QueryAllVersions(c context.Context, f *filter.F) (evs event.S, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) QueryEventsWithOptions(c context.Context, f *filter.F, includeDeleteEvents bool, showAllVersions bool) (evs event.S, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) QueryDeleteEventsByTargetId(c context.Context, targetEventId []byte) (evs event.S, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) QueryForSerials(c context.Context, f *filter.F) (serials types.Uint40s, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) QueryForIds(c context.Context, f *filter.F) (idPkTs []*store.IdPkTs, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) CountEvents(c context.Context, f *filter.F) (count int, approximate bool, err error) {
return 0, false, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) FetchEventBySerial(ser *types.Uint40) (ev *event.E, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) FetchEventsBySerials(serials []*types.Uint40) (events map[uint64]*event.E, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetSerialById(id []byte) (ser *types.Uint40, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetSerialsByIds(ids *tag.T) (serials map[string]*types.Uint40, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetSerialsByIdsWithFilter(ids *tag.T, fn func(ev *event.E, ser *types.Uint40) bool) (serials map[string]*types.Uint40, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetSerialsByRange(idx database.Range) (serials types.Uint40s, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetFullIdPubkeyBySerial(ser *types.Uint40) (fidpk *store.IdPkTs, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetFullIdPubkeyBySerials(sers []*types.Uint40) (fidpks []*store.IdPkTs, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) DeleteEvent(c context.Context, eid []byte) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) DeleteEventBySerial(c context.Context, ser *types.Uint40, ev *event.E) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) DeleteExpired() {}
func (w *RelySQLiteWrapper) ProcessDelete(ev *event.E, admins [][]byte) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) CheckForDeleted(ev *event.E, admins [][]byte) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) Import(rr io.Reader) {}
func (w *RelySQLiteWrapper) Export(c context.Context, writer io.Writer, pubkeys ...[]byte) {
}
func (w *RelySQLiteWrapper) ImportEventsFromReader(ctx context.Context, rr io.Reader) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) ImportEventsFromStrings(ctx context.Context, eventJSONs []string, policyManager interface{ CheckPolicy(action string, ev *event.E, pubkey []byte, remote string) (bool, error) }) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetRelayIdentitySecret() (skb []byte, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) SetRelayIdentitySecret(skb []byte) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetOrCreateRelayIdentitySecret() (skb []byte, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) SetMarker(key string, value []byte) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetMarker(key string) (value []byte, err error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) HasMarker(key string) bool { return false }
func (w *RelySQLiteWrapper) DeleteMarker(key string) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetSubscription(pubkey []byte) (*database.Subscription, error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) IsSubscriptionActive(pubkey []byte) (bool, error) {
return false, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) ExtendSubscription(pubkey []byte, days int) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) RecordPayment(pubkey []byte, amount int64, invoice, preimage string) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetPaymentHistory(pubkey []byte) ([]database.Payment, error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) ExtendBlossomSubscription(pubkey []byte, tier string, storageMB int64, daysExtended int) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetBlossomStorageQuota(pubkey []byte) (quotaMB int64, err error) {
return 0, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) IsFirstTimeUser(pubkey []byte) (bool, error) {
return false, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) AddNIP43Member(pubkey []byte, inviteCode string) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) RemoveNIP43Member(pubkey []byte) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) IsNIP43Member(pubkey []byte) (isMember bool, err error) {
return false, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetNIP43Membership(pubkey []byte) (*database.NIP43Membership, error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) GetAllNIP43Members() ([][]byte, error) {
return nil, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) StoreInviteCode(code string, expiresAt time.Time) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) ValidateInviteCode(code string) (valid bool, err error) {
return false, fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) DeleteInviteCode(code string) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) PublishNIP43MembershipEvent(kind int, pubkey []byte) error {
return fmt.Errorf("not implemented")
}
func (w *RelySQLiteWrapper) RunMigrations() {}
func (w *RelySQLiteWrapper) GetCachedJSON(f *filter.F) ([][]byte, bool) {
return nil, false
}
func (w *RelySQLiteWrapper) CacheMarshaledJSON(f *filter.F, marshaledJSON [][]byte) {
}
func (w *RelySQLiteWrapper) GetCachedEvents(f *filter.F) (event.S, bool) {
return nil, false
}
func (w *RelySQLiteWrapper) CacheEvents(f *filter.F, events event.S) {}
func (w *RelySQLiteWrapper) InvalidateQueryCache() {}
func (w *RelySQLiteWrapper) EventIdsBySerial(start uint64, count int) (evs []uint64, err error) {
return nil, fmt.Errorf("not implemented")
}
// Helper function to check if a kind is replaceable
func isReplaceableKind(kind int) bool {
return (kind >= 10000 && kind < 20000) || kind == 0 || kind == 3
}
// Helper function to check if a kind is addressable
func isAddressableKind(kind int) bool {
return kind >= 30000 && kind < 40000
}

View File

@@ -1,176 +0,0 @@
================================================================
NOSTR RELAY BENCHMARK AGGREGATE REPORT
================================================================
Generated: 2025-11-19T06:13:40+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: 2911.52
Events/sec: 0.00
Events/sec: 2911.52
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 3.938925ms
Bottom 10% Avg Latency: 1.115318ms
Avg Latency: 0s
P95 Latency: 4.624387ms
P95 Latency: 0s
P95 Latency: 112.915µs
Relay: next-orly-dgraph
----------------------------------------
Status: COMPLETED
Events/sec: 2661.66
Events/sec: 0.00
Events/sec: 2661.66
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 4.795769ms
Bottom 10% Avg Latency: 1.212562ms
Avg Latency: 0s
P95 Latency: 6.029522ms
P95 Latency: 0s
P95 Latency: 115.35µs
Relay: next-orly-neo4j
----------------------------------------
Status: COMPLETED
Events/sec: 2827.54
Events/sec: 0.00
Events/sec: 2827.54
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 4.203722ms
Bottom 10% Avg Latency: 1.124184ms
Avg Latency: 0s
P95 Latency: 4.568189ms
P95 Latency: 0s
P95 Latency: 112.755µs
Relay: khatru-sqlite
----------------------------------------
Status: COMPLETED
Events/sec: 2840.91
Events/sec: 0.00
Events/sec: 2840.91
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 4.23095ms
Bottom 10% Avg Latency: 1.142932ms
Avg Latency: 0s
P95 Latency: 4.703046ms
P95 Latency: 0s
P95 Latency: 113.897µs
Relay: khatru-badger
----------------------------------------
Status: COMPLETED
Events/sec: 2885.30
Events/sec: 0.00
Events/sec: 2885.30
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 3.985846ms
Bottom 10% Avg Latency: 1.120349ms
Avg Latency: 0s
P95 Latency: 4.23797ms
P95 Latency: 0s
P95 Latency: 114.277µs
Relay: relayer-basic
----------------------------------------
Status: COMPLETED
Events/sec: 2707.76
Events/sec: 0.00
Events/sec: 2707.76
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 4.657987ms
Bottom 10% Avg Latency: 1.266467ms
Avg Latency: 0s
P95 Latency: 5.603449ms
P95 Latency: 0s
P95 Latency: 112.123µs
Relay: strfry
----------------------------------------
Status: COMPLETED
Events/sec: 2841.22
Events/sec: 0.00
Events/sec: 2841.22
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 4.088506ms
Bottom 10% Avg Latency: 1.135387ms
Avg Latency: 0s
P95 Latency: 4.517428ms
P95 Latency: 0s
P95 Latency: 113.396µs
Relay: nostr-rs-relay
----------------------------------------
Status: COMPLETED
Events/sec: 2883.32
Events/sec: 0.00
Events/sec: 2883.32
Success Rate: 23.2%
Success Rate: 0.0%
Success Rate: 50.0%
Avg Latency: 4.044321ms
Bottom 10% Avg Latency: 1.103637ms
Avg Latency: 0s
P95 Latency: 4.602719ms
P95 Latency: 0s
P95 Latency: 114.679µs
================================================================
DETAILED RESULTS
================================================================
Individual relay reports are available in:
- /reports/run_20251119_054648/khatru-badger_results.txt
- /reports/run_20251119_054648/khatru-sqlite_results.txt
- /reports/run_20251119_054648/next-orly-badger_results.txt
- /reports/run_20251119_054648/next-orly-dgraph_results.txt
- /reports/run_20251119_054648/next-orly-neo4j_results.txt
- /reports/run_20251119_054648/nostr-rs-relay_results.txt
- /reports/run_20251119_054648/relayer-basic_results.txt
- /reports/run_20251119_054648/strfry_results.txt
================================================================
BENCHMARK COMPARISON TABLE
================================================================
Relay Status Peak Tput/s Avg Latency Success Rate
---- ------ ----------- ----------- ------------
next-orly-badger OK 2911.52 3.938925ms 23.2%
next-orly-dgraph OK 2661.66 4.795769ms 23.2%
next-orly-neo4j OK 2827.54 4.203722ms 23.2%
khatru-sqlite OK 2840.91 4.23095ms 23.2%
khatru-badger OK 2885.30 3.985846ms 23.2%
relayer-basic OK 2707.76 4.657987ms 23.2%
strfry OK 2841.22 4.088506ms 23.2%
nostr-rs-relay OK 2883.32 4.044321ms 23.2%
================================================================
End of Report
================================================================

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_khatru-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
1763532013820368 migrating to version 1... /build/pkg/database/migrations.go:66
1763532013820438 migrating to version 2... /build/pkg/database/migrations.go:73
1763532013820599 migrating to version 3... /build/pkg/database/migrations.go:80
1763532013820636 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763532013820660 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763532013820689 migrating to version 4... /build/pkg/database/migrations.go:87
1763532013820696 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763532013820709 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763532013820716 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763532014234684🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014251555🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014251585🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014251639🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014254033🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014254683🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014260808🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014260870🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014260812🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014277104🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014277657🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014278205🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014278285🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014336903🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014363478🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014364290🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014364354🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014372904🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014372959🚨 id not found in database /build/pkg/database/save-event.go:332
1763532014372971⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763532014372938🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014373003🚨 id not found in database /build/pkg/database/save-event.go:332
1763532014373014⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763532014383001🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014388837🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014388919🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014391202🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014391216🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014395794🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014396847🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014396979🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014396873🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014396880🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014396846🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014397913🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014398032🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014398153🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014398247🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014398524🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014400310🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014403460🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014403895🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014404002🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014470332🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014934773🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014936459🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014936494🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014936497🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014937911🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014939536🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014940367🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014941984🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014942689🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014942709🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014942750🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014942741🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014942816🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014943338🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014943451🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014943893🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014944522🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014944537🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014945141🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014946012🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014946045🚨 id not found in database /build/pkg/database/save-event.go:332
1763532014946054⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763532014952520🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014952585🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014952570🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014952563🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014952804🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014952823🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014962010🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014964509🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014966546🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014967125🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014967251🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014967275🚨 id not found in database /build/pkg/database/save-event.go:332
1763532014967285⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763532014967615🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014967952🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014968056🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014969528🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014970610🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014971146🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014971229🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014972191🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014972290🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014972853🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014972895🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014974659🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014974684🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014974733🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014974970🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014975040🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014977640🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014978813🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014978844🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014979660🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014980760🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014981739🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014984695🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014987050🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014990255🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014990268🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014993000🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014993071🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014996648🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014997887🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014997959🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014999208🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532014999202🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015000529🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015000865🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015000886🚨 id not found in database /build/pkg/database/save-event.go:332
1763532015000896⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763532015002409🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015004222🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015004801🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015008082🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015008121🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015009296🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015009474🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015009686🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015012705🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015012722🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015012772🚨 id not found in database /build/pkg/database/save-event.go:332
1763532015012781⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763532015012725🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015013275🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015015485🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015019833🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015020302🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015020468🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015021079🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015021179🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015021350🚨 id not found in database /build/pkg/database/save-event.go:332
1763532015021469⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763532015064798🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015093196🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015094045🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015094353🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015095456🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015095647🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015096130🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015097710🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015098568🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015098646🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015098916🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015098980🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015099247🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015099372🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015108396🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015119916🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015119977🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015120078🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015120399🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015120616🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015122335🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015122440🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015123578🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015124232🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015124271🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015124633🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015125046🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015125334🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015125478🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015126491🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015128111🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015129915🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015130524🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015130922🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015130936🚨 id not found in database /build/pkg/database/save-event.go:332
1763532015130947⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763532015132041🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015132140🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015132159🚨 id not found in database /build/pkg/database/save-event.go:332
1763532015132169⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763532015132455🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015133481🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015135204🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015136901🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015139167🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015139314🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015139559🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015141275🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015142111🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015142160🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015142311🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015142362🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015142802🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015144182🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015145669🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015146606🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015146730🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015146734🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015146823🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015149126🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015149475🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015150317🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015150316🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015151297🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015151530🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015153167🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015153511🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015153573🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015155305🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015155850🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015156230🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015156939🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015156993🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015157067🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015157244🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015157507🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015157735🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015158040🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015158976🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015158977🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015159156🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015169407🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015169419🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015169831🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015169843🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015170898🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015171507🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015171504🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015171625🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015171670🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015171725🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015171739🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532015172695🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11594/50000 (23.2%), errors: 38406
Duration: 4.018301066s
Events/sec: 2885.30
Avg latency: 3.985846ms
P90 latency: 3.336914ms
P95 latency: 4.23797ms
P99 latency: 73.250512ms
Bottom 10% Avg latency: 1.120349ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 340.161594ms
Burst completed: 5000 events in 341.757352ms
Burst completed: 5000 events in 343.518235ms
Burst completed: 5000 events in 351.096045ms
Burst completed: 5000 events in 332.761293ms
Burst completed: 5000 events in 335.458889ms
Burst completed: 5000 events in 331.664424ms
Burst completed: 5000 events in 347.834073ms
Burst completed: 5000 events in 356.191406ms
Burst completed: 5000 events in 335.250061ms
Burst test completed: 0 events in 8.421134295s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.626390359s
Combined ops/sec: 1104.90
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 403899 queries in 1m0.00394972s
Queries/sec: 6731.21
Avg query latency: 1.574327ms
P95 query latency: 5.370236ms
P99 query latency: 9.259041ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 564827 operations (564827 queries, 0 writes) in 1m0.001868516s
Operations/sec: 9413.49
Avg latency: 45.49µs
Avg query latency: 45.49µs
Avg write latency: 0s
P95 latency: 87.116µs
P99 latency: 128.965µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 4.018301066s
Total Events: 11594
Events/sec: 2885.30
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 398 MB
Avg Latency: 3.985846ms
P90 Latency: 3.336914ms
P95 Latency: 4.23797ms
P99 Latency: 73.250512ms
Bottom 10% Avg Latency: 1.120349ms
----------------------------------------
Test: Burst Pattern
Duration: 8.421134295s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 226 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.626390359s
Total Events: 25000
Events/sec: 1104.90
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 400 MB
Avg Latency: 82.006µs
P90 Latency: 103.006µs
P95 Latency: 114.277µs
P99 Latency: 141.409µs
Bottom 10% Avg Latency: 128.204µs
Errors (25000):
- blocked: event already exists: 193c67d51dab9dc19eeebcde810364f2ba7d105ab9206de1f4f0f884db23e6e2
- blocked: event already exists: 06061b630fd0881cbe7ed02114584fea59b9621c2e9479e6e6aa2be561240a90
- blocked: event already exists: 1642d6770a74de7ca45169bc76dab334591bcb2191044da0b18459888164f9fc
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 11aa0b6defe3d58cef2f93c06fb194bc72241f17fb35312594d279f6c8f13d44
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.00394972s
Total Events: 403899
Events/sec: 6731.21
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 343 MB
Avg Latency: 1.574327ms
P90 Latency: 4.377275ms
P95 Latency: 5.370236ms
P99 Latency: 9.259041ms
Bottom 10% Avg Latency: 6.283482ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.001868516s
Total Events: 564827
Events/sec: 9413.49
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 314 MB
Avg Latency: 45.49µs
P90 Latency: 77.518µs
P95 Latency: 87.116µs
P99 Latency: 128.965µs
Bottom 10% Avg Latency: 98.509µs
Errors (50000):
- blocked: event already exists: 0ce484c600cb1c0b33f1e38ddea4b38a47069615d22114a9c621a9164d9b6218
- blocked: event already exists: 0e0b4dfd5e4ecfb0d3acb8db48d13833edeac5163fbcba9fb94160b686c07595
- blocked: event already exists: 048d7b07155b3832a76eac0b46bea764cac3597dfbc28b559698d51f915cb6d1
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
- blocked: event already exists: 03edc6b095b2a314733ea3dc689bb54e8739d443e9e69dd61334a5d376bf72a4
... and 49995 more errors
----------------------------------------
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-19T06:03:30+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_khatru-sqlite_8
Events: 50000, Workers: 24, Duration: 1m0s
1763531812447164 migrating to version 1... /build/pkg/database/migrations.go:66
1763531812447229 migrating to version 2... /build/pkg/database/migrations.go:73
1763531812447253 migrating to version 3... /build/pkg/database/migrations.go:80
1763531812447258 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763531812447267 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763531812447280 migrating to version 4... /build/pkg/database/migrations.go:87
1763531812447284 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763531812447299 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763531812447305 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763531812868715🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812885777🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812885785🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812885781🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812888045🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812888883🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812894492🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812894803🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812894864🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812906496🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812906886🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812907798🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812907811🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812970866🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812994211🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812994242🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531812995432🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813002343🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813002408🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813002419⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763531813002352🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813002444🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813002453⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763531813015072🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813021384🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813021454🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813024080🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813024096🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813028103🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813028164🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813028163🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813028172🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813029347🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813029380🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813029352🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813029730🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813030214🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813030785🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813030957🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813031557🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813035531🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813036469🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813036495🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813099067🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813562314🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813562971🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813565216🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813565216🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813567538🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813567585🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813567716🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813568218🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813568287🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813569557🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813570316🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813570360🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813570365🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813571136🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813571233🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813572029🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813572530🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813572639🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813574021🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813574064🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813574094🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813574102⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763531813580239🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813580983🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813581043🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813581051🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813581057🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813582095🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813591212🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813592938🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813595510🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813595557🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813595567⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763531813596639🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813597830🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813597913🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813597995🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813598000🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813601235🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813601369🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813601858🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813603356🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813603525🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813604715🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813604863🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813605574🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813605606🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813607117🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813607278🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813607509🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813607624🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813612677🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813612797🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813614702🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813614764🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813614882🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813617726🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813623543🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813625833🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813626707🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813627647🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813632382🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813632571🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813635724🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813636426🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813636441🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813639483🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813639507🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813639674🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813639722🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813639732🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813639741⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763531813640713🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813643809🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813644009🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813647476🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813647510🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813647627🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813648800🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813648916🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813650458🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813651830🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813651871🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813651882⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763531813652883🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813652944🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813653924🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813659588🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813659716🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813659733🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813660461🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813660671🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813660696🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813660706⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763531813665655🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813667093🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813669863🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813669986🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813670282🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813717436🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813717882🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813717901🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813718988🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813719942🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813721821🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813738580🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813738746🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813739264🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813748490🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813759607🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813759605🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813760687🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813762309🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813765035🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813765052🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813765323🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813765579🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813765764🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813766675🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813766899🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813767155🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813767196🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813772016🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813772674🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813776484🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813776639🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813778873🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813779242🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813779285🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813779295⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763531813779456🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813779483🚨 id not found in database /build/pkg/database/save-event.go:332
1763531813779497⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763531813779697🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813780185🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813781185🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813785435🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813786078🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813787727🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813788738🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813788858🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813791644🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813791838🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813791870🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813792007🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813792229🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813793643🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813795596🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813796358🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813797479🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813798679🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813800350🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813800531🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813800925🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813800936🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813800925🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813803971🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813803969🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813804958🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813806100🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813817052🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813817048🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813818064🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813818135🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813818275🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813818876🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813818912🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813819267🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813819296🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813819709🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813820510🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813820746🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813821066🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813821216🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813821322🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813821776🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813822026🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813822031🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813826902🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813827998🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813828498🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813828596🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813828687🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813828721🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813828601🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813829312🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531813830658🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11596/50000 (23.2%), errors: 38404
Duration: 4.081787895s
Events/sec: 2840.91
Avg latency: 4.23095ms
P90 latency: 3.400435ms
P95 latency: 4.703046ms
P99 latency: 81.047331ms
Bottom 10% Avg latency: 1.142932ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 346.663376ms
Burst completed: 5000 events in 333.067587ms
Burst completed: 5000 events in 330.484528ms
Burst completed: 5000 events in 338.487447ms
Burst completed: 5000 events in 341.447764ms
Burst completed: 5000 events in 364.127901ms
Burst completed: 5000 events in 344.947769ms
Burst completed: 5000 events in 341.432775ms
Burst completed: 5000 events in 347.698657ms
Burst completed: 5000 events in 341.10947ms
Burst test completed: 0 events in 8.436449617s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.467041454s
Combined ops/sec: 1112.74
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 408433 queries in 1m0.005096356s
Queries/sec: 6806.64
Avg query latency: 1.551089ms
P95 query latency: 5.244046ms
P99 query latency: 9.025085ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 564551 operations (564551 queries, 0 writes) in 1m0.000283858s
Operations/sec: 9409.14
Avg latency: 45.619µs
Avg query latency: 45.619µs
Avg write latency: 0s
P95 latency: 87.236µs
P99 latency: 130.949µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 4.081787895s
Total Events: 11596
Events/sec: 2840.91
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 384 MB
Avg Latency: 4.23095ms
P90 Latency: 3.400435ms
P95 Latency: 4.703046ms
P99 Latency: 81.047331ms
Bottom 10% Avg Latency: 1.142932ms
----------------------------------------
Test: Burst Pattern
Duration: 8.436449617s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 215 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.467041454s
Total Events: 25000
Events/sec: 1112.74
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 385 MB
Avg Latency: 82.061µs
P90 Latency: 102.695µs
P95 Latency: 113.897µs
P99 Latency: 140.147µs
Bottom 10% Avg Latency: 129.144µs
Errors (25000):
- blocked: event already exists: 06061b630fd0881cbe7ed02114584fea59b9621c2e9479e6e6aa2be561240a90
- blocked: event already exists: 048d7b07155b3832a76eac0b46bea764cac3597dfbc28b559698d51f915cb6d1
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 11aa0b6defe3d58cef2f93c06fb194bc72241f17fb35312594d279f6c8f13d44
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.005096356s
Total Events: 408433
Events/sec: 6806.64
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 366 MB
Avg Latency: 1.551089ms
P90 Latency: 4.323112ms
P95 Latency: 5.244046ms
P99 Latency: 9.025085ms
Bottom 10% Avg Latency: 6.133631ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.000283858s
Total Events: 564551
Events/sec: 9409.14
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 353 MB
Avg Latency: 45.619µs
P90 Latency: 77.388µs
P95 Latency: 87.236µs
P99 Latency: 130.949µs
Bottom 10% Avg Latency: 98.767µs
Errors (50000):
- blocked: event already exists: 01e9943cf5e805283c512b9c26cf69f7e9ff412710d7543a3a52dc93ac7e8a57
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 03edc6b095b2a314733ea3dc689bb54e8739d443e9e69dd61334a5d376bf72a4
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
... and 49995 more errors
----------------------------------------
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-19T06:00:08+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
1763531208053542 migrating to version 1... /build/pkg/database/migrations.go:66
1763531208053690 migrating to version 2... /build/pkg/database/migrations.go:73
1763531208053742 migrating to version 3... /build/pkg/database/migrations.go:80
1763531208053750 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763531208053760 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763531208053778 migrating to version 4... /build/pkg/database/migrations.go:87
1763531208053784 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763531208053801 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763531208053808 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763531208465992🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208483000🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208483002🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208483661🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208485058🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208485701🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208491992🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208492314🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208492945🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208507228🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208507404🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208507623🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208508352🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208565748🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208593189🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208593671🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208594027🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208602302🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208602343🚨 id not found in database /build/pkg/database/save-event.go:332
1763531208602353⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763531208602584🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208602605🚨 id not found in database /build/pkg/database/save-event.go:332
1763531208602611⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763531208610060🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208618508🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208618604🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208622203🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208622231🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208626334🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208626349🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208626357🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208626874🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208626909🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208626885🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208626879🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208627275🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208627366🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208628641🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208628657🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208630021🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208632589🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208633861🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208633918🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531208707199🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209162276🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209162272🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209162817🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209162842🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209165303🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209165301🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209166674🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209166730🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209167368🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209167390🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209167886🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209168683🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209168686🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209169118🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209169150🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209170268🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209170273🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209170304🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209171666🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209171826🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209171854🚨 id not found in database /build/pkg/database/save-event.go:332
1763531209171863⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763531209177425🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209177559🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209178508🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209178569🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209178611🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209179115🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209187446🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209190525🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209192408🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209192833🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209193582🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209193679🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209193698🚨 id not found in database /build/pkg/database/save-event.go:332
1763531209193706🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209193707⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763531209193752🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209195157🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209197056🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209197225🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209197585🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209198217🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209198927🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209198996🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209199967🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209200128🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209200229🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209201976🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209202454🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209202456🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209204631🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209204834🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209205952🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209206128🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209206132🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209208116🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209211081🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209213252🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209214253🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209215036🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209218532🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209219160🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209222863🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209222881🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209222965🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209224623🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209225425🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209225575🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209225925🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209225963🚨 id not found in database /build/pkg/database/save-event.go:332
1763531209225976⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763531209227378🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209230128🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209231247🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209234368🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209234474🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209235586🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209235721🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209235726🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209237302🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209237697🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209238490🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209238511🚨 id not found in database /build/pkg/database/save-event.go:332
1763531209238521⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763531209238633🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209240817🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209244908🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209246392🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209247168🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209247218🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209247624🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209247733🚨 id not found in database /build/pkg/database/save-event.go:332
1763531209247887⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763531209258006🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209279804🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209281422🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209281504🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209282064🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209282725🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209302439🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209302967🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209303684🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209304213🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209304357🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209304523🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209304583🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209305101🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209330784🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209340122🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209340215🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209345768🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209346170🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209346179🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209346425🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209346897🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209347883🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209347912🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209347965🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209348714🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209349164🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209349193🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209350881🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209350968🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209352091🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209353585🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209355263🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209355876🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209355928🚨 id not found in database /build/pkg/database/save-event.go:332
1763531209355941⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763531209355985🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209356002🚨 id not found in database /build/pkg/database/save-event.go:332
1763531209356010⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763531209356081🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209356450🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209356604🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209359937🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209360087🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209361772🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209361849🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209362879🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209363754🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209365054🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209365110🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209365144🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209365175🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209366595🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209366598🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209368981🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209369366🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209369921🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209369991🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209370020🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209371151🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209372195🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209372361🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209372416🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209372441🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209374373🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209375330🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209375383🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209375621🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209376946🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209376950🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209377448🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209377499🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209378356🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209378357🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209378418🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209378454🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209382899🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209383451🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209387993🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209388236🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209401957🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209402627🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209402903🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209403446🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209403453🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209404336🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209404676🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209404984🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209405085🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209405676🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209405823🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209405861🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531209406920🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11592/50000 (23.2%), errors: 38408
Duration: 3.98141893s
Events/sec: 2911.52
Avg latency: 3.938925ms
P90 latency: 3.357143ms
P95 latency: 4.624387ms
P99 latency: 71.546396ms
Bottom 10% Avg latency: 1.115318ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 342.062444ms
Burst completed: 5000 events in 342.428441ms
Burst completed: 5000 events in 331.568769ms
Burst completed: 5000 events in 325.104719ms
Burst completed: 5000 events in 336.284199ms
Burst completed: 5000 events in 336.312002ms
Burst completed: 5000 events in 336.094447ms
Burst completed: 5000 events in 333.072923ms
Burst completed: 5000 events in 350.917627ms
Burst completed: 5000 events in 329.621891ms
Burst test completed: 0 events in 8.368751649s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.617040249s
Combined ops/sec: 1105.36
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 404906 queries in 1m0.003855016s
Queries/sec: 6748.00
Avg query latency: 1.567428ms
P95 query latency: 5.346663ms
P99 query latency: 9.186414ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 565785 operations (565785 queries, 0 writes) in 1m0.000685928s
Operations/sec: 9429.64
Avg latency: 45.237µs
Avg query latency: 45.237µs
Avg write latency: 0s
P95 latency: 86.405µs
P99 latency: 126.221µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.98141893s
Total Events: 11592
Events/sec: 2911.52
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 409 MB
Avg Latency: 3.938925ms
P90 Latency: 3.357143ms
P95 Latency: 4.624387ms
P99 Latency: 71.546396ms
Bottom 10% Avg Latency: 1.115318ms
----------------------------------------
Test: Burst Pattern
Duration: 8.368751649s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 316 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.617040249s
Total Events: 25000
Events/sec: 1105.36
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 358 MB
Avg Latency: 81.046µs
P90 Latency: 102.124µs
P95 Latency: 112.915µs
P99 Latency: 137.351µs
Bottom 10% Avg Latency: 122.82µs
Errors (25000):
- blocked: event already exists: 2197ff7ffc723d2fb4f7e44aeaf0ed8c2e0e2f3fb3aae29f2e33e0683ddf1a99
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 0ce484c600cb1c0b33f1e38ddea4b38a47069615d22114a9c621a9164d9b6218
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
- blocked: event already exists: 1642d6770a74de7ca45169bc76dab334591bcb2191044da0b18459888164f9fc
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.003855016s
Total Events: 404906
Events/sec: 6748.00
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 370 MB
Avg Latency: 1.567428ms
P90 Latency: 4.371194ms
P95 Latency: 5.346663ms
P99 Latency: 9.186414ms
Bottom 10% Avg Latency: 6.253752ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.000685928s
Total Events: 565785
Events/sec: 9429.64
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 285 MB
Avg Latency: 45.237µs
P90 Latency: 76.916µs
P95 Latency: 86.405µs
P99 Latency: 126.221µs
Bottom 10% Avg Latency: 96.947µs
Errors (50000):
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 0f06ba91f371d4f8647a3f9529af3b9a012988eabf9f7c2eb42b39aa86697ea9
- blocked: event already exists: 06061b630fd0881cbe7ed02114584fea59b9621c2e9479e6e6aa2be561240a90
- blocked: event already exists: 01e9943cf5e805283c512b9c26cf69f7e9ff412710d7543a3a52dc93ac7e8a57
... and 49995 more errors
----------------------------------------
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-19T05:50:04+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-dgraph_8
Events: 50000, Workers: 24, Duration: 1m0s
1763531409344607 migrating to version 1... /build/pkg/database/migrations.go:66
1763531409344681 migrating to version 2... /build/pkg/database/migrations.go:73
1763531409344706 migrating to version 3... /build/pkg/database/migrations.go:80
1763531409344712 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763531409344720 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763531409344735 migrating to version 4... /build/pkg/database/migrations.go:87
1763531409344740 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763531409344750 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763531409344755 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763531409759610🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409776086🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409776771🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409776804🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409778374🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409779152🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409784971🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409785617🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409785633🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409800163🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409801153🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409801420🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409802414🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409862218🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409893021🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409893729🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409893845🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409903047🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409903106🚨 id not found in database /build/pkg/database/save-event.go:332
1763531409903118⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763531409903232🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409903259🚨 id not found in database /build/pkg/database/save-event.go:332
1763531409903268⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763531409915985🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409923045🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409923074🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409924533🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409924591🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409931212🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409931262🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409931215🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409931529🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409931623🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409931683🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409931717🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409932268🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409932860🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409933379🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409934990🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409935370🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409940251🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409940354🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531409940445🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410018217🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410580488🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410581675🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410581900🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410582040🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410585617🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410585827🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410586939🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410587543🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410589137🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410589245🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410589709🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410589866🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410590173🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410591177🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410591619🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410591882🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410591940🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410593576🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410593582🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410595220🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410595270🚨 id not found in database /build/pkg/database/save-event.go:332
1763531410595283⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763531410601931🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410602639🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410602948🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410603018🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410603032🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410604054🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410615476🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410618852🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410621310🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410622085🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410622542🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410622694🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410623081🚨 id not found in database /build/pkg/database/save-event.go:332
1763531410623190⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763531410625660🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410625875🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410627147🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410628773🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410628799🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410631527🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410633749🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410635043🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410635129🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410636981🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410637344🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410637661🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410637900🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410640346🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410640479🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410641582🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410642954🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410643510🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410644729🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410645234🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410646826🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410653499🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410655186🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410656858🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410657174🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410662374🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410663158🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410667648🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410667651🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410669820🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410670020🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410670837🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410670876🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410671525🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410671553🚨 id not found in database /build/pkg/database/save-event.go:332
1763531410671564⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763531410672779🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410674901🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410676001🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410681122🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410681358🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410681494🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410683894🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410685543🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410687981🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410688533🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410724866🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410724928🚨 id not found in database /build/pkg/database/save-event.go:332
1763531410724940⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763531410724987🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410770270🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410777849🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410778883🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410779911🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410780788🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410780841🚨 id not found in database /build/pkg/database/save-event.go:332
1763531410780854⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763531410781677🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410791857🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410794114🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410794283🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410796455🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410797679🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410798175🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410799065🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410802177🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410803368🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410804150🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410804338🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410804382🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410804458🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410804719🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410821062🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410833464🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410834106🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410834246🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410835105🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410836569🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410837441🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410837610🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410837763🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410840857🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410841784🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410842816🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410842931🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410843145🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410843483🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410844039🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410846135🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410846834🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410848379🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410850717🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410852878🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410853093🚨 id not found in database /build/pkg/database/save-event.go:332
1763531410853211⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763531410852879🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410853359🚨 id not found in database /build/pkg/database/save-event.go:332
1763531410853372⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763531410853308🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410853791🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410855175🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410856611🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410857598🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410858251🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410859031🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410860805🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410862140🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410862321🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410862439🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410863187🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410863202🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410864904🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410868122🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410869575🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410869665🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410870058🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410870128🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410870884🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410874467🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410875395🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410891523🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410892283🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410893472🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410894764🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410895562🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410895719🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410896070🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410897173🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410897187🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410897198🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410897778🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410897979🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410898440🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410898758🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410898832🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410899952🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410900622🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410933276🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410933374🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410933901🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410934099🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410934447🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410934494🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410935849🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410935923🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410936168🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410936541🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410936556🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410936570🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410937707🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531410937742🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11594/50000 (23.2%), errors: 38406
Duration: 4.355930627s
Events/sec: 2661.66
Avg latency: 4.795769ms
P90 latency: 4.155613ms
P95 latency: 6.029522ms
P99 latency: 90.290502ms
Bottom 10% Avg latency: 1.212562ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 347.262129ms
Burst completed: 5000 events in 340.789843ms
Burst completed: 5000 events in 335.779512ms
Burst completed: 5000 events in 337.508905ms
Burst completed: 5000 events in 332.483505ms
Burst completed: 5000 events in 330.245503ms
Burst completed: 5000 events in 327.047944ms
Burst completed: 5000 events in 337.854803ms
Burst completed: 5000 events in 341.472684ms
Burst completed: 5000 events in 338.139736ms
Burst test completed: 0 events in 8.375225019s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.648388132s
Combined ops/sec: 1103.83
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 392001 queries in 1m0.005057189s
Queries/sec: 6532.80
Avg query latency: 1.635372ms
P95 query latency: 5.6029ms
P99 query latency: 9.496203ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 566246 operations (566246 queries, 0 writes) in 1m0.00114177s
Operations/sec: 9437.25
Avg latency: 45.308µs
Avg query latency: 45.308µs
Avg write latency: 0s
P95 latency: 87.115µs
P99 latency: 132.623µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 4.355930627s
Total Events: 11594
Events/sec: 2661.66
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 344 MB
Avg Latency: 4.795769ms
P90 Latency: 4.155613ms
P95 Latency: 6.029522ms
P99 Latency: 90.290502ms
Bottom 10% Avg Latency: 1.212562ms
----------------------------------------
Test: Burst Pattern
Duration: 8.375225019s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 368 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.648388132s
Total Events: 25000
Events/sec: 1103.83
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 335 MB
Avg Latency: 82.523µs
P90 Latency: 103.357µs
P95 Latency: 115.35µs
P99 Latency: 145.828µs
Bottom 10% Avg Latency: 129.81µs
Errors (25000):
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 06061b630fd0881cbe7ed02114584fea59b9621c2e9479e6e6aa2be561240a90
- blocked: event already exists: 0ce484c600cb1c0b33f1e38ddea4b38a47069615d22114a9c621a9164d9b6218
- blocked: event already exists: 2197ff7ffc723d2fb4f7e44aeaf0ed8c2e0e2f3fb3aae29f2e33e0683ddf1a99
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.005057189s
Total Events: 392001
Events/sec: 6532.80
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 421 MB
Avg Latency: 1.635372ms
P90 Latency: 4.618756ms
P95 Latency: 5.6029ms
P99 Latency: 9.496203ms
Bottom 10% Avg Latency: 6.522705ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.00114177s
Total Events: 566246
Events/sec: 9437.25
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 437 MB
Avg Latency: 45.308µs
P90 Latency: 76.856µs
P95 Latency: 87.115µs
P99 Latency: 132.623µs
Bottom 10% Avg Latency: 98.925µs
Errors (50000):
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 01e9943cf5e805283c512b9c26cf69f7e9ff412710d7543a3a52dc93ac7e8a57
- blocked: event already exists: 1642d6770a74de7ca45169bc76dab334591bcb2191044da0b18459888164f9fc
- blocked: event already exists: 15c0a862ce4191bc51a1b668f77869c13cd81fd0af9473759a04ce2637a8860a
- blocked: event already exists: 0e0b4dfd5e4ecfb0d3acb8db48d13833edeac5163fbcba9fb94160b686c07595
... and 49995 more errors
----------------------------------------
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-19T05:53:26+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-neo4j_8
Events: 50000, Workers: 24, Duration: 1m0s
1763531611066103 migrating to version 1... /build/pkg/database/migrations.go:66
1763531611066178 migrating to version 2... /build/pkg/database/migrations.go:73
1763531611066207 migrating to version 3... /build/pkg/database/migrations.go:80
1763531611066214 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763531611066225 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763531611066244 migrating to version 4... /build/pkg/database/migrations.go:87
1763531611066251 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763531611066267 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763531611066274 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763531611477120🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611493941🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611494126🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611494926🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611496231🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611496246🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611502279🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611503297🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611503330🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611518900🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611518891🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611519488🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611519747🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611577871🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611606029🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611606900🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611606947🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611614519🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611614565🚨 id not found in database /build/pkg/database/save-event.go:332
1763531611614574⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763531611614525🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611614608🚨 id not found in database /build/pkg/database/save-event.go:332
1763531611614621⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763531611624602🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611629772🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611629796🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611631851🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611631931🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611636831🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611636859🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611638048🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611638089🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611638115🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611638587🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611638716🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611639199🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611639225🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611639803🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611639863🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611640930🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611644335🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611644684🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611644898🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531611708589🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612171835🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612172653🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612172732🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612173556🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612175511🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612177118🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612177776🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612178379🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612178372🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612178397🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612179258🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612179440🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612179480🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612179957🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612180057🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612181198🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612181239🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612181692🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612182749🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612183455🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612183483🚨 id not found in database /build/pkg/database/save-event.go:332
1763531612183491⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763531612189208🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612189347🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612189377🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612189422🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612189435🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612190775🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612199207🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612202839🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612204455🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612204751🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612204774🚨 id not found in database /build/pkg/database/save-event.go:332
1763531612204782⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763531612205235🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612205306🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612205344🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612206263🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612209033🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612209322🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612209353🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612210019🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612210383🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612210675🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612211567🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612211774🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612211848🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612212220🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612212273🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612213270🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612213282🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612216359🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612216384🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612217080🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612217427🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612218474🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612219554🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612221869🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612224539🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612225032🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612228378🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612230581🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612230736🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612232890🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612234376🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612234461🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612236593🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612236643🚨 id not found in database /build/pkg/database/save-event.go:332
1763531612236655⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763531612236622🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612236896🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612236930🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612242225🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612243552🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612244820🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612247851🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612248039🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612248536🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612248584🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612249053🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612251606🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612251935🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612251974🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612251979🚨 id not found in database /build/pkg/database/save-event.go:332
1763531612251986⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763531612253040🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612255159🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612261269🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612261370🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612261469🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612262573🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612262697🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612262722🚨 id not found in database /build/pkg/database/save-event.go:332
1763531612262731⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763531612294932🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612296429🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612315617🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612316570🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612317612🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612317766🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612317970🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612318694🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612321488🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612342151🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612342215🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612342415🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612342612🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612342903🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612351936🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612360967🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612361147🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612362355🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612364716🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612365603🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612365742🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612365902🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612365920🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612367122🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612367371🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612367380🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612368070🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612368460🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612368669🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612370166🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612372335🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612372509🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612373590🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612373895🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612374191🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612374269🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612374283🚨 id not found in database /build/pkg/database/save-event.go:332
1763531612374293⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763531612374421🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612374456🚨 id not found in database /build/pkg/database/save-event.go:332
1763531612374466⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763531612374683🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612377078🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612378475🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612379970🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612380111🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612380109🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612382815🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612382875🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612382834🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612383146🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612383524🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612384208🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612386086🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612386271🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612387633🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612388100🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612388149🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612388240🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612388288🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612388990🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612389041🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612389077🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612390273🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612391060🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612392786🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612392907🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612394095🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612394516🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612394715🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612394732🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612395297🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612395359🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612395657🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612395823🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612395851🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612396829🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612397908🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612399692🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612401330🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612401868🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612404794🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612404977🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612405122🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612405322🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612405815🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612405838🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612406058🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612418956🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612419108🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612419316🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612419579🚨 id not found in database /build/pkg/database/process-delete.go:43
1763531612420418🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11592/50000 (23.2%), errors: 38408
Duration: 4.099682418s
Events/sec: 2827.54
Avg latency: 4.203722ms
P90 latency: 3.345671ms
P95 latency: 4.568189ms
P99 latency: 88.030281ms
Bottom 10% Avg latency: 1.124184ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 335.33957ms
Burst completed: 5000 events in 338.195898ms
Burst completed: 5000 events in 346.791988ms
Burst completed: 5000 events in 361.72302ms
Burst completed: 5000 events in 332.900946ms
Burst completed: 5000 events in 335.52954ms
Burst completed: 5000 events in 342.175918ms
Burst completed: 5000 events in 339.522755ms
Burst completed: 5000 events in 334.46846ms
Burst completed: 5000 events in 336.071402ms
Burst test completed: 0 events in 8.409696337s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.513827505s
Combined ops/sec: 1110.43
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 405671 queries in 1m0.004332664s
Queries/sec: 6760.70
Avg query latency: 1.570056ms
P95 query latency: 5.35134ms
P99 query latency: 9.169641ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 567760 operations (567760 queries, 0 writes) in 1m0.000235118s
Operations/sec: 9462.63
Avg latency: 46.433µs
Avg query latency: 46.433µs
Avg write latency: 0s
P95 latency: 89.831µs
P99 latency: 135.768µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 4.099682418s
Total Events: 11592
Events/sec: 2827.54
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 356 MB
Avg Latency: 4.203722ms
P90 Latency: 3.345671ms
P95 Latency: 4.568189ms
P99 Latency: 88.030281ms
Bottom 10% Avg Latency: 1.124184ms
----------------------------------------
Test: Burst Pattern
Duration: 8.409696337s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 393 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.513827505s
Total Events: 25000
Events/sec: 1110.43
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 363 MB
Avg Latency: 79.478µs
P90 Latency: 101.042µs
P95 Latency: 112.755µs
P99 Latency: 136.991µs
Bottom 10% Avg Latency: 121.765µs
Errors (25000):
- blocked: event already exists: 238d2d2e1ddb3af636472dbf573fa52cbfc81509a9ba2f4a6902efacd5e32bbf
- blocked: event already exists: 048d7b07155b3832a76eac0b46bea764cac3597dfbc28b559698d51f915cb6d1
- blocked: event already exists: 1ebc80bd3bb172fc38ce786e0717e9c82691cd495f0de9863c892284cbe47ca3
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 2197ff7ffc723d2fb4f7e44aeaf0ed8c2e0e2f3fb3aae29f2e33e0683ddf1a99
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.004332664s
Total Events: 405671
Events/sec: 6760.70
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 372 MB
Avg Latency: 1.570056ms
P90 Latency: 4.354101ms
P95 Latency: 5.35134ms
P99 Latency: 9.169641ms
Bottom 10% Avg Latency: 6.228096ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.000235118s
Total Events: 567760
Events/sec: 9462.63
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 303 MB
Avg Latency: 46.433µs
P90 Latency: 79.071µs
P95 Latency: 89.831µs
P99 Latency: 135.768µs
Bottom 10% Avg Latency: 102.136µs
Errors (50000):
- blocked: event already exists: 01e9943cf5e805283c512b9c26cf69f7e9ff412710d7543a3a52dc93ac7e8a57
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 05bf5bbba1a1fa85b9a5aaca7ff384d8e09a1b2441c01df5780c1bc99e377f85
- blocked: event already exists: 0b50149a50e29b084c63f0b0d16a8d280445eb389e53b5c688f654665e9d56f5
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
... and 49995 more errors
----------------------------------------
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-19T05:56:47+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_nostr-rs-relay_8
Events: 50000, Workers: 24, Duration: 1m0s
1763532618524528 migrating to version 1... /build/pkg/database/migrations.go:66
1763532618524580 migrating to version 2... /build/pkg/database/migrations.go:73
1763532618524706 migrating to version 3... /build/pkg/database/migrations.go:80
1763532618524736 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763532618524748 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763532618524776 migrating to version 4... /build/pkg/database/migrations.go:87
1763532618524782 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763532618524802 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763532618524809 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763532618930740🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618947610🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618948005🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618948153🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618950675🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618950682🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618956383🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618956435🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618957227🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618969491🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618970468🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618971159🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532618971247🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619031025🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619056683🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619056939🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619056952🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619066084🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619066142🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619066155⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763532619066695🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619066714🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619066722⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763532619075600🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619081811🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619081988🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619084508🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619084568🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619088652🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619088683🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619088782🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619088783🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619090006🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619090001🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619090069🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619090084🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619090099🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619090832🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619091518🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619092595🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619096499🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619096548🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619096606🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619162379🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619614266🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619615621🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619615626🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619616541🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619618933🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619618974🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619620317🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619620397🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619620471🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619620484🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619621043🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619621631🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619622165🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619622167🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619622439🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619623174🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619623181🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619623220🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619624801🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619625240🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619625269🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619625280⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763532619630065🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619630165🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619630661🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619630663🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619630821🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619631497🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619640145🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619642792🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619644723🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619644791🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619645300🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619645371🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619645379🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619645401⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763532619645510🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619646269🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619648954🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619649062🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619649394🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619649929🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619650596🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619650999🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619651453🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619652135🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619652189🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619652230🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619652643🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619652686🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619654452🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619656038🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619656545🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619657094🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619658010🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619658015🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619660069🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619661973🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619665795🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619665815🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619668940🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619671219🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619671256🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619675066🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619675407🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619675880🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619676648🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619676831🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619678445🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619678987🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619679007🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619679017⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763532619680059🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619682110🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619682946🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619686593🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619686642🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619686672🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619688599🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619688980🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619689992🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619691023🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619691071🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619691081⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763532619691290🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619691789🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619693914🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619698356🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619701647🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619701967🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619702011🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619702023⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763532619701971🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619702353🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619767837🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619770711🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619771475🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619771496🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619771616🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619771785🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619773121🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619773706🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619774076🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619775012🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619775202🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619775616🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619776224🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619776225🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619783510🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619793083🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619793319🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619795252🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619795257🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619797760🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619798203🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619798747🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619798803🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619799361🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619799645🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619799874🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619800049🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619801225🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619801611🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619801686🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619803757🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619804436🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619805033🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619805964🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619806089🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619806114🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619806125⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763532619806587🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619806617🚨 id not found in database /build/pkg/database/save-event.go:332
1763532619806627⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763532619806746🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619806955🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619809241🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619809253🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619812247🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619812468🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619812745🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619814622🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619815324🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619815599🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619816082🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619816174🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619816840🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619818752🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619819942🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619820073🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619820832🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619821226🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619821604🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619822845🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619822980🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619823804🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619823916🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619824109🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619826241🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619827137🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619827419🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619827882🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619828527🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619828762🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619829430🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619829777🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619829830🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619829856🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619829867🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619830712🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619831911🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619835536🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619835629🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619839021🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619839121🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619839259🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619841819🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619842315🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619843356🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619843525🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619846344🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619859073🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619859232🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619859436🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619859611🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619859674🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532619859797🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11594/50000 (23.2%), errors: 38406
Duration: 4.021053985s
Events/sec: 2883.32
Avg latency: 4.044321ms
P90 latency: 3.344231ms
P95 latency: 4.602719ms
P99 latency: 79.2846ms
Bottom 10% Avg latency: 1.103637ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 352.280501ms
Burst completed: 5000 events in 344.717192ms
Burst completed: 5000 events in 342.785392ms
Burst completed: 5000 events in 348.707543ms
Burst completed: 5000 events in 365.85074ms
Burst completed: 5000 events in 351.601335ms
Burst completed: 5000 events in 349.046538ms
Burst completed: 5000 events in 345.187947ms
Burst completed: 5000 events in 343.795123ms
Burst completed: 5000 events in 331.851049ms
Burst test completed: 0 events in 8.481561189s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.659489061s
Combined ops/sec: 1103.29
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 405016 queries in 1m0.004544583s
Queries/sec: 6749.76
Avg query latency: 1.573632ms
P95 query latency: 5.332888ms
P99 query latency: 9.122117ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 566215 operations (566215 queries, 0 writes) in 1m0.001155402s
Operations/sec: 9436.73
Avg latency: 45.72µs
Avg query latency: 45.72µs
Avg write latency: 0s
P95 latency: 88.218µs
P99 latency: 131.26µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 4.021053985s
Total Events: 11594
Events/sec: 2883.32
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 379 MB
Avg Latency: 4.044321ms
P90 Latency: 3.344231ms
P95 Latency: 4.602719ms
P99 Latency: 79.2846ms
Bottom 10% Avg Latency: 1.103637ms
----------------------------------------
Test: Burst Pattern
Duration: 8.481561189s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 259 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.659489061s
Total Events: 25000
Events/sec: 1103.29
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 267 MB
Avg Latency: 82.3µs
P90 Latency: 102.856µs
P95 Latency: 114.679µs
P99 Latency: 142.963µs
Bottom 10% Avg Latency: 130.591µs
Errors (25000):
- blocked: event already exists: 238d2d2e1ddb3af636472dbf573fa52cbfc81509a9ba2f4a6902efacd5e32bbf
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 1ebc80bd3bb172fc38ce786e0717e9c82691cd495f0de9863c892284cbe47ca3
- blocked: event already exists: 1642d6770a74de7ca45169bc76dab334591bcb2191044da0b18459888164f9fc
- blocked: event already exists: 2197ff7ffc723d2fb4f7e44aeaf0ed8c2e0e2f3fb3aae29f2e33e0683ddf1a99
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.004544583s
Total Events: 405016
Events/sec: 6749.76
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 446 MB
Avg Latency: 1.573632ms
P90 Latency: 4.427874ms
P95 Latency: 5.332888ms
P99 Latency: 9.122117ms
Bottom 10% Avg Latency: 6.229587ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.001155402s
Total Events: 566215
Events/sec: 9436.73
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 333 MB
Avg Latency: 45.72µs
P90 Latency: 78.159µs
P95 Latency: 88.218µs
P99 Latency: 131.26µs
Bottom 10% Avg Latency: 99.957µs
Errors (50000):
- blocked: event already exists: 0ce484c600cb1c0b33f1e38ddea4b38a47069615d22114a9c621a9164d9b6218
- blocked: event already exists: 048d7b07155b3832a76eac0b46bea764cac3597dfbc28b559698d51f915cb6d1
- blocked: event already exists: 05bf5bbba1a1fa85b9a5aaca7ff384d8e09a1b2441c01df5780c1bc99e377f85
- blocked: event already exists: 0e0b4dfd5e4ecfb0d3acb8db48d13833edeac5163fbcba9fb94160b686c07595
- blocked: event already exists: 0b50149a50e29b084c63f0b0d16a8d280445eb389e53b5c688f654665e9d56f5
... and 49995 more errors
----------------------------------------
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-19T06:13:35+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_relayer-basic_8
Events: 50000, Workers: 24, Duration: 1m0s
1763532215281177 migrating to version 1... /build/pkg/database/migrations.go:66
1763532215281256 migrating to version 2... /build/pkg/database/migrations.go:73
1763532215281278 migrating to version 3... /build/pkg/database/migrations.go:80
1763532215281284 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763532215281295 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763532215281311 migrating to version 4... /build/pkg/database/migrations.go:87
1763532215281316 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763532215281327 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763532215281332 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763532215753642🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215771026🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215771047🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215771043🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215773057🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215773950🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215779106🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215779989🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215780044🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215794879🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215794911🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215795258🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215795902🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215864347🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215895247🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215897706🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215897846🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215909272🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215909338🚨 id not found in database /build/pkg/database/save-event.go:332
1763532215909351⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763532215909277🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215909376🚨 id not found in database /build/pkg/database/save-event.go:332
1763532215909396⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763532215921004🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215927644🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215927729🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215932204🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215932223🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215937326🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215937353🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215937533🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215937559🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215937604🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215938283🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215938525🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215938584🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215939171🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215941078🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215942075🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215942140🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215946108🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215946935🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532215947070🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216034256🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216575480🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216575680🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216576613🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216577132🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216579189🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216580190🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216581187🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216581297🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216581843🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216581932🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216582485🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216583310🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216583354🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216583797🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216584179🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216584829🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216584822🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216584849🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216586369🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216586560🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216586587🚨 id not found in database /build/pkg/database/save-event.go:332
1763532216586598⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763532216592409🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216594068🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216594133🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216594171🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216595199🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216596193🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216604932🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216608011🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216610501🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216610709🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216610735🚨 id not found in database /build/pkg/database/save-event.go:332
1763532216610746⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763532216611730🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216611905🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216612710🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216612972🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216614620🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216614890🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216616830🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216617705🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216617912🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216618767🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216619811🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216619813🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216620154🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216622289🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216622299🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216622670🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216622759🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216627036🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216627071🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216627681🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216628332🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216628497🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216630956🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216634023🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216636620🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216637097🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216640322🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216640755🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216642971🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216646272🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216646356🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216646716🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216649588🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216649624🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216649707🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216651798🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216651837🚨 id not found in database /build/pkg/database/save-event.go:332
1763532216651846⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763532216652546🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216652647🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216654682🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216660436🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216660454🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216660818🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216660850🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216660892🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216664192🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216664242🚨 id not found in database /build/pkg/database/save-event.go:332
1763532216664233🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216664284🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216664252⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763532216664431🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216666902🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216671811🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216671937🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216702320🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216702414🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216705566🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216705636🚨 id not found in database /build/pkg/database/save-event.go:332
1763532216705653⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763532216736068🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216772632🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216772740🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216772872🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216775232🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216776926🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216778944🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216780479🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216781325🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216781901🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216782007🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216781924🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216782662🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216782943🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216792109🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216801957🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216802118🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216805275🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216805608🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216806675🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216806729🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216807256🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216807332🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216807702🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216808008🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216809164🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216809928🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216810178🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216810343🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216810553🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216813468🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216813917🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216815051🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216815580🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216815621🚨 id not found in database /build/pkg/database/save-event.go:332
1763532216815633⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763532216815855🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216815887🚨 id not found in database /build/pkg/database/save-event.go:332
1763532216815896⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763532216817137🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216817988🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216818038🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216820280🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216820593🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216822434🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216822533🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216823260🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216825570🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216825661🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216825770🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216825766🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216828334🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216828596🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216830967🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216832985🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216834147🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216834169🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216834173🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216834249🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216835001🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216835042🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216835016🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216835898🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216835986🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216840462🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216841175🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216841614🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216842304🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216847871🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216864133🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216905124🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216905300🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216905361🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216905362🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216905440🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216906234🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216907434🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216907471🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216907464🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216908059🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216908080🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216908591🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216908908🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216909192🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216910036🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216910306🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216910950🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216931514🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216931602🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216931779🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216931793🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216932984🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532216933171🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11592/50000 (23.2%), errors: 38408
Duration: 4.281033199s
Events/sec: 2707.76
Avg latency: 4.657987ms
P90 latency: 4.233468ms
P95 latency: 5.603449ms
P99 latency: 68.611381ms
Bottom 10% Avg latency: 1.266467ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 351.189041ms
Burst completed: 5000 events in 345.793588ms
Burst completed: 5000 events in 349.58856ms
Burst completed: 5000 events in 347.409606ms
Burst completed: 5000 events in 336.805967ms
Burst completed: 5000 events in 342.539694ms
Burst completed: 5000 events in 333.331965ms
Burst completed: 5000 events in 343.768734ms
Burst completed: 5000 events in 348.390792ms
Burst completed: 5000 events in 349.455321ms
Burst test completed: 0 events in 8.454879556s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.626268963s
Combined ops/sec: 1104.91
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 406188 queries in 1m0.004608218s
Queries/sec: 6769.28
Avg query latency: 1.56602ms
P95 query latency: 5.365294ms
P99 query latency: 9.302026ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 563863 operations (563863 queries, 0 writes) in 1m0.001226916s
Operations/sec: 9397.52
Avg latency: 46.484µs
Avg query latency: 46.484µs
Avg write latency: 0s
P95 latency: 89.861µs
P99 latency: 137.252µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 4.281033199s
Total Events: 11592
Events/sec: 2707.76
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 344 MB
Avg Latency: 4.657987ms
P90 Latency: 4.233468ms
P95 Latency: 5.603449ms
P99 Latency: 68.611381ms
Bottom 10% Avg Latency: 1.266467ms
----------------------------------------
Test: Burst Pattern
Duration: 8.454879556s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 368 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.626268963s
Total Events: 25000
Events/sec: 1104.91
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 339 MB
Avg Latency: 81.834µs
P90 Latency: 101.664µs
P95 Latency: 112.123µs
P99 Latency: 136.991µs
Bottom 10% Avg Latency: 123.871µs
Errors (25000):
- blocked: event already exists: 06061b630fd0881cbe7ed02114584fea59b9621c2e9479e6e6aa2be561240a90
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 1ebc80bd3bb172fc38ce786e0717e9c82691cd495f0de9863c892284cbe47ca3
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 2197ff7ffc723d2fb4f7e44aeaf0ed8c2e0e2f3fb3aae29f2e33e0683ddf1a99
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.004608218s
Total Events: 406188
Events/sec: 6769.28
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 466 MB
Avg Latency: 1.56602ms
P90 Latency: 4.291057ms
P95 Latency: 5.365294ms
P99 Latency: 9.302026ms
Bottom 10% Avg Latency: 6.278431ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.001226916s
Total Events: 563863
Events/sec: 9397.52
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 347 MB
Avg Latency: 46.484µs
P90 Latency: 79.592µs
P95 Latency: 89.861µs
P99 Latency: 137.252µs
Bottom 10% Avg Latency: 102.019µs
Errors (50000):
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 0f06ba91f371d4f8647a3f9529af3b9a012988eabf9f7c2eb42b39aa86697ea9
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
- blocked: event already exists: 0b50149a50e29b084c63f0b0d16a8d280445eb389e53b5c688f654665e9d56f5
- blocked: event already exists: 05bf5bbba1a1fa85b9a5aaca7ff384d8e09a1b2441c01df5780c1bc99e377f85
... and 49995 more errors
----------------------------------------
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-19T06:06:51+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,422 +0,0 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_strfry_8
Events: 50000, Workers: 24, Duration: 1m0s
1763532417029005 migrating to version 1... /build/pkg/database/migrations.go:66
1763532417029081 migrating to version 2... /build/pkg/database/migrations.go:73
1763532417029106 migrating to version 3... /build/pkg/database/migrations.go:80
1763532417029112 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763532417029144 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763532417029202 migrating to version 4... /build/pkg/database/migrations.go:87
1763532417029209 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763532417029219 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763532417029225 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
Loading real-world sample events from embedded data...
Loading real-world sample events (11,596 events from 6 months of Nostr)...
Loaded 11596 real-world events (already signed, zero crypto overhead)
Event Statistics:
Total events: 11596
Average content size: 588 bytes
Event kinds found: 25 unique
Most common kinds:
Kind 1: 7152 events
Kind 7: 1973 events
Kind 6: 934 events
Kind 10002: 337 events
Kind 0: 290 events
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
1763532417446740🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417463442🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417463517🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417463528🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417465778🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417465773🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417471681🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417472327🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417473046🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417487367🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417488733🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417489155🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417489204🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417547895🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417576271🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417576642🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417577031🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417584020🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417584080🚨 id not found in database /build/pkg/database/save-event.go:332
1763532417584092⚠ failed to process deletion for event 900e73566bb098d7ec1880ec68521ef76e066b933d4d6b71dbe99ee156c4b307: id not found in database /build/pkg/database/save-event.go:333
1763532417584057🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417584119🚨 id not found in database /build/pkg/database/save-event.go:332
1763532417584130⚠ failed to process deletion for event ecd7b942d5a473589b4a3bc34f0b3dadf0c6e0ba9325d7a47604167acc757d5c: id not found in database /build/pkg/database/save-event.go:333
1763532417593777🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417599107🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417599108🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417601718🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417601761🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417605646🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417606054🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417606057🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417607124🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417607136🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417607268🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417607238🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417607238🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417607152🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417608114🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417609053🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417609524🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417612855🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417613254🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417613805🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532417677741🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418142727🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418142864🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418144600🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418144630🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418145646🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418146916🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418147551🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418148156🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418148197🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418148912🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418149551🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418149549🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418150165🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418150344🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418150653🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418151668🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418151756🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418151768🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418152942🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418153239🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418153258🚨 id not found in database /build/pkg/database/save-event.go:332
1763532418153267⚠ failed to process deletion for event 63eae8af9f42e2d37f93b1277bcf708c94aeb8935dd83d1e8e80136c4e4f8292: id not found in database /build/pkg/database/save-event.go:333
1763532418158828🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418159056🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418159184🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418160314🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418160324🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418161260🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418169316🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418172059🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418173558🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418174651🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418174692🚨 id not found in database /build/pkg/database/save-event.go:332
1763532418174703⚠ failed to process deletion for event 2f5e01050c81c0d711e9f391726af47933b5fcfbe497434164069787d201e3b9: id not found in database /build/pkg/database/save-event.go:333
1763532418175319🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418175322🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418175328🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418176201🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418178579🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418178687🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418179266🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418179679🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418179929🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418180514🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418180740🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418181634🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418182020🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418182137🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418182727🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418183912🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418183942🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418186474🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418186791🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418186808🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418186793🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418188620🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418189953🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418192500🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418194606🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418195626🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418199354🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418200303🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418200464🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418203342🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418204634🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418204728🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418205766🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418207111🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418207142🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418207931🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418207969🚨 id not found in database /build/pkg/database/save-event.go:332
1763532418207980⚠ failed to process deletion for event e56f683d8a3ad6a1d7ed41f50bf2739179ac8f6e1418ff34e5e20903172237ea: id not found in database /build/pkg/database/save-event.go:333
1763532418208766🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418210821🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418211495🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418215604🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418215614🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418216006🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418216035🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418219145🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418220994🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418221037🚨 id not found in database /build/pkg/database/save-event.go:332
1763532418221052⚠ failed to process deletion for event 4b07094ff22787f584f5ceddc11ae44c66ab513d01d7529e156d6adb75323eca: id not found in database /build/pkg/database/save-event.go:333
1763532418221209🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418222796🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418223147🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418227727🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418233362🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418233725🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418233725🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418233803🚨 id not found in database /build/pkg/database/save-event.go:332
1763532418233816⚠ failed to process deletion for event 59475e9f41d77977a2b2c0d9acf7c32bad368dafdeab1e8f7be8cf0fe0e00ceb: id not found in database /build/pkg/database/save-event.go:333
1763532418234917🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418234938🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418302772🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418304188🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418304225🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418307646🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418308235🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418309609🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418309963🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418310289🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418312036🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418312787🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418314158🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418315296🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418317296🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418317453🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418326901🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418336363🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418336826🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418337215🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418338156🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418338897🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418341107🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418341261🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418341288🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418341578🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418341805🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418344423🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418344476🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418344490🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418345300🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418345329🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418347344🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418349365🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418349398🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418349748🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418349778🚨 id not found in database /build/pkg/database/save-event.go:332
1763532418349790⚠ failed to process deletion for event bd502ba9dc5c173b3b82708561f35118e2ca580f9c7e5baffceccdd9f6502462: id not found in database /build/pkg/database/save-event.go:333
1763532418351994🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418352043🚨 id not found in database /build/pkg/database/save-event.go:332
1763532418352055⚠ failed to process deletion for event 961a3d9582d896fcd8755ccc634b7846e549131284740f6fec0d635d0bb072af: id not found in database /build/pkg/database/save-event.go:333
1763532418354024🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418354037🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418354129🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418355732🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418357513🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418359713🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418360257🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418361239🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418361614🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418362673🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418362796🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418362959🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418363024🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418363609🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418364681🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418366172🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418366978🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418367050🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418367077🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418367056🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418368723🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418369089🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418369211🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418369213🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418369858🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418371869🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418373452🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418373544🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418373609🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418375088🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418375238🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418375309🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418375530🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418375554🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418375966🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418376137🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418376407🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418377845🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418377890🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418378015🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418378051🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418378088🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418379151🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418379686🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418390200🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418391344🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418391364🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418391484🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418392146🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418392202🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418392283🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418392401🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418393317🚨 id not found in database /build/pkg/database/process-delete.go:43
1763532418393350🚨 id not found in database /build/pkg/database/process-delete.go:43
Events saved: 11596/50000 (23.2%), errors: 38404
Duration: 4.081350203s
Events/sec: 2841.22
Avg latency: 4.088506ms
P90 latency: 3.424405ms
P95 latency: 4.517428ms
P99 latency: 75.080835ms
Bottom 10% Avg latency: 1.135387ms
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 342.084914ms
Burst completed: 5000 events in 368.596807ms
Burst completed: 5000 events in 328.015947ms
Burst completed: 5000 events in 335.615145ms
Burst completed: 5000 events in 336.465114ms
Burst completed: 5000 events in 339.72787ms
Burst completed: 5000 events in 337.178121ms
Burst completed: 5000 events in 337.603762ms
Burst completed: 5000 events in 311.194123ms
Burst completed: 5000 events in 320.093358ms
Burst test completed: 0 events in 8.36134004s, errors: 50000
Events/sec: 0.00
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Pre-populating database for read tests...
Mixed test completed: 0 writes, 25000 reads in 22.58702292s
Combined ops/sec: 1106.83
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Pre-populating database with 10000 events for query tests...
Query test completed: 410409 queries in 1m0.005823994s
Queries/sec: 6839.49
Avg query latency: 1.547004ms
P95 query latency: 5.256194ms
P99 query latency: 9.085129ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Pre-populating database with 5000 events for concurrent query/store test...
Concurrent test completed: 568449 operations (568449 queries, 0 writes) in 1m0.000557559s
Operations/sec: 9474.06
Avg latency: 45.257µs
Avg query latency: 45.257µs
Avg write latency: 0s
P95 latency: 86.775µs
P99 latency: 128.615µs
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 4.081350203s
Total Events: 11596
Events/sec: 2841.22
Success Rate: 23.2%
Concurrent Workers: 24
Memory Used: 322 MB
Avg Latency: 4.088506ms
P90 Latency: 3.424405ms
P95 Latency: 4.517428ms
P99 Latency: 75.080835ms
Bottom 10% Avg Latency: 1.135387ms
----------------------------------------
Test: Burst Pattern
Duration: 8.36134004s
Total Events: 0
Events/sec: 0.00
Success Rate: 0.0%
Concurrent Workers: 24
Memory Used: 352 MB
Avg Latency: 0s
P90 Latency: 0s
P95 Latency: 0s
P99 Latency: 0s
Bottom 10% Avg Latency: 0s
----------------------------------------
Test: Mixed Read/Write
Duration: 22.58702292s
Total Events: 25000
Events/sec: 1106.83
Success Rate: 50.0%
Concurrent Workers: 24
Memory Used: 319 MB
Avg Latency: 81.227µs
P90 Latency: 102.275µs
P95 Latency: 113.396µs
P99 Latency: 139.054µs
Bottom 10% Avg Latency: 125.516µs
Errors (25000):
- blocked: event already exists: 11aa0b6defe3d58cef2f93c06fb194bc72241f17fb35312594d279f6c8f13d44
- blocked: event already exists: 00a5f5f6c7f1c4e6f71ab7df2c056e238ccd9b441e59ddf119d7ab7f1d7510e0
- blocked: event already exists: 1ebc80bd3bb172fc38ce786e0717e9c82691cd495f0de9863c892284cbe47ca3
- blocked: event already exists: 0ce484c600cb1c0b33f1e38ddea4b38a47069615d22114a9c621a9164d9b6218
- blocked: event already exists: 1642d6770a74de7ca45169bc76dab334591bcb2191044da0b18459888164f9fc
... and 24995 more errors
----------------------------------------
Test: Query Performance
Duration: 1m0.005823994s
Total Events: 410409
Events/sec: 6839.49
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 403 MB
Avg Latency: 1.547004ms
P90 Latency: 4.258013ms
P95 Latency: 5.256194ms
P99 Latency: 9.085129ms
Bottom 10% Avg Latency: 6.154516ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.000557559s
Total Events: 568449
Events/sec: 9474.06
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 403 MB
Avg Latency: 45.257µs
P90 Latency: 77.187µs
P95 Latency: 86.775µs
P99 Latency: 128.615µs
Bottom 10% Avg Latency: 98.387µs
Errors (50000):
- blocked: event already exists: 0312061d336fd22dc64b98130663835242e4479c54c7ca88b72c3b3093ef29a2
- blocked: event already exists: 06061b630fd0881cbe7ed02114584fea59b9621c2e9479e6e6aa2be561240a90
- blocked: event already exists: 0ea6723d131534cf6e2209169a518c4bc598e3acad0618c2ef34df34c867cca1
- blocked: event already exists: 0ce484c600cb1c0b33f1e38ddea4b38a47069615d22114a9c621a9164d9b6218
- blocked: event already exists: 0f06ba91f371d4f8647a3f9529af3b9a012988eabf9f7c2eb42b39aa86697ea9
... and 49995 more errors
----------------------------------------
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-19T06:10:13+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,176 +0,0 @@
================================================================
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,176 @@
================================================================
NOSTR RELAY BENCHMARK AGGREGATE REPORT
================================================================
Generated: 2025-11-20T15:53:41+00:00
Benchmark Configuration:
Events per test: 50000
Concurrent workers: 24
Test duration: 60s
Relays tested: 8
================================================================
SUMMARY BY RELAY
================================================================
Relay: next-orly-badger
----------------------------------------
Status: COMPLETED
Events/sec: 17836.33
Events/sec: 6340.29
Events/sec: 17836.33
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.176626ms
Bottom 10% Avg Latency: 659.571µs
Avg Latency: 1.150109ms
P95 Latency: 1.79182ms
P95 Latency: 1.87572ms
P95 Latency: 870.11µs
Relay: next-orly-dgraph
----------------------------------------
Status: COMPLETED
Events/sec: 16687.23
Events/sec: 6230.59
Events/sec: 16687.23
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.299973ms
Bottom 10% Avg Latency: 703.285µs
Avg Latency: 1.216351ms
P95 Latency: 2.203343ms
P95 Latency: 2.205777ms
P95 Latency: 869.669µs
Relay: next-orly-neo4j
----------------------------------------
Status: COMPLETED
Events/sec: 17497.93
Events/sec: 6254.20
Events/sec: 17497.93
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.220061ms
Bottom 10% Avg Latency: 689.107µs
Avg Latency: 1.207729ms
P95 Latency: 1.873592ms
P95 Latency: 2.026464ms
P95 Latency: 860.711µs
Relay: khatru-sqlite
----------------------------------------
Status: COMPLETED
Events/sec: 15692.37
Events/sec: 6031.64
Events/sec: 15692.37
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.434878ms
Bottom 10% Avg Latency: 773.12µs
Avg Latency: 1.438112ms
P95 Latency: 2.364988ms
P95 Latency: 2.530373ms
P95 Latency: 869.767µs
Relay: khatru-badger
----------------------------------------
Status: COMPLETED
Events/sec: 15459.86
Events/sec: 6208.94
Events/sec: 15459.86
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.468719ms
Bottom 10% Avg Latency: 802.399µs
Avg Latency: 1.250479ms
P95 Latency: 2.396216ms
P95 Latency: 2.142422ms
P95 Latency: 869.166µs
Relay: relayer-basic
----------------------------------------
Status: COMPLETED
Events/sec: 15191.51
Events/sec: 6144.49
Events/sec: 15191.51
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.494499ms
Bottom 10% Avg Latency: 790.923µs
Avg Latency: 1.322915ms
P95 Latency: 2.461731ms
P95 Latency: 2.255818ms
P95 Latency: 888.112µs
Relay: strfry
----------------------------------------
Status: COMPLETED
Events/sec: 16583.98
Events/sec: 5979.92
Events/sec: 16583.98
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.325163ms
Bottom 10% Avg Latency: 732.389µs
Avg Latency: 1.467778ms
P95 Latency: 2.114188ms
P95 Latency: 2.793392ms
P95 Latency: 878.634µs
Relay: nostr-rs-relay
----------------------------------------
Status: COMPLETED
Events/sec: 15250.43
Events/sec: 6286.54
Events/sec: 15250.43
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.477342ms
Bottom 10% Avg Latency: 760.393µs
Avg Latency: 1.167307ms
P95 Latency: 2.527756ms
P95 Latency: 2.003086ms
P95 Latency: 868.365µs
================================================================
DETAILED RESULTS
================================================================
Individual relay reports are available in:
- /reports/run_20251120_152640/khatru-badger_results.txt
- /reports/run_20251120_152640/khatru-sqlite_results.txt
- /reports/run_20251120_152640/next-orly-badger_results.txt
- /reports/run_20251120_152640/next-orly-dgraph_results.txt
- /reports/run_20251120_152640/next-orly-neo4j_results.txt
- /reports/run_20251120_152640/nostr-rs-relay_results.txt
- /reports/run_20251120_152640/relayer-basic_results.txt
- /reports/run_20251120_152640/strfry_results.txt
================================================================
BENCHMARK COMPARISON TABLE
================================================================
Relay Status Peak Tput/s Avg Latency Success Rate
---- ------ ----------- ----------- ------------
next-orly-badger OK 17836.33 1.176626ms 100.0%
next-orly-dgraph OK 16687.23 1.299973ms 100.0%
next-orly-neo4j OK 17497.93 1.220061ms 100.0%
khatru-sqlite OK 15692.37 1.434878ms 100.0%
khatru-badger OK 15459.86 1.468719ms 100.0%
relayer-basic OK 15191.51 1.494499ms 100.0%
strfry OK 16583.98 1.325163ms 100.0%
nostr-rs-relay OK 15250.43 1.477342ms 100.0%
================================================================
End of Report
================================================================

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
1763653210711898 migrating to version 1... /build/pkg/database/migrations.go:66
1763653210711967 migrating to version 2... /build/pkg/database/migrations.go:73
1763653210712038 migrating to version 3... /build/pkg/database/migrations.go:80
1763653210712063 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653210712074 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653210712096 migrating to version 4... /build/pkg/database/migrations.go:87
1763653210712103 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653210712120 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653210712127 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:40:10 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:40:10 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.234182899s
Events/sec: 15459.86
Avg latency: 1.468719ms
P90 latency: 2.038084ms
P95 latency: 2.396216ms
P99 latency: 3.603968ms
Bottom 10% Avg latency: 802.399µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 297.444884ms
Burst completed: 5000 events in 304.488265ms
Burst completed: 5000 events in 279.56963ms
Burst completed: 5000 events in 292.82573ms
Burst completed: 5000 events in 272.991435ms
Burst completed: 5000 events in 326.534775ms
Burst completed: 5000 events in 384.727815ms
Burst completed: 5000 events in 311.186457ms
Burst completed: 5000 events in 290.311066ms
Burst completed: 5000 events in 285.474791ms
Burst test completed: 50000 events in 8.052899517s, errors: 0
Events/sec: 6208.94
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Generating 1000 unique synthetic events (minimum 300 bytes each)...
Generated 1000 events:
Average content size: 312 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database for read tests...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Mixed test completed: 25000 writes, 25000 reads in 24.439450917s
Combined ops/sec: 2045.87
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Generating 10000 unique synthetic events (minimum 300 bytes each)...
Generated 10000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 10000 events for query tests...
Query test completed: 408824 queries in 1m0.004827316s
Queries/sec: 6813.19
Avg query latency: 1.638338ms
P95 query latency: 6.383173ms
P99 query latency: 10.185929ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Generating 5000 unique synthetic events (minimum 300 bytes each)...
Generated 5000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 5000 events for concurrent query/store test...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Concurrent test completed: 320420 operations (270420 queries, 50000 writes) in 1m0.003847155s
Operations/sec: 5339.99
Avg latency: 1.440536ms
Avg query latency: 1.415027ms
Avg write latency: 1.578501ms
P95 latency: 3.603977ms
P99 latency: 6.070557ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.234182899s
Total Events: 50000
Events/sec: 15459.86
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 123 MB
Avg Latency: 1.468719ms
P90 Latency: 2.038084ms
P95 Latency: 2.396216ms
P99 Latency: 3.603968ms
Bottom 10% Avg Latency: 802.399µs
----------------------------------------
Test: Burst Pattern
Duration: 8.052899517s
Total Events: 50000
Events/sec: 6208.94
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.250479ms
P90 Latency: 1.830558ms
P95 Latency: 2.142422ms
P99 Latency: 3.076824ms
Bottom 10% Avg Latency: 472.17µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.439450917s
Total Events: 50000
Events/sec: 2045.87
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 185 MB
Avg Latency: 370.175µs
P90 Latency: 782.31µs
P95 Latency: 869.166µs
P99 Latency: 1.071331ms
Bottom 10% Avg Latency: 972.715µs
----------------------------------------
Test: Query Performance
Duration: 1m0.004827316s
Total Events: 408824
Events/sec: 6813.19
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 141 MB
Avg Latency: 1.638338ms
P90 Latency: 4.846916ms
P95 Latency: 6.383173ms
P99 Latency: 10.185929ms
Bottom 10% Avg Latency: 7.156294ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003847155s
Total Events: 320420
Events/sec: 5339.99
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 161 MB
Avg Latency: 1.440536ms
P90 Latency: 2.837567ms
P95 Latency: 3.603977ms
P99 Latency: 6.070557ms
Bottom 10% Avg Latency: 4.284959ms
----------------------------------------
Report saved to: /tmp/benchmark_khatru-badger_8/benchmark_report.txt
AsciiDoc report saved to: /tmp/benchmark_khatru-badger_8/benchmark_report.adoc
RELAY_NAME: khatru-badger
RELAY_URL: ws://khatru-badger:3334
TEST_TIMESTAMP: 2025-11-20T15:43:28+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,15 +1,15 @@
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
1763653007553371 migrating to version 1... /build/pkg/database/migrations.go:66
1763653007553443 migrating to version 2... /build/pkg/database/migrations.go:73
1763653007553473 migrating to version 3... /build/pkg/database/migrations.go:80
1763653007553480 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653007553488 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653007553504 migrating to version 4... /build/pkg/database/migrations.go:87
1763653007553510 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653007553522 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653007553530 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,32 +19,32 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 15:36:47 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:36:47 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 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
Duration: 3.186261331s
Events/sec: 15692.37
Avg latency: 1.434878ms
P90 latency: 1.984672ms
P95 latency: 2.364988ms
P99 latency: 3.569955ms
Bottom 10% Avg latency: 773.12µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 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
Burst completed: 5000 events in 344.43488ms
Burst completed: 5000 events in 426.471328ms
Burst completed: 5000 events in 310.728105ms
Burst completed: 5000 events in 315.740557ms
Burst completed: 5000 events in 293.680822ms
Burst completed: 5000 events in 343.519782ms
Burst completed: 5000 events in 375.877865ms
Burst completed: 5000 events in 294.27327ms
Burst completed: 5000 events in 302.082884ms
Burst completed: 5000 events in 275.303333ms
Burst test completed: 50000 events in 8.289618326s, errors: 0
Events/sec: 6031.64
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -62,8 +62,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.589006764s
Combined ops/sec: 2033.43
Wiping database between tests...
RunQueryTest (Badger)..
@@ -75,11 +75,11 @@ Generated 10000 events:
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
Query test completed: 386321 queries in 1m0.004857306s
Queries/sec: 6438.16
Avg query latency: 1.735172ms
P95 query latency: 7.105431ms
P99 query latency: 11.143036ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -97,13 +97,13 @@ Generated 50000 events:
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
Concurrent test completed: 307546 operations (257546 queries, 50000 writes) in 1m0.004391663s
Operations/sec: 5125.39
Avg latency: 1.529592ms
Avg query latency: 1.500743ms
Avg write latency: 1.678192ms
P95 latency: 3.924759ms
P99 latency: 6.521318ms
=== Badger benchmark completed ===
@@ -113,73 +113,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.956654549s
Duration: 3.186261331s
Total Events: 50000
Events/sec: 16911.01
Events/sec: 15692.37
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
Memory Used: 205 MB
Avg Latency: 1.434878ms
P90 Latency: 1.984672ms
P95 Latency: 2.364988ms
P99 Latency: 3.569955ms
Bottom 10% Avg Latency: 773.12µs
----------------------------------------
Test: Burst Pattern
Duration: 7.878108141s
Duration: 8.289618326s
Total Events: 50000
Events/sec: 6346.70
Events/sec: 6031.64
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
Memory Used: 205 MB
Avg Latency: 1.438112ms
P90 Latency: 2.076818ms
P95 Latency: 2.530373ms
P99 Latency: 4.989991ms
Bottom 10% Avg Latency: 568.599µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.39267216s
Duration: 24.589006764s
Total Events: 50000
Events/sec: 2049.80
Events/sec: 2033.43
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
Memory Used: 200 MB
Avg Latency: 375.193µs
P90 Latency: 783.333µs
P95 Latency: 869.767µs
P99 Latency: 1.066383ms
Bottom 10% Avg Latency: 1.013439ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004115415s
Total Events: 395438
Events/sec: 6590.18
Duration: 1m0.004857306s
Total Events: 386321
Events/sec: 6438.16
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
Memory Used: 127 MB
Avg Latency: 1.735172ms
P90 Latency: 5.2786ms
P95 Latency: 7.105431ms
P99 Latency: 11.143036ms
Bottom 10% Avg Latency: 7.866786ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002877808s
Total Events: 328042
Events/sec: 5467.10
Duration: 1m0.004391663s
Total Events: 307546
Events/sec: 5125.39
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
Memory Used: 99 MB
Avg Latency: 1.529592ms
P90 Latency: 3.079278ms
P95 Latency: 3.924759ms
P99 Latency: 6.521318ms
Bottom 10% Avg Latency: 4.582225ms
----------------------------------------
Report saved to: /tmp/benchmark_khatru-sqlite_8/benchmark_report.txt
@@ -187,7 +187,7 @@ 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
TEST_TIMESTAMP: 2025-11-20T15:40:05+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

View File

@@ -1,15 +1,15 @@
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
1763652400623108 migrating to version 1... /build/pkg/database/migrations.go:66
1763652400623175 migrating to version 2... /build/pkg/database/migrations.go:73
1763652400623195 migrating to version 3... /build/pkg/database/migrations.go:80
1763652400623201 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763652400623212 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763652400623230 migrating to version 4... /build/pkg/database/migrations.go:87
1763652400623235 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763652400623247 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763652400623253 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,33 +19,33 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 15:26:40 INFO: Extracted embedded libsecp256k1 to /tmp/orly-libsecp256k1/libsecp256k1.so
2025/11/20 15:26:40 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:26:40 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.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
Duration: 2.803267086s
Events/sec: 17836.33
Avg latency: 1.176626ms
P90 latency: 1.565758ms
P95 latency: 1.79182ms
P99 latency: 2.567671ms
Bottom 10% Avg latency: 659.571µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 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
Burst completed: 5000 events in 273.688446ms
Burst completed: 5000 events in 302.646243ms
Burst completed: 5000 events in 288.036597ms
Burst completed: 5000 events in 307.50298ms
Burst completed: 5000 events in 274.641308ms
Burst completed: 5000 events in 333.250889ms
Burst completed: 5000 events in 290.803893ms
Burst completed: 5000 events in 266.599814ms
Burst completed: 5000 events in 274.663293ms
Burst completed: 5000 events in 268.549794ms
Burst test completed: 50000 events in 7.886078444s, errors: 0
Events/sec: 6340.29
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -63,8 +63,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.493227686s
Combined ops/sec: 2041.38
Wiping database between tests...
RunQueryTest (Badger)..
@@ -76,11 +76,11 @@ Generated 10000 events:
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
Query test completed: 413626 queries in 1m0.007599287s
Queries/sec: 6892.89
Avg query latency: 1.605375ms
P95 query latency: 6.217976ms
P99 query latency: 9.897364ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -98,13 +98,13 @@ Generated 50000 events:
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
Concurrent test completed: 323564 operations (273564 queries, 50000 writes) in 1m0.003158101s
Operations/sec: 5392.45
Avg latency: 1.423293ms
Avg query latency: 1.394356ms
Avg write latency: 1.581619ms
P95 latency: 3.549982ms
P99 latency: 5.600343ms
=== Badger benchmark completed ===
@@ -114,73 +114,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.905753281s
Duration: 2.803267086s
Total Events: 50000
Events/sec: 17207.24
Events/sec: 17836.33
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
Memory Used: 170 MB
Avg Latency: 1.176626ms
P90 Latency: 1.565758ms
P95 Latency: 1.79182ms
P99 Latency: 2.567671ms
Bottom 10% Avg Latency: 659.571µs
----------------------------------------
Test: Burst Pattern
Duration: 7.862602959s
Duration: 7.886078444s
Total Events: 50000
Events/sec: 6359.22
Events/sec: 6340.29
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
Memory Used: 209 MB
Avg Latency: 1.150109ms
P90 Latency: 1.62389ms
P95 Latency: 1.87572ms
P99 Latency: 2.697118ms
Bottom 10% Avg Latency: 460.59µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.450909635s
Duration: 24.493227686s
Total Events: 50000
Events/sec: 2044.91
Events/sec: 2041.38
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
Memory Used: 214 MB
Avg Latency: 373.118µs
P90 Latency: 783.686µs
P95 Latency: 870.11µs
P99 Latency: 1.06392ms
Bottom 10% Avg Latency: 989.173µs
----------------------------------------
Test: Query Performance
Duration: 1m0.005098014s
Total Events: 421640
Events/sec: 7026.74
Duration: 1m0.007599287s
Total Events: 413626
Events/sec: 6892.89
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
Memory Used: 101 MB
Avg Latency: 1.605375ms
P90 Latency: 4.744413ms
P95 Latency: 6.217976ms
P99 Latency: 9.897364ms
Bottom 10% Avg Latency: 6.953348ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002090641s
Total Events: 325881
Events/sec: 5431.16
Duration: 1m0.003158101s
Total Events: 323564
Events/sec: 5392.45
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
Memory Used: 106 MB
Avg Latency: 1.423293ms
P90 Latency: 2.81525ms
P95 Latency: 3.549982ms
P99 Latency: 5.600343ms
Bottom 10% Avg Latency: 4.011381ms
----------------------------------------
Report saved to: /tmp/benchmark_next-orly-badger_8/benchmark_report.txt
@@ -188,7 +188,7 @@ AsciiDoc report saved to: /tmp/benchmark_next-orly-badger_8/benchmark_report.ado
RELAY_NAME: next-orly-badger
RELAY_URL: ws://next-orly-badger:8080
TEST_TIMESTAMP: 2025-11-20T05:56:14+00:00
TEST_TIMESTAMP: 2025-11-20T15:29:57+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

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
1763652602763705 migrating to version 1... /build/pkg/database/migrations.go:66
1763652602763773 migrating to version 2... /build/pkg/database/migrations.go:73
1763652602763796 migrating to version 3... /build/pkg/database/migrations.go:80
1763652602763801 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763652602763811 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763652602763824 migrating to version 4... /build/pkg/database/migrations.go:87
1763652602763828 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763652602763841 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763652602763847 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:30:02 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:30:02 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.996302267s
Events/sec: 16687.23
Avg latency: 1.299973ms
P90 latency: 1.872602ms
P95 latency: 2.203343ms
P99 latency: 3.221304ms
Bottom 10% Avg latency: 703.285µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 279.514933ms
Burst completed: 5000 events in 333.416463ms
Burst completed: 5000 events in 377.803965ms
Burst completed: 5000 events in 313.958626ms
Burst completed: 5000 events in 288.237124ms
Burst completed: 5000 events in 336.526138ms
Burst completed: 5000 events in 278.656719ms
Burst completed: 5000 events in 270.704289ms
Burst completed: 5000 events in 268.660351ms
Burst completed: 5000 events in 270.785192ms
Burst test completed: 50000 events in 8.024923997s, errors: 0
Events/sec: 6230.59
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Generating 1000 unique synthetic events (minimum 300 bytes each)...
Generated 1000 events:
Average content size: 312 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database for read tests...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Mixed test completed: 25000 writes, 25000 reads in 24.485015769s
Combined ops/sec: 2042.07
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Generating 10000 unique synthetic events (minimum 300 bytes each)...
Generated 10000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 10000 events for query tests...
Query test completed: 414358 queries in 1m0.005939033s
Queries/sec: 6905.28
Avg query latency: 1.609497ms
P95 query latency: 6.244748ms
P99 query latency: 9.843682ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Generating 5000 unique synthetic events (minimum 300 bytes each)...
Generated 5000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 5000 events for concurrent query/store test...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Concurrent test completed: 324836 operations (274836 queries, 50000 writes) in 1m0.003111101s
Operations/sec: 5413.65
Avg latency: 1.384161ms
Avg query latency: 1.372926ms
Avg write latency: 1.445917ms
P95 latency: 3.428577ms
P99 latency: 5.394055ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.996302267s
Total Events: 50000
Events/sec: 16687.23
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 144 MB
Avg Latency: 1.299973ms
P90 Latency: 1.872602ms
P95 Latency: 2.203343ms
P99 Latency: 3.221304ms
Bottom 10% Avg Latency: 703.285µs
----------------------------------------
Test: Burst Pattern
Duration: 8.024923997s
Total Events: 50000
Events/sec: 6230.59
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.216351ms
P90 Latency: 1.87152ms
P95 Latency: 2.205777ms
P99 Latency: 3.125661ms
Bottom 10% Avg Latency: 457.327µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.485015769s
Total Events: 50000
Events/sec: 2042.07
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 173 MB
Avg Latency: 374.953µs
P90 Latency: 783.735µs
P95 Latency: 869.669µs
P99 Latency: 1.048389ms
Bottom 10% Avg Latency: 1.004367ms
----------------------------------------
Test: Query Performance
Duration: 1m0.005939033s
Total Events: 414358
Events/sec: 6905.28
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 123 MB
Avg Latency: 1.609497ms
P90 Latency: 4.777632ms
P95 Latency: 6.244748ms
P99 Latency: 9.843682ms
Bottom 10% Avg Latency: 6.949572ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003111101s
Total Events: 324836
Events/sec: 5413.65
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 153 MB
Avg Latency: 1.384161ms
P90 Latency: 2.768438ms
P95 Latency: 3.428577ms
P99 Latency: 5.394055ms
Bottom 10% Avg Latency: 3.893148ms
----------------------------------------
Report saved to: /tmp/benchmark_next-orly-dgraph_8/benchmark_report.txt
AsciiDoc report saved to: /tmp/benchmark_next-orly-dgraph_8/benchmark_report.adoc
RELAY_NAME: next-orly-dgraph
RELAY_URL: ws://next-orly-dgraph:8080
TEST_TIMESTAMP: 2025-11-20T15:33:20+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,15 +1,15 @@
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
1763652805203358 migrating to version 1... /build/pkg/database/migrations.go:66
1763652805203420 migrating to version 2... /build/pkg/database/migrations.go:73
1763652805203442 migrating to version 3... /build/pkg/database/migrations.go:80
1763652805203447 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763652805203457 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763652805203478 migrating to version 4... /build/pkg/database/migrations.go:87
1763652805203483 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763652805203495 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763652805203501 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,32 +19,32 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 15:33:25 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:33:25 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.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
Duration: 2.857480805s
Events/sec: 17497.93
Avg latency: 1.220061ms
P90 latency: 1.596304ms
P95 latency: 1.873592ms
P99 latency: 2.782174ms
Bottom 10% Avg latency: 689.107µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 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
Burst completed: 5000 events in 281.99337ms
Burst completed: 5000 events in 295.005478ms
Burst completed: 5000 events in 269.052958ms
Burst completed: 5000 events in 354.874939ms
Burst completed: 5000 events in 272.895272ms
Burst completed: 5000 events in 323.411741ms
Burst completed: 5000 events in 292.611169ms
Burst completed: 5000 events in 302.127762ms
Burst completed: 5000 events in 319.054762ms
Burst completed: 5000 events in 278.810535ms
Burst test completed: 50000 events in 7.994629013s, errors: 0
Events/sec: 6254.20
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -62,8 +62,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.55551402s
Combined ops/sec: 2036.20
Wiping database between tests...
RunQueryTest (Badger)..
@@ -75,11 +75,11 @@ Generated 10000 events:
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
Query test completed: 409386 queries in 1m0.004731834s
Queries/sec: 6822.56
Avg query latency: 1.626092ms
P95 query latency: 6.350996ms
P99 query latency: 10.054136ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -97,13 +97,13 @@ Generated 50000 events:
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
Concurrent test completed: 323034 operations (273034 queries, 50000 writes) in 1m0.00211611s
Operations/sec: 5383.71
Avg latency: 1.425098ms
Avg query latency: 1.396374ms
Avg write latency: 1.58195ms
P95 latency: 3.545999ms
P99 latency: 6.036557ms
=== Badger benchmark completed ===
@@ -113,73 +113,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.769992527s
Duration: 2.857480805s
Total Events: 50000
Events/sec: 18050.59
Events/sec: 17497.93
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
Memory Used: 146 MB
Avg Latency: 1.220061ms
P90 Latency: 1.596304ms
P95 Latency: 1.873592ms
P99 Latency: 2.782174ms
Bottom 10% Avg Latency: 689.107µs
----------------------------------------
Test: Burst Pattern
Duration: 7.968808771s
Duration: 7.994629013s
Total Events: 50000
Events/sec: 6274.46
Events/sec: 6254.20
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
Avg Latency: 1.207729ms
P90 Latency: 1.708517ms
P95 Latency: 2.026464ms
P99 Latency: 3.279542ms
Bottom 10% Avg Latency: 485.191µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.488197886s
Duration: 24.55551402s
Total Events: 50000
Events/sec: 2041.80
Events/sec: 2036.20
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
Memory Used: 136 MB
Avg Latency: 373.684µs
P90 Latency: 776.891µs
P95 Latency: 860.711µs
P99 Latency: 1.061864ms
Bottom 10% Avg Latency: 1.011492ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004174246s
Total Events: 423936
Events/sec: 7065.11
Duration: 1m0.004731834s
Total Events: 409386
Events/sec: 6822.56
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
Memory Used: 116 MB
Avg Latency: 1.626092ms
P90 Latency: 4.833133ms
P95 Latency: 6.350996ms
P99 Latency: 10.054136ms
Bottom 10% Avg Latency: 7.107595ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.004816049s
Total Events: 322118
Events/sec: 5368.20
Duration: 1m0.00211611s
Total Events: 323034
Events/sec: 5383.71
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
Avg Latency: 1.425098ms
P90 Latency: 2.805728ms
P95 Latency: 3.545999ms
P99 Latency: 6.036557ms
Bottom 10% Avg Latency: 4.162695ms
----------------------------------------
Report saved to: /tmp/benchmark_next-orly-neo4j_8/benchmark_report.txt
@@ -187,7 +187,7 @@ 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
TEST_TIMESTAMP: 2025-11-20T15:36:42+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

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
1763653819215784 migrating to version 1... /build/pkg/database/migrations.go:66
1763653819215858 migrating to version 2... /build/pkg/database/migrations.go:73
1763653819215881 migrating to version 3... /build/pkg/database/migrations.go:80
1763653819215886 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653819215898 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653819215918 migrating to version 4... /build/pkg/database/migrations.go:87
1763653819215925 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653819215941 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653819215947 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:50:19 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:50:19 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.278596732s
Events/sec: 15250.43
Avg latency: 1.477342ms
P90 latency: 2.162459ms
P95 latency: 2.527756ms
P99 latency: 3.539613ms
Bottom 10% Avg latency: 760.393µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 347.551003ms
Burst completed: 5000 events in 310.553942ms
Burst completed: 5000 events in 274.417201ms
Burst completed: 5000 events in 290.829667ms
Burst completed: 5000 events in 269.849068ms
Burst completed: 5000 events in 319.02529ms
Burst completed: 5000 events in 298.378337ms
Burst completed: 5000 events in 283.345709ms
Burst completed: 5000 events in 276.76346ms
Burst completed: 5000 events in 276.349452ms
Burst test completed: 50000 events in 7.9534977s, errors: 0
Events/sec: 6286.54
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Generating 1000 unique synthetic events (minimum 300 bytes each)...
Generated 1000 events:
Average content size: 312 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database for read tests...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Mixed test completed: 25000 writes, 25000 reads in 24.492844824s
Combined ops/sec: 2041.41
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Generating 10000 unique synthetic events (minimum 300 bytes each)...
Generated 10000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 10000 events for query tests...
Query test completed: 387418 queries in 1m0.003606821s
Queries/sec: 6456.58
Avg query latency: 1.742021ms
P95 query latency: 7.039881ms
P99 query latency: 11.419213ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Generating 5000 unique synthetic events (minimum 300 bytes each)...
Generated 5000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 5000 events for concurrent query/store test...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Concurrent test completed: 319676 operations (269676 queries, 50000 writes) in 1m0.002980175s
Operations/sec: 5327.67
Avg latency: 1.420802ms
Avg query latency: 1.406877ms
Avg write latency: 1.495907ms
P95 latency: 3.581021ms
P99 latency: 5.785351ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.278596732s
Total Events: 50000
Events/sec: 15250.43
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 137 MB
Avg Latency: 1.477342ms
P90 Latency: 2.162459ms
P95 Latency: 2.527756ms
P99 Latency: 3.539613ms
Bottom 10% Avg Latency: 760.393µs
----------------------------------------
Test: Burst Pattern
Duration: 7.9534977s
Total Events: 50000
Events/sec: 6286.54
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 204 MB
Avg Latency: 1.167307ms
P90 Latency: 1.706552ms
P95 Latency: 2.003086ms
P99 Latency: 2.859297ms
Bottom 10% Avg Latency: 438.858µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.492844824s
Total Events: 50000
Events/sec: 2041.41
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 178 MB
Avg Latency: 377.851µs
P90 Latency: 785.336µs
P95 Latency: 868.365µs
P99 Latency: 1.068355ms
Bottom 10% Avg Latency: 1.036749ms
----------------------------------------
Test: Query Performance
Duration: 1m0.003606821s
Total Events: 387418
Events/sec: 6456.58
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 125 MB
Avg Latency: 1.742021ms
P90 Latency: 5.212981ms
P95 Latency: 7.039881ms
P99 Latency: 11.419213ms
Bottom 10% Avg Latency: 7.926637ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002980175s
Total Events: 319676
Events/sec: 5327.67
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 136 MB
Avg Latency: 1.420802ms
P90 Latency: 2.833978ms
P95 Latency: 3.581021ms
P99 Latency: 5.785351ms
Bottom 10% Avg Latency: 4.147653ms
----------------------------------------
Report saved to: /tmp/benchmark_nostr-rs-relay_8/benchmark_report.txt
AsciiDoc report saved to: /tmp/benchmark_nostr-rs-relay_8/benchmark_report.adoc
RELAY_NAME: nostr-rs-relay
RELAY_URL: ws://nostr-rs-relay:8080
TEST_TIMESTAMP: 2025-11-20T15:53:36+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

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
1763653413403632 migrating to version 1... /build/pkg/database/migrations.go:66
1763653413403714 migrating to version 2... /build/pkg/database/migrations.go:73
1763653413403774 migrating to version 3... /build/pkg/database/migrations.go:80
1763653413403787 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653413403798 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653413403814 migrating to version 4... /build/pkg/database/migrations.go:87
1763653413403819 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653413403829 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653413403835 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
╚════════════════════════════════════════════════════════╝
=== Starting Badger benchmark ===
RunPeakThroughputTest (Badger)..
=== Peak Throughput Test ===
2025/11/20 15:43:33 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:43:33 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.291311068s
Events/sec: 15191.51
Avg latency: 1.494499ms
P90 latency: 2.107626ms
P95 latency: 2.461731ms
P99 latency: 3.662388ms
Bottom 10% Avg latency: 790.923µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 344.087556ms
Burst completed: 5000 events in 311.578355ms
Burst completed: 5000 events in 276.67865ms
Burst completed: 5000 events in 295.952793ms
Burst completed: 5000 events in 314.347861ms
Burst completed: 5000 events in 365.599791ms
Burst completed: 5000 events in 312.086332ms
Burst completed: 5000 events in 299.872209ms
Burst completed: 5000 events in 328.254546ms
Burst completed: 5000 events in 283.179754ms
Burst test completed: 50000 events in 8.137375007s, errors: 0
Events/sec: 6144.49
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
=== Mixed Read/Write Test ===
Generating 1000 unique synthetic events (minimum 300 bytes each)...
Generated 1000 events:
Average content size: 312 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database for read tests...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Mixed test completed: 25000 writes, 25000 reads in 24.527874554s
Combined ops/sec: 2038.50
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Generating 10000 unique synthetic events (minimum 300 bytes each)...
Generated 10000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 10000 events for query tests...
Query test completed: 404814 queries in 1m0.005258143s
Queries/sec: 6746.31
Avg query latency: 1.649233ms
P95 query latency: 6.427316ms
P99 query latency: 10.348647ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
=== Concurrent Query/Store Test ===
Generating 5000 unique synthetic events (minimum 300 bytes each)...
Generated 5000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 5000 events for concurrent query/store test...
Generating 50000 unique synthetic events (minimum 300 bytes each)...
Generated 50000 events:
Average content size: 314 bytes
All events are unique (incremental timestamps)
All events are properly signed
Concurrent test completed: 321308 operations (271308 queries, 50000 writes) in 1m0.002966019s
Operations/sec: 5354.87
Avg latency: 1.426015ms
Avg query latency: 1.403835ms
Avg write latency: 1.546366ms
P95 latency: 3.544854ms
P99 latency: 5.812454ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.291311068s
Total Events: 50000
Events/sec: 15191.51
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 96 MB
Avg Latency: 1.494499ms
P90 Latency: 2.107626ms
P95 Latency: 2.461731ms
P99 Latency: 3.662388ms
Bottom 10% Avg Latency: 790.923µs
----------------------------------------
Test: Burst Pattern
Duration: 8.137375007s
Total Events: 50000
Events/sec: 6144.49
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 204 MB
Avg Latency: 1.322915ms
P90 Latency: 1.930428ms
P95 Latency: 2.255818ms
P99 Latency: 3.262786ms
Bottom 10% Avg Latency: 503.483µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.527874554s
Total Events: 50000
Events/sec: 2038.50
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 132 MB
Avg Latency: 383.613µs
P90 Latency: 799.103µs
P95 Latency: 888.112µs
P99 Latency: 1.115605ms
Bottom 10% Avg Latency: 1.022007ms
----------------------------------------
Test: Query Performance
Duration: 1m0.005258143s
Total Events: 404814
Events/sec: 6746.31
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 125 MB
Avg Latency: 1.649233ms
P90 Latency: 4.874718ms
P95 Latency: 6.427316ms
P99 Latency: 10.348647ms
Bottom 10% Avg Latency: 7.248468ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002966019s
Total Events: 321308
Events/sec: 5354.87
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 89 MB
Avg Latency: 1.426015ms
P90 Latency: 2.835111ms
P95 Latency: 3.544854ms
P99 Latency: 5.812454ms
Bottom 10% Avg Latency: 4.119764ms
----------------------------------------
Report saved to: /tmp/benchmark_relayer-basic_8/benchmark_report.txt
AsciiDoc report saved to: /tmp/benchmark_relayer-basic_8/benchmark_report.adoc
RELAY_NAME: relayer-basic
RELAY_URL: ws://relayer-basic:7447
TEST_TIMESTAMP: 2025-11-20T15:46:51+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,15 +1,15 @@
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
1763653616411609 migrating to version 1... /build/pkg/database/migrations.go:66
1763653616411669 migrating to version 2... /build/pkg/database/migrations.go:73
1763653616411689 migrating to version 3... /build/pkg/database/migrations.go:80
1763653616411694 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763653616411704 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763653616411716 migrating to version 4... /build/pkg/database/migrations.go:87
1763653616411721 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763653616411737 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763653616411743 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,32 +19,32 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 15:46:56 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 15:46:56 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 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
Duration: 3.014958576s
Events/sec: 16583.98
Avg latency: 1.325163ms
P90 latency: 1.786363ms
P95 latency: 2.114188ms
P99 latency: 3.49584ms
Bottom 10% Avg latency: 732.389µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 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
Burst completed: 5000 events in 278.298939ms
Burst completed: 5000 events in 313.522394ms
Burst completed: 5000 events in 294.043544ms
Burst completed: 5000 events in 309.8617ms
Burst completed: 5000 events in 328.19151ms
Burst completed: 5000 events in 383.407013ms
Burst completed: 5000 events in 529.340096ms
Burst completed: 5000 events in 322.571733ms
Burst completed: 5000 events in 303.970105ms
Burst completed: 5000 events in 289.891623ms
Burst test completed: 50000 events in 8.361315231s, errors: 0
Events/sec: 5979.92
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -62,8 +62,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.466759982s
Combined ops/sec: 2043.59
Wiping database between tests...
RunQueryTest (Badger)..
@@ -75,11 +75,11 @@ Generated 10000 events:
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
Query test completed: 387526 queries in 1m0.00778943s
Queries/sec: 6457.93
Avg query latency: 1.741809ms
P95 query latency: 6.972503ms
P99 query latency: 11.293675ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -97,13 +97,13 @@ Generated 50000 events:
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
Concurrent test completed: 323401 operations (273401 queries, 50000 writes) in 1m0.003665569s
Operations/sec: 5389.69
Avg latency: 1.417249ms
Avg query latency: 1.392804ms
Avg write latency: 1.550915ms
P95 latency: 3.520567ms
P99 latency: 5.657268ms
=== Badger benchmark completed ===
@@ -113,73 +113,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.792294779s
Duration: 3.014958576s
Total Events: 50000
Events/sec: 17906.42
Events/sec: 16583.98
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
Memory Used: 167 MB
Avg Latency: 1.325163ms
P90 Latency: 1.786363ms
P95 Latency: 2.114188ms
P99 Latency: 3.49584ms
Bottom 10% Avg Latency: 732.389µs
----------------------------------------
Test: Burst Pattern
Duration: 8.005699907s
Duration: 8.361315231s
Total Events: 50000
Events/sec: 6245.55
Events/sec: 5979.92
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
Memory Used: 210 MB
Avg Latency: 1.467778ms
P90 Latency: 2.245087ms
P95 Latency: 2.793392ms
P99 Latency: 4.500615ms
Bottom 10% Avg Latency: 566.462µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.441964307s
Duration: 24.466759982s
Total Events: 50000
Events/sec: 2045.66
Events/sec: 2043.59
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
Memory Used: 217 MB
Avg Latency: 379.14µs
P90 Latency: 785.126µs
P95 Latency: 878.634µs
P99 Latency: 1.097992ms
Bottom 10% Avg Latency: 1.031459ms
----------------------------------------
Test: Query Performance
Duration: 1m0.008334214s
Total Events: 423574
Events/sec: 7058.59
Duration: 1m0.00778943s
Total Events: 387526
Events/sec: 6457.93
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
Memory Used: 136 MB
Avg Latency: 1.741809ms
P90 Latency: 5.188695ms
P95 Latency: 6.972503ms
P99 Latency: 11.293675ms
Bottom 10% Avg Latency: 7.860799ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002904523s
Total Events: 328763
Events/sec: 5479.12
Duration: 1m0.003665569s
Total Events: 323401
Events/sec: 5389.69
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
Memory Used: 106 MB
Avg Latency: 1.417249ms
P90 Latency: 2.811055ms
P95 Latency: 3.520567ms
P99 Latency: 5.657268ms
Bottom 10% Avg Latency: 4.052952ms
----------------------------------------
Report saved to: /tmp/benchmark_strfry_8/benchmark_report.txt
@@ -187,7 +187,7 @@ 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
TEST_TIMESTAMP: 2025-11-20T15:50:14+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

View File

@@ -1,15 +1,15 @@
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
1763655776959677 migrating to version 1... /build/pkg/database/migrations.go:66
1763655776959730 migrating to version 2... /build/pkg/database/migrations.go:73
1763655776959750 migrating to version 3... /build/pkg/database/migrations.go:80
1763655776959756 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763655776959766 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763655776959781 migrating to version 4... /build/pkg/database/migrations.go:87
1763655776959786 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763655776959799 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763655776959805 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,32 +19,32 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 16:22:56 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 16:22:56 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
Duration: 3.557122297s
Events/sec: 14056.31
Avg latency: 1.628852ms
P90 latency: 2.412548ms
P95 latency: 2.884718ms
P99 latency: 4.67527ms
Bottom 10% Avg latency: 792.955µ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
Burst completed: 5000 events in 405.911535ms
Burst completed: 5000 events in 380.53618ms
Burst completed: 5000 events in 280.754351ms
Burst completed: 5000 events in 297.565192ms
Burst completed: 5000 events in 302.520216ms
Burst completed: 5000 events in 350.323686ms
Burst completed: 5000 events in 371.767707ms
Burst completed: 5000 events in 285.38171ms
Burst completed: 5000 events in 274.748193ms
Burst completed: 5000 events in 271.260586ms
Burst test completed: 50000 events in 8.226487654s, errors: 0
Events/sec: 6077.93
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -62,8 +62,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.533132193s
Combined ops/sec: 2038.06
Wiping database between tests...
RunQueryTest (Badger)..
@@ -75,11 +75,11 @@ Generated 10000 events:
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
Query test completed: 394302 queries in 1m0.00447925s
Queries/sec: 6571.21
Avg query latency: 1.70837ms
P95 query latency: 6.773469ms
P99 query latency: 10.899944ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -97,13 +97,13 @@ Generated 50000 events:
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
Concurrent test completed: 317462 operations (267462 queries, 50000 writes) in 1m0.00322203s
Operations/sec: 5290.75
Avg latency: 1.435958ms
Avg query latency: 1.421544ms
Avg write latency: 1.513062ms
P95 latency: 3.617935ms
P99 latency: 5.869627ms
=== Badger benchmark completed ===
@@ -113,73 +113,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.763121055s
Duration: 3.557122297s
Total Events: 50000
Events/sec: 18095.48
Events/sec: 14056.31
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
Memory Used: 156 MB
Avg Latency: 1.628852ms
P90 Latency: 2.412548ms
P95 Latency: 2.884718ms
P99 Latency: 4.67527ms
Bottom 10% Avg Latency: 792.955µs
----------------------------------------
Test: Burst Pattern
Duration: 7.986045814s
Duration: 8.226487654s
Total Events: 50000
Events/sec: 6260.92
Events/sec: 6077.93
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
Memory Used: 205 MB
Avg Latency: 1.310069ms
P90 Latency: 2.055438ms
P95 Latency: 2.49215ms
P99 Latency: 4.005986ms
Bottom 10% Avg Latency: 461.037µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.456214964s
Duration: 24.533132193s
Total Events: 50000
Events/sec: 2044.47
Events/sec: 2038.06
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
Memory Used: 199 MB
Avg Latency: 388.704µs
P90 Latency: 808.702µs
P95 Latency: 904.254µs
P99 Latency: 1.136966ms
Bottom 10% Avg Latency: 1.056324ms
----------------------------------------
Test: Query Performance
Duration: 1m0.006481017s
Total Events: 417411
Events/sec: 6956.10
Duration: 1m0.00447925s
Total Events: 394302
Events/sec: 6571.21
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
Memory Used: 115 MB
Avg Latency: 1.70837ms
P90 Latency: 5.078238ms
P95 Latency: 6.773469ms
P99 Latency: 10.899944ms
Bottom 10% Avg Latency: 7.587998ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003734546s
Total Events: 325932
Events/sec: 5431.86
Duration: 1m0.00322203s
Total Events: 317462
Events/sec: 5290.75
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
Memory Used: 123 MB
Avg Latency: 1.435958ms
P90 Latency: 2.91748ms
P95 Latency: 3.617935ms
P99 Latency: 5.869627ms
Bottom 10% Avg Latency: 4.184418ms
----------------------------------------
Report saved to: /tmp/benchmark_khatru-badger_8/benchmark_report.txt
@@ -187,7 +187,7 @@ 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
TEST_TIMESTAMP: 2025-11-20T16:26:15+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

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
1763655574035860 migrating to version 1... /build/pkg/database/migrations.go:66
1763655574035914 migrating to version 2... /build/pkg/database/migrations.go:73
1763655574035943 migrating to version 3... /build/pkg/database/migrations.go:80
1763655574035949 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763655574035958 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763655574035975 migrating to version 4... /build/pkg/database/migrations.go:87
1763655574035982 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763655574035992 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763655574035997 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 16:19:34 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 16:19:34 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.232222717s
Events/sec: 15469.23
Avg latency: 1.469007ms
P90 latency: 2.035701ms
P95 latency: 2.349899ms
P99 latency: 3.271326ms
Bottom 10% Avg latency: 801.936µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 299.732401ms
Burst completed: 5000 events in 329.942997ms
Burst completed: 5000 events in 277.351209ms
Burst completed: 5000 events in 317.930408ms
Burst completed: 5000 events in 273.472906ms
Burst completed: 5000 events in 337.06975ms
Burst completed: 5000 events in 340.407772ms
Burst completed: 5000 events in 358.760144ms
Burst completed: 5000 events in 309.592493ms
Burst completed: 5000 events in 273.260581ms
Burst test completed: 50000 events in 8.125781511s, errors: 0
Events/sec: 6153.25
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.566923076s
Combined ops/sec: 2035.26
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: 402485 queries in 1m0.004783968s
Queries/sec: 6707.55
Avg query latency: 1.665358ms
P95 query latency: 6.573038ms
P99 query latency: 10.409271ms
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: 311988 operations (261988 queries, 50000 writes) in 1m0.003852034s
Operations/sec: 5199.47
Avg latency: 1.508403ms
Avg query latency: 1.478354ms
Avg write latency: 1.665855ms
P95 latency: 3.826874ms
P99 latency: 6.740607ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.232222717s
Total Events: 50000
Events/sec: 15469.23
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 101 MB
Avg Latency: 1.469007ms
P90 Latency: 2.035701ms
P95 Latency: 2.349899ms
P99 Latency: 3.271326ms
Bottom 10% Avg Latency: 801.936µs
----------------------------------------
Test: Burst Pattern
Duration: 8.125781511s
Total Events: 50000
Events/sec: 6153.25
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 253 MB
Avg Latency: 1.339912ms
P90 Latency: 1.931472ms
P95 Latency: 2.248376ms
P99 Latency: 3.415521ms
Bottom 10% Avg Latency: 558.036µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.566923076s
Total Events: 50000
Events/sec: 2035.26
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 183 MB
Avg Latency: 387.89µs
P90 Latency: 800.235µs
P95 Latency: 893.473µs
P99 Latency: 1.116417ms
Bottom 10% Avg Latency: 1.061513ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004783968s
Total Events: 402485
Events/sec: 6707.55
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 122 MB
Avg Latency: 1.665358ms
P90 Latency: 4.967519ms
P95 Latency: 6.573038ms
P99 Latency: 10.409271ms
Bottom 10% Avg Latency: 7.318028ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003852034s
Total Events: 311988
Events/sec: 5199.47
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 123 MB
Avg Latency: 1.508403ms
P90 Latency: 3.026719ms
P95 Latency: 3.826874ms
P99 Latency: 6.740607ms
Bottom 10% Avg Latency: 4.581461ms
----------------------------------------
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-20T16:22:51+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
1763654965967981 migrating to version 1... /build/pkg/database/migrations.go:66
1763654965968059 migrating to version 2... /build/pkg/database/migrations.go:73
1763654965968086 migrating to version 3... /build/pkg/database/migrations.go:80
1763654965968093 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763654965968104 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763654965968128 migrating to version 4... /build/pkg/database/migrations.go:87
1763654965968134 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763654965968148 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763654965968155 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 16:09:25 INFO: Extracted embedded libsecp256k1 to /tmp/orly-libsecp256k1/libsecp256k1.so
2025/11/20 16:09:25 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 16:09:25 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.86284713s
Events/sec: 17465.13
Avg latency: 1.240021ms
P90 latency: 1.632975ms
P95 latency: 1.88702ms
P99 latency: 2.588648ms
Bottom 10% Avg latency: 720.664µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 283.916078ms
Burst completed: 5000 events in 308.835391ms
Burst completed: 5000 events in 271.738649ms
Burst completed: 5000 events in 294.190093ms
Burst completed: 5000 events in 270.874739ms
Burst completed: 5000 events in 353.277008ms
Burst completed: 5000 events in 291.31675ms
Burst completed: 5000 events in 260.143176ms
Burst completed: 5000 events in 278.682529ms
Burst completed: 5000 events in 270.618556ms
Burst test completed: 50000 events in 7.890214694s, errors: 0
Events/sec: 6336.96
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.398091289s
Combined ops/sec: 2049.34
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: 375020 queries in 1m0.004407142s
Queries/sec: 6249.87
Avg query latency: 1.807546ms
P95 query latency: 7.404502ms
P99 query latency: 12.127148ms
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: 310651 operations (260651 queries, 50000 writes) in 1m0.003771057s
Operations/sec: 5177.19
Avg latency: 1.509233ms
Avg query latency: 1.487291ms
Avg write latency: 1.623615ms
P95 latency: 3.906611ms
P99 latency: 6.304613ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.86284713s
Total Events: 50000
Events/sec: 17465.13
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 164 MB
Avg Latency: 1.240021ms
P90 Latency: 1.632975ms
P95 Latency: 1.88702ms
P99 Latency: 2.588648ms
Bottom 10% Avg Latency: 720.664µs
----------------------------------------
Test: Burst Pattern
Duration: 7.890214694s
Total Events: 50000
Events/sec: 6336.96
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 170 MB
Avg Latency: 1.17176ms
P90 Latency: 1.637524ms
P95 Latency: 1.909102ms
P99 Latency: 2.743443ms
Bottom 10% Avg Latency: 504.67µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.398091289s
Total Events: 50000
Events/sec: 2049.34
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 114 MB
Avg Latency: 363.633µs
P90 Latency: 765.71µs
P95 Latency: 855.742µs
P99 Latency: 1.047598ms
Bottom 10% Avg Latency: 974.416µs
----------------------------------------
Test: Query Performance
Duration: 1m0.004407142s
Total Events: 375020
Events/sec: 6249.87
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 133 MB
Avg Latency: 1.807546ms
P90 Latency: 5.438031ms
P95 Latency: 7.404502ms
P99 Latency: 12.127148ms
Bottom 10% Avg Latency: 8.375567ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003771057s
Total Events: 310651
Events/sec: 5177.19
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 127 MB
Avg Latency: 1.509233ms
P90 Latency: 3.084923ms
P95 Latency: 3.906611ms
P99 Latency: 6.304613ms
Bottom 10% Avg Latency: 4.476784ms
----------------------------------------
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-20T16:12:43+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,15 +1,15 @@
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
1763655168222493 migrating to version 1... /build/pkg/database/migrations.go:66
1763655168222619 migrating to version 2... /build/pkg/database/migrations.go:73
1763655168222661 migrating to version 3... /build/pkg/database/migrations.go:80
1763655168222668 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763655168222679 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763655168222696 migrating to version 4... /build/pkg/database/migrations.go:87
1763655168222702 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763655168222720 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763655168222727 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,32 +19,32 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 16:12: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 16:12:48 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
Duration: 3.077632558s
Events/sec: 16246.25
Avg latency: 1.364467ms
P90 latency: 1.883291ms
P95 latency: 2.256624ms
P99 latency: 3.300984ms
Bottom 10% Avg latency: 745.8µ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
Burst completed: 5000 events in 289.470058ms
Burst completed: 5000 events in 331.754037ms
Burst completed: 5000 events in 300.084597ms
Burst completed: 5000 events in 307.645494ms
Burst completed: 5000 events in 438.270616ms
Burst completed: 5000 events in 438.889425ms
Burst completed: 5000 events in 312.922304ms
Burst completed: 5000 events in 276.60434ms
Burst completed: 5000 events in 415.149503ms
Burst completed: 5000 events in 287.798655ms
Burst test completed: 50000 events in 8.404871327s, errors: 0
Events/sec: 5948.93
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -62,8 +62,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.600967028s
Combined ops/sec: 2032.44
Wiping database between tests...
RunQueryTest (Badger)..
@@ -75,11 +75,11 @@ Generated 10000 events:
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
Query test completed: 356380 queries in 1m0.003804202s
Queries/sec: 5939.29
Avg query latency: 1.921866ms
P95 query latency: 7.932755ms
P99 query latency: 13.087413ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -97,13 +97,13 @@ Generated 50000 events:
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
Concurrent test completed: 313316 operations (263316 queries, 50000 writes) in 1m0.002399217s
Operations/sec: 5221.72
Avg latency: 1.496966ms
Avg query latency: 1.470501ms
Avg write latency: 1.636338ms
P95 latency: 3.78214ms
P99 latency: 6.576619ms
=== Badger benchmark completed ===
@@ -113,73 +113,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.129809148s
Duration: 3.077632558s
Total Events: 50000
Events/sec: 15975.41
Events/sec: 16246.25
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
Memory Used: 101 MB
Avg Latency: 1.364467ms
P90 Latency: 1.883291ms
P95 Latency: 2.256624ms
P99 Latency: 3.300984ms
Bottom 10% Avg Latency: 745.8µs
----------------------------------------
Test: Burst Pattern
Duration: 7.967614114s
Duration: 8.404871327s
Total Events: 50000
Events/sec: 6275.40
Events/sec: 5948.93
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
Memory Used: 178 MB
Avg Latency: 1.479051ms
P90 Latency: 2.357616ms
P95 Latency: 2.873991ms
P99 Latency: 4.41552ms
Bottom 10% Avg Latency: 536.061µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.415571109s
Duration: 24.600967028s
Total Events: 50000
Events/sec: 2047.87
Events/sec: 2032.44
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
Memory Used: 183 MB
Avg Latency: 400.294µs
P90 Latency: 824.673µs
P95 Latency: 918.06µs
P99 Latency: 1.128421ms
Bottom 10% Avg Latency: 1.06369ms
----------------------------------------
Test: Query Performance
Duration: 1m0.00605908s
Total Events: 413479
Events/sec: 6890.62
Duration: 1m0.003804202s
Total Events: 356380
Events/sec: 5939.29
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
Memory Used: 124 MB
Avg Latency: 1.921866ms
P90 Latency: 5.832521ms
P95 Latency: 7.932755ms
P99 Latency: 13.087413ms
Bottom 10% Avg Latency: 9.018017ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003637465s
Total Events: 323428
Events/sec: 5390.14
Duration: 1m0.002399217s
Total Events: 313316
Events/sec: 5221.72
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
Memory Used: 143 MB
Avg Latency: 1.496966ms
P90 Latency: 3.008265ms
P95 Latency: 3.78214ms
P99 Latency: 6.576619ms
Bottom 10% Avg Latency: 4.546974ms
----------------------------------------
Report saved to: /tmp/benchmark_next-orly-dgraph_8/benchmark_report.txt
@@ -187,7 +187,7 @@ AsciiDoc report saved to: /tmp/benchmark_next-orly-dgraph_8/benchmark_report.ado
RELAY_NAME: next-orly-dgraph
RELAY_URL: ws://next-orly-dgraph:8080
TEST_TIMESTAMP: 2025-11-20T05:59:36+00:00
TEST_TIMESTAMP: 2025-11-20T16:16:06+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

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
1763655371282183 migrating to version 1... /build/pkg/database/migrations.go:66
1763655371282260 migrating to version 2... /build/pkg/database/migrations.go:73
1763655371282294 migrating to version 3... /build/pkg/database/migrations.go:80
1763655371282304 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763655371282313 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763655371282328 migrating to version 4... /build/pkg/database/migrations.go:87
1763655371282332 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763655371282347 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763655371282352 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 16:16:11 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 16:16:11 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.322036094s
Events/sec: 15051.01
Avg latency: 1.501127ms
P90 latency: 2.132576ms
P95 latency: 2.573527ms
P99 latency: 4.7262ms
Bottom 10% Avg latency: 773.812µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 297.948317ms
Burst completed: 5000 events in 318.841207ms
Burst completed: 5000 events in 280.549165ms
Burst completed: 5000 events in 306.213632ms
Burst completed: 5000 events in 296.343565ms
Burst completed: 5000 events in 344.885086ms
Burst completed: 5000 events in 302.324928ms
Burst completed: 5000 events in 275.70635ms
Burst completed: 5000 events in 291.656138ms
Burst completed: 5000 events in 279.144014ms
Burst test completed: 50000 events in 8.000273258s, errors: 0
Events/sec: 6249.79
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.493058795s
Combined ops/sec: 2041.39
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: 379691 queries in 1m0.00424271s
Queries/sec: 6327.74
Avg query latency: 1.786907ms
P95 query latency: 7.280158ms
P99 query latency: 11.561961ms
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: 307993 operations (257993 queries, 50000 writes) in 1m0.003271216s
Operations/sec: 5132.94
Avg latency: 1.52949ms
Avg query latency: 1.502605ms
Avg write latency: 1.668216ms
P95 latency: 3.920904ms
P99 latency: 6.58322ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.322036094s
Total Events: 50000
Events/sec: 15051.01
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 169 MB
Avg Latency: 1.501127ms
P90 Latency: 2.132576ms
P95 Latency: 2.573527ms
P99 Latency: 4.7262ms
Bottom 10% Avg Latency: 773.812µs
----------------------------------------
Test: Burst Pattern
Duration: 8.000273258s
Total Events: 50000
Events/sec: 6249.79
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 175 MB
Avg Latency: 1.219984ms
P90 Latency: 1.785173ms
P95 Latency: 2.089965ms
P99 Latency: 2.950085ms
Bottom 10% Avg Latency: 487.01µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.493058795s
Total Events: 50000
Events/sec: 2041.39
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 216 MB
Avg Latency: 380.334µs
P90 Latency: 796.668µs
P95 Latency: 892.09µs
P99 Latency: 1.120225ms
Bottom 10% Avg Latency: 1.010816ms
----------------------------------------
Test: Query Performance
Duration: 1m0.00424271s
Total Events: 379691
Events/sec: 6327.74
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 112 MB
Avg Latency: 1.786907ms
P90 Latency: 5.418278ms
P95 Latency: 7.280158ms
P99 Latency: 11.561961ms
Bottom 10% Avg Latency: 8.118513ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003271216s
Total Events: 307993
Events/sec: 5132.94
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 92 MB
Avg Latency: 1.52949ms
P90 Latency: 3.119146ms
P95 Latency: 3.920904ms
P99 Latency: 6.58322ms
Bottom 10% Avg Latency: 4.575079ms
----------------------------------------
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-20T16:19:28+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
1763656386931745 migrating to version 1... /build/pkg/database/migrations.go:66
1763656386931817 migrating to version 2... /build/pkg/database/migrations.go:73
1763656386931845 migrating to version 3... /build/pkg/database/migrations.go:80
1763656386931852 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763656386931865 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763656386931881 migrating to version 4... /build/pkg/database/migrations.go:87
1763656386931888 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763656386931904 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763656386931912 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 16:33:06 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 16:33:06 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.042476532s
Events/sec: 16433.98
Avg latency: 1.35254ms
P90 latency: 1.869292ms
P95 latency: 2.195555ms
P99 latency: 3.118533ms
Bottom 10% Avg latency: 756.615µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 279.583533ms
Burst completed: 5000 events in 302.418629ms
Burst completed: 5000 events in 282.144904ms
Burst completed: 5000 events in 312.16919ms
Burst completed: 5000 events in 282.829388ms
Burst completed: 5000 events in 377.502102ms
Burst completed: 5000 events in 331.038047ms
Burst completed: 5000 events in 272.690016ms
Burst completed: 5000 events in 289.250685ms
Burst completed: 5000 events in 304.392921ms
Burst test completed: 50000 events in 8.03944091s, errors: 0
Events/sec: 6219.34
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.582126193s
Combined ops/sec: 2034.00
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: 374420 queries in 1m0.004508333s
Queries/sec: 6239.86
Avg query latency: 1.807473ms
P95 query latency: 7.370553ms
P99 query latency: 11.712034ms
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: 305067 operations (255067 queries, 50000 writes) in 1m0.003563304s
Operations/sec: 5084.15
Avg latency: 1.548146ms
Avg query latency: 1.529466ms
Avg write latency: 1.643441ms
P95 latency: 4.045539ms
P99 latency: 6.60567ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.042476532s
Total Events: 50000
Events/sec: 16433.98
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 160 MB
Avg Latency: 1.35254ms
P90 Latency: 1.869292ms
P95 Latency: 2.195555ms
P99 Latency: 3.118533ms
Bottom 10% Avg Latency: 756.615µs
----------------------------------------
Test: Burst Pattern
Duration: 8.03944091s
Total Events: 50000
Events/sec: 6219.34
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 209 MB
Avg Latency: 1.18202ms
P90 Latency: 1.750716ms
P95 Latency: 2.092537ms
P99 Latency: 3.047477ms
Bottom 10% Avg Latency: 434.92µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.582126193s
Total Events: 50000
Events/sec: 2034.00
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 174 MB
Avg Latency: 392.213µs
P90 Latency: 813.45µs
P95 Latency: 906.498µs
P99 Latency: 1.156113ms
Bottom 10% Avg Latency: 1.043137ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004508333s
Total Events: 374420
Events/sec: 6239.86
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 156 MB
Avg Latency: 1.807473ms
P90 Latency: 5.506507ms
P95 Latency: 7.370553ms
P99 Latency: 11.712034ms
Bottom 10% Avg Latency: 8.221454ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003563304s
Total Events: 305067
Events/sec: 5084.15
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 166 MB
Avg Latency: 1.548146ms
P90 Latency: 3.172868ms
P95 Latency: 4.045539ms
P99 Latency: 6.60567ms
Bottom 10% Avg Latency: 4.666667ms
----------------------------------------
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-20T16:36:24+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
1763655980207009 migrating to version 1... /build/pkg/database/migrations.go:66
1763655980207065 migrating to version 2... /build/pkg/database/migrations.go:73
1763655980207089 migrating to version 3... /build/pkg/database/migrations.go:80
1763655980207095 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763655980207103 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763655980207116 migrating to version 4... /build/pkg/database/migrations.go:87
1763655980207120 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763655980207133 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763655980207139 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 16:26:20 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 16:26:20 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.140113498s
Events/sec: 15922.99
Avg latency: 1.417584ms
P90 latency: 1.918927ms
P95 latency: 2.251932ms
P99 latency: 3.24845ms
Bottom 10% Avg latency: 781.19µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 295.016917ms
Burst completed: 5000 events in 302.477205ms
Burst completed: 5000 events in 296.524079ms
Burst completed: 5000 events in 316.859334ms
Burst completed: 5000 events in 283.043959ms
Burst completed: 5000 events in 599.696348ms
Burst completed: 5000 events in 348.408531ms
Burst completed: 5000 events in 328.489308ms
Burst completed: 5000 events in 346.767823ms
Burst completed: 5000 events in 266.423432ms
Burst test completed: 50000 events in 8.390681222s, errors: 0
Events/sec: 5958.99
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.729378008s
Combined ops/sec: 2021.89
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: 377608 queries in 1m0.004159666s
Queries/sec: 6293.03
Avg query latency: 1.78194ms
P95 query latency: 7.313999ms
P99 query latency: 11.571994ms
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: 300761 operations (250761 queries, 50000 writes) in 1m0.003300562s
Operations/sec: 5012.41
Avg latency: 1.581357ms
Avg query latency: 1.557006ms
Avg write latency: 1.703485ms
P95 latency: 4.198041ms
P99 latency: 7.134837ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.140113498s
Total Events: 50000
Events/sec: 15922.99
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 159 MB
Avg Latency: 1.417584ms
P90 Latency: 1.918927ms
P95 Latency: 2.251932ms
P99 Latency: 3.24845ms
Bottom 10% Avg Latency: 781.19µs
----------------------------------------
Test: Burst Pattern
Duration: 8.390681222s
Total Events: 50000
Events/sec: 5958.99
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 210 MB
Avg Latency: 1.446634ms
P90 Latency: 2.254246ms
P95 Latency: 2.884237ms
P99 Latency: 5.436852ms
Bottom 10% Avg Latency: 520.884µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.729378008s
Total Events: 50000
Events/sec: 2021.89
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 204 MB
Avg Latency: 382.367µs
P90 Latency: 799.193µs
P95 Latency: 904.063µs
P99 Latency: 1.193034ms
Bottom 10% Avg Latency: 1.047507ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004159666s
Total Events: 377608
Events/sec: 6293.03
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 117 MB
Avg Latency: 1.78194ms
P90 Latency: 5.391074ms
P95 Latency: 7.313999ms
P99 Latency: 11.571994ms
Bottom 10% Avg Latency: 8.16248ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003300562s
Total Events: 300761
Events/sec: 5012.41
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 133 MB
Avg Latency: 1.581357ms
P90 Latency: 3.256466ms
P95 Latency: 4.198041ms
P99 Latency: 7.134837ms
Bottom 10% Avg Latency: 4.912876ms
----------------------------------------
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-20T16:29:38+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,3 @@
RELAY: rely-sqlite
STATUS: FAILED - Relay not responding
ERROR: Connection failed

View File

@@ -0,0 +1,194 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_strfry_8
Events: 50000, Workers: 24, Duration: 1m0s
1763656183528413 migrating to version 1... /build/pkg/database/migrations.go:66
1763656183528497 migrating to version 2... /build/pkg/database/migrations.go:73
1763656183528519 migrating to version 3... /build/pkg/database/migrations.go:80
1763656183528525 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763656183528536 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763656183528550 migrating to version 4... /build/pkg/database/migrations.go:87
1763656183528556 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763656183528578 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763656183528584 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 16:29:43 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 16:29:43 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.202996786s
Events/sec: 15610.38
Avg latency: 1.448999ms
P90 latency: 2.008548ms
P95 latency: 2.330532ms
P99 latency: 3.434816ms
Bottom 10% Avg latency: 777.487µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 343.057172ms
Burst completed: 5000 events in 368.804651ms
Burst completed: 5000 events in 421.980578ms
Burst completed: 5000 events in 432.299904ms
Burst completed: 5000 events in 386.556991ms
Burst completed: 5000 events in 405.196753ms
Burst completed: 5000 events in 321.87791ms
Burst completed: 5000 events in 271.42499ms
Burst completed: 5000 events in 289.817431ms
Burst completed: 5000 events in 273.783645ms
Burst test completed: 50000 events in 8.519189117s, errors: 0
Events/sec: 5869.10
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.676790113s
Combined ops/sec: 2026.20
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Generating 10000 unique synthetic events (minimum 300 bytes each)...
Generated 10000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 10000 events for query tests...
Query test completed: 385413 queries in 1m0.004991772s
Queries/sec: 6423.02
Avg query latency: 1.750064ms
P95 query latency: 7.022112ms
P99 query latency: 11.130131ms
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: 304406 operations (254406 queries, 50000 writes) in 1m0.002847365s
Operations/sec: 5073.19
Avg latency: 1.53117ms
Avg query latency: 1.533671ms
Avg write latency: 1.518448ms
P95 latency: 4.027706ms
P99 latency: 6.601701ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.202996786s
Total Events: 50000
Events/sec: 15610.38
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 101 MB
Avg Latency: 1.448999ms
P90 Latency: 2.008548ms
P95 Latency: 2.330532ms
P99 Latency: 3.434816ms
Bottom 10% Avg Latency: 777.487µs
----------------------------------------
Test: Burst Pattern
Duration: 8.519189117s
Total Events: 50000
Events/sec: 5869.10
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 210 MB
Avg Latency: 1.564388ms
P90 Latency: 2.434829ms
P95 Latency: 2.893144ms
P99 Latency: 4.236454ms
Bottom 10% Avg Latency: 598.315µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.676790113s
Total Events: 50000
Events/sec: 2026.20
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 123 MB
Avg Latency: 398.546µs
P90 Latency: 824.051µs
P95 Latency: 923.8µs
P99 Latency: 1.195979ms
Bottom 10% Avg Latency: 1.080906ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004991772s
Total Events: 385413
Events/sec: 6423.02
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 133 MB
Avg Latency: 1.750064ms
P90 Latency: 5.273981ms
P95 Latency: 7.022112ms
P99 Latency: 11.130131ms
Bottom 10% Avg Latency: 7.835129ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002847365s
Total Events: 304406
Events/sec: 5073.19
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 112 MB
Avg Latency: 1.53117ms
P90 Latency: 3.181282ms
P95 Latency: 4.027706ms
P99 Latency: 6.601701ms
Bottom 10% Avg Latency: 4.654966ms
----------------------------------------
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-20T16:33:01+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,3 @@
RELAY: rely-sqlite
STATUS: FAILED - Relay not responding
ERROR: Connection failed

View File

@@ -0,0 +1,77 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_next-orly-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
1763665982729511 migrating to version 1... /build/pkg/database/migrations.go:66
1763665982729576 migrating to version 2... /build/pkg/database/migrations.go:73
1763665982729601 migrating to version 3... /build/pkg/database/migrations.go:80
1763665982729608 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763665982729620 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763665982729639 migrating to version 4... /build/pkg/database/migrations.go:87
1763665982729646 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763665982729664 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763665982729670 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 19:13:02 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 19:13:02 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.002317183s
Events/sec: 16653.80
Avg latency: 1.333202ms
P90 latency: 1.77034ms
P95 latency: 2.040484ms
P99 latency: 2.890994ms
Bottom 10% Avg latency: 755.546µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 288.855321ms
Burst completed: 5000 events in 312.543723ms
Burst completed: 5000 events in 287.863452ms
Burst completed: 5000 events in 340.503526ms
Burst completed: 5000 events in 311.944621ms
Burst completed: 5000 events in 338.563592ms
Burst completed: 5000 events in 306.545393ms
Burst completed: 5000 events in 280.038154ms
Burst completed: 5000 events in 311.22972ms
Burst completed: 5000 events in 292.735765ms
Burst test completed: 50000 events in 8.076105474s, errors: 0
Events/sec: 6191.10
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.581344169s
Combined ops/sec: 2034.06
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...

View File

@@ -0,0 +1,195 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_rely-sqlite_8
Events: 50000, Workers: 24, Duration: 1m0s
1763665779574803 migrating to version 1... /build/pkg/database/migrations.go:66
1763665779574872 migrating to version 2... /build/pkg/database/migrations.go:73
1763665779574900 migrating to version 3... /build/pkg/database/migrations.go:80
1763665779574905 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763665779574913 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763665779574927 migrating to version 4... /build/pkg/database/migrations.go:87
1763665779574932 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763665779574942 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763665779574947 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 19:09:39 INFO: Extracted embedded libsecp256k1 to /tmp/orly-libsecp256k1/libsecp256k1.so
2025/11/20 19:09:39 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 19:09:39 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.135436732s
Events/sec: 15946.74
Avg latency: 1.397968ms
P90 latency: 1.930996ms
P95 latency: 2.304287ms
P99 latency: 3.616715ms
Bottom 10% Avg latency: 755.721µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 303.872847ms
Burst completed: 5000 events in 315.659456ms
Burst completed: 5000 events in 267.06077ms
Burst completed: 5000 events in 307.361928ms
Burst completed: 5000 events in 322.693287ms
Burst completed: 5000 events in 469.035773ms
Burst completed: 5000 events in 312.67366ms
Burst completed: 5000 events in 283.102039ms
Burst completed: 5000 events in 384.589076ms
Burst completed: 5000 events in 420.423539ms
Burst test completed: 50000 events in 8.393863388s, errors: 0
Events/sec: 5956.73
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.674556399s
Combined ops/sec: 2026.38
Wiping database between tests...
RunQueryTest (Badger)..
=== Query Test ===
Generating 10000 unique synthetic events (minimum 300 bytes each)...
Generated 10000 events:
Average content size: 313 bytes
All events are unique (incremental timestamps)
All events are properly signed
Pre-populating database with 10000 events for query tests...
Query test completed: 375290 queries in 1m0.008468905s
Queries/sec: 6253.95
Avg query latency: 1.790209ms
P95 query latency: 7.345664ms
P99 query latency: 11.918719ms
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: 314061 operations (264061 queries, 50000 writes) in 1m0.003708095s
Operations/sec: 5234.03
Avg latency: 1.477392ms
Avg query latency: 1.464385ms
Avg write latency: 1.546088ms
P95 latency: 3.780257ms
P99 latency: 5.913557ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.135436732s
Total Events: 50000
Events/sec: 15946.74
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 96 MB
Avg Latency: 1.397968ms
P90 Latency: 1.930996ms
P95 Latency: 2.304287ms
P99 Latency: 3.616715ms
Bottom 10% Avg Latency: 755.721µs
----------------------------------------
Test: Burst Pattern
Duration: 8.393863388s
Total Events: 50000
Events/sec: 5956.73
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 196 MB
Avg Latency: 1.477472ms
P90 Latency: 2.319807ms
P95 Latency: 2.825169ms
P99 Latency: 4.502502ms
Bottom 10% Avg Latency: 595.131µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.674556399s
Total Events: 50000
Events/sec: 2026.38
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 142 MB
Avg Latency: 387.12µs
P90 Latency: 808.479µs
P95 Latency: 902.999µs
P99 Latency: 1.121415ms
Bottom 10% Avg Latency: 1.032694ms
----------------------------------------
Test: Query Performance
Duration: 1m0.008468905s
Total Events: 375290
Events/sec: 6253.95
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 114 MB
Avg Latency: 1.790209ms
P90 Latency: 5.42081ms
P95 Latency: 7.345664ms
P99 Latency: 11.918719ms
Bottom 10% Avg Latency: 8.275871ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003708095s
Total Events: 314061
Events/sec: 5234.03
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 137 MB
Avg Latency: 1.477392ms
P90 Latency: 2.984261ms
P95 Latency: 3.780257ms
P99 Latency: 5.913557ms
Bottom 10% Avg Latency: 4.281848ms
----------------------------------------
Report saved to: /tmp/benchmark_rely-sqlite_8/benchmark_report.txt
AsciiDoc report saved to: /tmp/benchmark_rely-sqlite_8/benchmark_report.adoc
RELAY_NAME: rely-sqlite
RELAY_URL: ws://rely-sqlite:3334
TEST_TIMESTAMP: 2025-11-20T19:12:57+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -0,0 +1,194 @@
================================================================
NOSTR RELAY BENCHMARK AGGREGATE REPORT
================================================================
Generated: 2025-11-20T20:32:25+00:00
Benchmark Configuration:
Events per test: 50000
Concurrent workers: 24
Test duration: 60s
Relays tested: 9
================================================================
SUMMARY BY RELAY
================================================================
Relay: rely-sqlite
----------------------------------------
Status: COMPLETED
Events/sec: 17507.10
Events/sec: 6243.12
Events/sec: 17507.10
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.223582ms
Bottom 10% Avg Latency: 698.877µs
Avg Latency: 1.178662ms
P95 Latency: 1.87223ms
P95 Latency: 2.046981ms
P95 Latency: 883.507µs
Relay: next-orly-badger
----------------------------------------
Status: COMPLETED
Events/sec: 16840.34
Events/sec: 6128.23
Events/sec: 16840.34
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.297596ms
Bottom 10% Avg Latency: 722.094µs
Avg Latency: 1.265918ms
P95 Latency: 2.027536ms
P95 Latency: 2.302166ms
P95 Latency: 894.834µs
Relay: next-orly-dgraph
----------------------------------------
Status: COMPLETED
Events/sec: 16563.45
Events/sec: 6132.86
Events/sec: 16563.45
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.32589ms
Bottom 10% Avg Latency: 726.176µs
Avg Latency: 1.340819ms
P95 Latency: 2.152481ms
P95 Latency: 2.37338ms
P95 Latency: 904.165µs
Relay: next-orly-neo4j
----------------------------------------
Status: COMPLETED
Events/sec: 14622.22
Events/sec: 6182.48
Events/sec: 14622.22
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.559545ms
Bottom 10% Avg Latency: 795.698µs
Avg Latency: 1.269605ms
P95 Latency: 2.658118ms
P95 Latency: 2.293256ms
P95 Latency: 867.888µs
Relay: khatru-sqlite
----------------------------------------
Status: COMPLETED
Events/sec: 16872.81
Events/sec: 6219.91
Events/sec: 16872.81
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.294206ms
Bottom 10% Avg Latency: 724.237µs
Avg Latency: 1.28288ms
P95 Latency: 2.011193ms
P95 Latency: 2.16732ms
P95 Latency: 868.521µs
Relay: khatru-badger
----------------------------------------
Status: COMPLETED
Events/sec: 15204.92
Events/sec: 6277.98
Events/sec: 15204.92
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.485679ms
Bottom 10% Avg Latency: 768.979µs
Avg Latency: 1.216531ms
P95 Latency: 2.501619ms
P95 Latency: 2.028348ms
P95 Latency: 862.271µs
Relay: relayer-basic
----------------------------------------
Status: COMPLETED
Events/sec: 17272.97
Events/sec: 6207.90
Events/sec: 17272.97
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.255956ms
Bottom 10% Avg Latency: 712.498µs
Avg Latency: 1.21703ms
P95 Latency: 1.909735ms
P95 Latency: 2.233521ms
P95 Latency: 871.278µs
Relay: strfry
----------------------------------------
Status: COMPLETED
Events/sec: 15745.79
Events/sec: 6264.53
Events/sec: 15745.79
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.415908ms
Bottom 10% Avg Latency: 739.523µs
Avg Latency: 1.153768ms
P95 Latency: 2.340716ms
P95 Latency: 2.007502ms
P95 Latency: 855.87µs
Relay: nostr-rs-relay
----------------------------------------
Status: COMPLETED
Events/sec: 17638.66
Events/sec: 6241.74
Events/sec: 17638.66
Success Rate: 100.0%
Success Rate: 100.0%
Success Rate: 100.0%
Avg Latency: 1.18563ms
Bottom 10% Avg Latency: 646.954µs
Avg Latency: 1.182584ms
P95 Latency: 1.847889ms
P95 Latency: 2.120267ms
P95 Latency: 866.51µs
================================================================
DETAILED RESULTS
================================================================
Individual relay reports are available in:
- /reports/run_20251120_200202/khatru-badger_results.txt
- /reports/run_20251120_200202/khatru-sqlite_results.txt
- /reports/run_20251120_200202/next-orly-badger_results.txt
- /reports/run_20251120_200202/next-orly-dgraph_results.txt
- /reports/run_20251120_200202/next-orly-neo4j_results.txt
- /reports/run_20251120_200202/nostr-rs-relay_results.txt
- /reports/run_20251120_200202/relayer-basic_results.txt
- /reports/run_20251120_200202/rely-sqlite_results.txt
- /reports/run_20251120_200202/strfry_results.txt
================================================================
BENCHMARK COMPARISON TABLE
================================================================
Relay Status Peak Tput/s Avg Latency Success Rate
---- ------ ----------- ----------- ------------
rely-sqlite OK 17507.10 1.223582ms 100.0%
next-orly-badger OK 16840.34 1.297596ms 100.0%
next-orly-dgraph OK 16563.45 1.32589ms 100.0%
next-orly-neo4j OK 14622.22 1.559545ms 100.0%
khatru-sqlite OK 16872.81 1.294206ms 100.0%
khatru-badger OK 15204.92 1.485679ms 100.0%
relayer-basic OK 17272.97 1.255956ms 100.0%
strfry OK 15745.79 1.415908ms 100.0%
nostr-rs-relay OK 17638.66 1.18563ms 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
1763669935332908 migrating to version 1... /build/pkg/database/migrations.go:66
1763669935332973 migrating to version 2... /build/pkg/database/migrations.go:73
1763669935332998 migrating to version 3... /build/pkg/database/migrations.go:80
1763669935333005 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763669935333040 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763669935333094 migrating to version 4... /build/pkg/database/migrations.go:87
1763669935333104 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763669935333122 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763669935333128 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 20:18:55 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 20:18:55 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.288409868s
Events/sec: 15204.92
Avg latency: 1.485679ms
P90 latency: 2.12405ms
P95 latency: 2.501619ms
P99 latency: 3.714496ms
Bottom 10% Avg latency: 768.979µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 324.753031ms
Burst completed: 5000 events in 291.367672ms
Burst completed: 5000 events in 301.649121ms
Burst completed: 5000 events in 328.41364ms
Burst completed: 5000 events in 281.252591ms
Burst completed: 5000 events in 328.008049ms
Burst completed: 5000 events in 310.281138ms
Burst completed: 5000 events in 260.825936ms
Burst completed: 5000 events in 270.80417ms
Burst completed: 5000 events in 258.334978ms
Burst test completed: 50000 events in 7.964347994s, errors: 0
Events/sec: 6277.98
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.423948265s
Combined ops/sec: 2047.17
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: 415254 queries in 1m0.003601442s
Queries/sec: 6920.48
Avg query latency: 1.603002ms
P95 query latency: 6.256605ms
P99 query latency: 9.899737ms
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: 325890 operations (275890 queries, 50000 writes) in 1m0.003099307s
Operations/sec: 5431.22
Avg latency: 1.378137ms
Avg query latency: 1.366065ms
Avg write latency: 1.44475ms
P95 latency: 3.427873ms
P99 latency: 5.340723ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.288409868s
Total Events: 50000
Events/sec: 15204.92
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 126 MB
Avg Latency: 1.485679ms
P90 Latency: 2.12405ms
P95 Latency: 2.501619ms
P99 Latency: 3.714496ms
Bottom 10% Avg Latency: 768.979µs
----------------------------------------
Test: Burst Pattern
Duration: 7.964347994s
Total Events: 50000
Events/sec: 6277.98
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 161 MB
Avg Latency: 1.216531ms
P90 Latency: 1.748877ms
P95 Latency: 2.028348ms
P99 Latency: 2.847978ms
Bottom 10% Avg Latency: 540.737µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.423948265s
Total Events: 50000
Events/sec: 2047.17
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 132 MB
Avg Latency: 369.523µs
P90 Latency: 775.926µs
P95 Latency: 862.271µs
P99 Latency: 1.05139ms
Bottom 10% Avg Latency: 976.651µs
----------------------------------------
Test: Query Performance
Duration: 1m0.003601442s
Total Events: 415254
Events/sec: 6920.48
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 118 MB
Avg Latency: 1.603002ms
P90 Latency: 4.760818ms
P95 Latency: 6.256605ms
P99 Latency: 9.899737ms
Bottom 10% Avg Latency: 6.959951ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003099307s
Total Events: 325890
Events/sec: 5431.22
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 139 MB
Avg Latency: 1.378137ms
P90 Latency: 2.762527ms
P95 Latency: 3.427873ms
P99 Latency: 5.340723ms
Bottom 10% Avg Latency: 3.863556ms
----------------------------------------
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-20T20:22:13+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
1763669732839163 migrating to version 1... /build/pkg/database/migrations.go:66
1763669732839345 migrating to version 2... /build/pkg/database/migrations.go:73
1763669732839423 migrating to version 3... /build/pkg/database/migrations.go:80
1763669732839433 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763669732839447 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763669732839469 migrating to version 4... /build/pkg/database/migrations.go:87
1763669732839476 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763669732839496 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763669732839504 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 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
2025/11/20 20:15:32 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.963346692s
Events/sec: 16872.81
Avg latency: 1.294206ms
P90 latency: 1.715271ms
P95 latency: 2.011193ms
P99 latency: 3.190375ms
Bottom 10% Avg latency: 724.237µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 291.855294ms
Burst completed: 5000 events in 316.021528ms
Burst completed: 5000 events in 282.131412ms
Burst completed: 5000 events in 299.105944ms
Burst completed: 5000 events in 267.419607ms
Burst completed: 5000 events in 325.020614ms
Burst completed: 5000 events in 305.340591ms
Burst completed: 5000 events in 271.0695ms
Burst completed: 5000 events in 390.24426ms
Burst completed: 5000 events in 284.381622ms
Burst test completed: 50000 events in 8.038707278s, errors: 0
Events/sec: 6219.91
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.489286115s
Combined ops/sec: 2041.71
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: 420505 queries in 1m0.003538635s
Queries/sec: 7008.00
Avg query latency: 1.572366ms
P95 query latency: 6.018765ms
P99 query latency: 9.565009ms
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: 323946 operations (273946 queries, 50000 writes) in 1m0.003027777s
Operations/sec: 5398.83
Avg latency: 1.414998ms
Avg query latency: 1.390113ms
Avg write latency: 1.551346ms
P95 latency: 3.512421ms
P99 latency: 5.637893ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.963346692s
Total Events: 50000
Events/sec: 16872.81
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.294206ms
P90 Latency: 1.715271ms
P95 Latency: 2.011193ms
P99 Latency: 3.190375ms
Bottom 10% Avg Latency: 724.237µs
----------------------------------------
Test: Burst Pattern
Duration: 8.038707278s
Total Events: 50000
Events/sec: 6219.91
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 208 MB
Avg Latency: 1.28288ms
P90 Latency: 1.849315ms
P95 Latency: 2.16732ms
P99 Latency: 3.046622ms
Bottom 10% Avg Latency: 581.238µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.489286115s
Total Events: 50000
Events/sec: 2041.71
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 199 MB
Avg Latency: 372.036µs
P90 Latency: 778.229µs
P95 Latency: 868.521µs
P99 Latency: 1.078812ms
Bottom 10% Avg Latency: 1.036235ms
----------------------------------------
Test: Query Performance
Duration: 1m0.003538635s
Total Events: 420505
Events/sec: 7008.00
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 124 MB
Avg Latency: 1.572366ms
P90 Latency: 4.639693ms
P95 Latency: 6.018765ms
P99 Latency: 9.565009ms
Bottom 10% Avg Latency: 6.728349ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003027777s
Total Events: 323946
Events/sec: 5398.83
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 104 MB
Avg Latency: 1.414998ms
P90 Latency: 2.807811ms
P95 Latency: 3.512421ms
P99 Latency: 5.637893ms
Bottom 10% Avg Latency: 4.028549ms
----------------------------------------
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-20T20:18:50+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-badger_8
Events: 50000, Workers: 24, Duration: 1m0s
1763669124600787 migrating to version 1... /build/pkg/database/migrations.go:66
1763669124600839 migrating to version 2... /build/pkg/database/migrations.go:73
1763669124600865 migrating to version 3... /build/pkg/database/migrations.go:80
1763669124600871 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763669124600882 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763669124600896 migrating to version 4... /build/pkg/database/migrations.go:87
1763669124600900 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763669124600913 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763669124600919 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 20:05:24 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 20:05:24 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.969061628s
Events/sec: 16840.34
Avg latency: 1.297596ms
P90 latency: 1.734511ms
P95 latency: 2.027536ms
P99 latency: 2.961433ms
Bottom 10% Avg latency: 722.094µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 276.383103ms
Burst completed: 5000 events in 347.587541ms
Burst completed: 5000 events in 381.7012ms
Burst completed: 5000 events in 339.439731ms
Burst completed: 5000 events in 292.19598ms
Burst completed: 5000 events in 338.289935ms
Burst completed: 5000 events in 335.224221ms
Burst completed: 5000 events in 271.373815ms
Burst completed: 5000 events in 290.588853ms
Burst completed: 5000 events in 278.611302ms
Burst test completed: 50000 events in 8.15896297s, errors: 0
Events/sec: 6128.23
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.531766787s
Combined ops/sec: 2038.17
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: 406469 queries in 1m0.004230933s
Queries/sec: 6774.01
Avg query latency: 1.643787ms
P95 query latency: 6.491386ms
P99 query latency: 10.300562ms
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: 321891 operations (271891 queries, 50000 writes) in 1m0.003425476s
Operations/sec: 5364.54
Avg latency: 1.412817ms
Avg query latency: 1.395014ms
Avg write latency: 1.509627ms
P95 latency: 3.531794ms
P99 latency: 5.566648ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.969061628s
Total Events: 50000
Events/sec: 16840.34
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 163 MB
Avg Latency: 1.297596ms
P90 Latency: 1.734511ms
P95 Latency: 2.027536ms
P99 Latency: 2.961433ms
Bottom 10% Avg Latency: 722.094µs
----------------------------------------
Test: Burst Pattern
Duration: 8.15896297s
Total Events: 50000
Events/sec: 6128.23
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 204 MB
Avg Latency: 1.265918ms
P90 Latency: 1.967513ms
P95 Latency: 2.302166ms
P99 Latency: 3.178464ms
Bottom 10% Avg Latency: 442.546µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.531766787s
Total Events: 50000
Events/sec: 2038.17
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 140 MB
Avg Latency: 385.858µs
P90 Latency: 804.273µs
P95 Latency: 894.834µs
P99 Latency: 1.119529ms
Bottom 10% Avg Latency: 1.040121ms
----------------------------------------
Test: Query Performance
Duration: 1m0.004230933s
Total Events: 406469
Events/sec: 6774.01
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 120 MB
Avg Latency: 1.643787ms
P90 Latency: 4.902634ms
P95 Latency: 6.491386ms
P99 Latency: 10.300562ms
Bottom 10% Avg Latency: 7.252457ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003425476s
Total Events: 321891
Events/sec: 5364.54
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 120 MB
Avg Latency: 1.412817ms
P90 Latency: 2.823412ms
P95 Latency: 3.531794ms
P99 Latency: 5.566648ms
Bottom 10% Avg Latency: 4.024306ms
----------------------------------------
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-20T20:08:42+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
1763669327215819 migrating to version 1... /build/pkg/database/migrations.go:66
1763669327215873 migrating to version 2... /build/pkg/database/migrations.go:73
1763669327215897 migrating to version 3... /build/pkg/database/migrations.go:80
1763669327215903 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763669327215913 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763669327215942 migrating to version 4... /build/pkg/database/migrations.go:87
1763669327215950 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763669327215962 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763669327215968 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 20:08:47 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 20:08:47 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.018694521s
Events/sec: 16563.45
Avg latency: 1.32589ms
P90 latency: 1.831543ms
P95 latency: 2.152481ms
P99 latency: 3.113153ms
Bottom 10% Avg latency: 726.176µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 292.171946ms
Burst completed: 5000 events in 318.508865ms
Burst completed: 5000 events in 366.003137ms
Burst completed: 5000 events in 299.686978ms
Burst completed: 5000 events in 285.823742ms
Burst completed: 5000 events in 329.930802ms
Burst completed: 5000 events in 297.041485ms
Burst completed: 5000 events in 268.707865ms
Burst completed: 5000 events in 397.413434ms
Burst completed: 5000 events in 290.662828ms
Burst test completed: 50000 events in 8.152801342s, errors: 0
Events/sec: 6132.86
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.646214936s
Combined ops/sec: 2028.71
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: 403337 queries in 1m0.003445945s
Queries/sec: 6721.90
Avg query latency: 1.650663ms
P95 query latency: 6.533977ms
P99 query latency: 10.449883ms
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: 319133 operations (269133 queries, 50000 writes) in 1m0.003897433s
Operations/sec: 5318.54
Avg latency: 1.45724ms
Avg query latency: 1.423521ms
Avg write latency: 1.638735ms
P95 latency: 3.643619ms
P99 latency: 5.821572ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.018694521s
Total Events: 50000
Events/sec: 16563.45
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 101 MB
Avg Latency: 1.32589ms
P90 Latency: 1.831543ms
P95 Latency: 2.152481ms
P99 Latency: 3.113153ms
Bottom 10% Avg Latency: 726.176µs
----------------------------------------
Test: Burst Pattern
Duration: 8.152801342s
Total Events: 50000
Events/sec: 6132.86
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 251 MB
Avg Latency: 1.340819ms
P90 Latency: 1.980055ms
P95 Latency: 2.37338ms
P99 Latency: 3.737908ms
Bottom 10% Avg Latency: 567.81µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.646214936s
Total Events: 50000
Events/sec: 2028.71
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 174 MB
Avg Latency: 387.51µs
P90 Latency: 813.774µs
P95 Latency: 904.165µs
P99 Latency: 1.114634ms
Bottom 10% Avg Latency: 1.027038ms
----------------------------------------
Test: Query Performance
Duration: 1m0.003445945s
Total Events: 403337
Events/sec: 6721.90
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 148 MB
Avg Latency: 1.650663ms
P90 Latency: 4.924325ms
P95 Latency: 6.533977ms
P99 Latency: 10.449883ms
Bottom 10% Avg Latency: 7.309323ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003897433s
Total Events: 319133
Events/sec: 5318.54
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 131 MB
Avg Latency: 1.45724ms
P90 Latency: 2.888865ms
P95 Latency: 3.643619ms
P99 Latency: 5.821572ms
Bottom 10% Avg Latency: 4.174905ms
----------------------------------------
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-20T20:12:04+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
1763669529971033 migrating to version 1... /build/pkg/database/migrations.go:66
1763669529971109 migrating to version 2... /build/pkg/database/migrations.go:73
1763669529971132 migrating to version 3... /build/pkg/database/migrations.go:80
1763669529971137 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763669529971148 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763669529971161 migrating to version 4... /build/pkg/database/migrations.go:87
1763669529971166 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763669529971175 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763669529971181 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 20:12:09 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 20:12:09 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.41945316s
Events/sec: 14622.22
Avg latency: 1.559545ms
P90 latency: 2.247167ms
P95 latency: 2.658118ms
P99 latency: 3.995878ms
Bottom 10% Avg latency: 795.698µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 295.869274ms
Burst completed: 5000 events in 462.260099ms
Burst completed: 5000 events in 296.659792ms
Burst completed: 5000 events in 291.58686ms
Burst completed: 5000 events in 283.019359ms
Burst completed: 5000 events in 333.11738ms
Burst completed: 5000 events in 297.160854ms
Burst completed: 5000 events in 262.623572ms
Burst completed: 5000 events in 287.679452ms
Burst completed: 5000 events in 272.330641ms
Burst test completed: 50000 events in 8.087375023s, errors: 0
Events/sec: 6182.48
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.430407247s
Combined ops/sec: 2046.63
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: 404255 queries in 1m0.00592055s
Queries/sec: 6736.92
Avg query latency: 1.650794ms
P95 query latency: 6.53105ms
P99 query latency: 10.385042ms
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: 314542 operations (264542 queries, 50000 writes) in 1m0.002714905s
Operations/sec: 5242.13
Avg latency: 1.461702ms
Avg query latency: 1.440494ms
Avg write latency: 1.573909ms
P95 latency: 3.707878ms
P99 latency: 6.186047ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.41945316s
Total Events: 50000
Events/sec: 14622.22
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 101 MB
Avg Latency: 1.559545ms
P90 Latency: 2.247167ms
P95 Latency: 2.658118ms
P99 Latency: 3.995878ms
Bottom 10% Avg Latency: 795.698µs
----------------------------------------
Test: Burst Pattern
Duration: 8.087375023s
Total Events: 50000
Events/sec: 6182.48
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 204 MB
Avg Latency: 1.269605ms
P90 Latency: 1.879279ms
P95 Latency: 2.293256ms
P99 Latency: 3.759611ms
Bottom 10% Avg Latency: 515.108µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.430407247s
Total Events: 50000
Events/sec: 2046.63
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 178 MB
Avg Latency: 363.59µs
P90 Latency: 771.255µs
P95 Latency: 867.888µs
P99 Latency: 1.099979ms
Bottom 10% Avg Latency: 996.877µs
----------------------------------------
Test: Query Performance
Duration: 1m0.00592055s
Total Events: 404255
Events/sec: 6736.92
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 129 MB
Avg Latency: 1.650794ms
P90 Latency: 4.922944ms
P95 Latency: 6.53105ms
P99 Latency: 10.385042ms
Bottom 10% Avg Latency: 7.275184ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002714905s
Total Events: 314542
Events/sec: 5242.13
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 132 MB
Avg Latency: 1.461702ms
P90 Latency: 2.939737ms
P95 Latency: 3.707878ms
P99 Latency: 6.186047ms
Bottom 10% Avg Latency: 4.332858ms
----------------------------------------
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-20T20:15:27+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -1,15 +1,15 @@
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
1763670543093453 migrating to version 1... /build/pkg/database/migrations.go:66
1763670543093533 migrating to version 2... /build/pkg/database/migrations.go:73
1763670543093555 migrating to version 3... /build/pkg/database/migrations.go:80
1763670543093560 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763670543093572 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763670543093586 migrating to version 4... /build/pkg/database/migrations.go:87
1763670543093591 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763670543093614 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763670543093619 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,32 +19,32 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 20:29: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 20:29:03 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
Duration: 2.834683217s
Events/sec: 17638.66
Avg latency: 1.18563ms
P90 latency: 1.576272ms
P95 latency: 1.847889ms
P99 latency: 2.69928ms
Bottom 10% Avg latency: 646.954µ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
Burst completed: 5000 events in 288.243162ms
Burst completed: 5000 events in 295.639176ms
Burst completed: 5000 events in 266.183046ms
Burst completed: 5000 events in 289.772997ms
Burst completed: 5000 events in 346.857517ms
Burst completed: 5000 events in 392.30016ms
Burst completed: 5000 events in 316.952072ms
Burst completed: 5000 events in 278.495452ms
Burst completed: 5000 events in 269.495766ms
Burst completed: 5000 events in 259.647834ms
Burst test completed: 50000 events in 8.010584112s, errors: 0
Events/sec: 6241.74
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -62,8 +62,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.436170149s
Combined ops/sec: 2046.15
Wiping database between tests...
RunQueryTest (Badger)..
@@ -75,11 +75,11 @@ Generated 10000 events:
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
Query test completed: 420104 queries in 1m0.004812476s
Queries/sec: 7001.17
Avg query latency: 1.581786ms
P95 query latency: 6.095087ms
P99 query latency: 9.681457ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -97,13 +97,13 @@ Generated 50000 events:
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
Concurrent test completed: 308305 operations (258305 queries, 50000 writes) in 1m0.003332271s
Operations/sec: 5138.13
Avg latency: 1.532137ms
Avg query latency: 1.49713ms
Avg write latency: 1.712984ms
P95 latency: 3.933782ms
P99 latency: 6.685993ms
=== Badger benchmark completed ===
@@ -113,73 +113,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.772157487s
Duration: 2.834683217s
Total Events: 50000
Events/sec: 18036.49
Events/sec: 17638.66
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
Memory Used: 88 MB
Avg Latency: 1.18563ms
P90 Latency: 1.576272ms
P95 Latency: 1.847889ms
P99 Latency: 2.69928ms
Bottom 10% Avg Latency: 646.954µs
----------------------------------------
Test: Burst Pattern
Duration: 7.964171204s
Duration: 8.010584112s
Total Events: 50000
Events/sec: 6278.12
Events/sec: 6241.74
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
Memory Used: 150 MB
Avg Latency: 1.182584ms
P90 Latency: 1.77976ms
P95 Latency: 2.120267ms
P99 Latency: 3.024349ms
Bottom 10% Avg Latency: 448.582µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.476816258s
Duration: 24.436170149s
Total Events: 50000
Events/sec: 2042.75
Events/sec: 2046.15
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
Memory Used: 135 MB
Avg Latency: 369.8µs
P90 Latency: 773.463µs
P95 Latency: 866.51µs
P99 Latency: 1.074516ms
Bottom 10% Avg Latency: 1.00298ms
----------------------------------------
Test: Query Performance
Duration: 1m0.003766058s
Total Events: 418186
Events/sec: 6969.33
Duration: 1m0.004812476s
Total Events: 420104
Events/sec: 7001.17
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
Memory Used: 151 MB
Avg Latency: 1.581786ms
P90 Latency: 4.688809ms
P95 Latency: 6.095087ms
P99 Latency: 9.681457ms
Bottom 10% Avg Latency: 6.825004ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003303897s
Total Events: 324142
Events/sec: 5402.07
Duration: 1m0.003332271s
Total Events: 308305
Events/sec: 5138.13
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
Memory Used: 98 MB
Avg Latency: 1.532137ms
P90 Latency: 3.100785ms
P95 Latency: 3.933782ms
P99 Latency: 6.685993ms
Bottom 10% Avg Latency: 4.60825ms
----------------------------------------
Report saved to: /tmp/benchmark_nostr-rs-relay_8/benchmark_report.txt
@@ -187,7 +187,7 @@ 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
TEST_TIMESTAMP: 2025-11-20T20:32:20+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

View File

@@ -1,15 +1,15 @@
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
1763670138131829 migrating to version 1... /build/pkg/database/migrations.go:66
1763670138131898 migrating to version 2... /build/pkg/database/migrations.go:73
1763670138131920 migrating to version 3... /build/pkg/database/migrations.go:80
1763670138131925 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763670138131932 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763670138131949 migrating to version 4... /build/pkg/database/migrations.go:87
1763670138131956 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763670138131970 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763670138131976 migration complete: converted 0 events to optimized inline storage, deleted 0 old keys /build/pkg/database/migrations.go:538
╔════════════════════════════════════════════════════════╗
║ BADGER BACKEND BENCHMARK SUITE ║
@@ -19,32 +19,32 @@ Events: 50000, Workers: 24, Duration: 1m0s
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
2025/11/20 20:22:18 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 20:22:18 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
Duration: 2.894695787s
Events/sec: 17272.97
Avg latency: 1.255956ms
P90 latency: 1.664187ms
P95 latency: 1.909735ms
P99 latency: 2.638381ms
Bottom 10% Avg latency: 712.498µ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
Burst completed: 5000 events in 283.945575ms
Burst completed: 5000 events in 292.547115ms
Burst completed: 5000 events in 265.116118ms
Burst completed: 5000 events in 293.14728ms
Burst completed: 5000 events in 279.669829ms
Burst completed: 5000 events in 336.159523ms
Burst completed: 5000 events in 425.381146ms
Burst completed: 5000 events in 307.31666ms
Burst completed: 5000 events in 282.776535ms
Burst completed: 5000 events in 280.815353ms
Burst test completed: 50000 events in 8.054248885s, errors: 0
Events/sec: 6207.90
Wiping database between tests...
RunMixedReadWriteTest (Badger)..
@@ -62,8 +62,8 @@ Generated 50000 events:
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
Mixed test completed: 25000 writes, 25000 reads in 24.441579305s
Combined ops/sec: 2045.69
Wiping database between tests...
RunQueryTest (Badger)..
@@ -75,11 +75,11 @@ Generated 10000 events:
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
Query test completed: 415731 queries in 1m0.004450095s
Queries/sec: 6928.34
Avg query latency: 1.605783ms
P95 query latency: 6.196926ms
P99 query latency: 9.937346ms
Wiping database between tests...
RunConcurrentQueryStoreTest (Badger)..
@@ -97,13 +97,13 @@ Generated 50000 events:
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
Concurrent test completed: 322255 operations (272255 queries, 50000 writes) in 1m0.003382114s
Operations/sec: 5370.61
Avg latency: 1.423539ms
Avg query latency: 1.403109ms
Avg write latency: 1.534783ms
P95 latency: 3.538928ms
P99 latency: 5.905702ms
=== Badger benchmark completed ===
@@ -113,73 +113,73 @@ BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.781810292s
Duration: 2.894695787s
Total Events: 50000
Events/sec: 17973.91
Events/sec: 17272.97
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
Memory Used: 207 MB
Avg Latency: 1.255956ms
P90 Latency: 1.664187ms
P95 Latency: 1.909735ms
P99 Latency: 2.638381ms
Bottom 10% Avg Latency: 712.498µs
----------------------------------------
Test: Burst Pattern
Duration: 7.856524268s
Duration: 8.054248885s
Total Events: 50000
Events/sec: 6364.14
Events/sec: 6207.90
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
Avg Latency: 1.21703ms
P90 Latency: 1.859279ms
P95 Latency: 2.233521ms
P99 Latency: 3.436661ms
Bottom 10% Avg Latency: 441.188µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.510988729s
Duration: 24.441579305s
Total Events: 50000
Events/sec: 2039.90
Events/sec: 2045.69
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
Memory Used: 177 MB
Avg Latency: 375.675µs
P90 Latency: 782.189µs
P95 Latency: 871.278µs
P99 Latency: 1.106456ms
Bottom 10% Avg Latency: 1.039345ms
----------------------------------------
Test: Query Performance
Duration: 1m0.003072978s
Total Events: 418829
Events/sec: 6980.13
Duration: 1m0.004450095s
Total Events: 415731
Events/sec: 6928.34
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
Memory Used: 114 MB
Avg Latency: 1.605783ms
P90 Latency: 4.727348ms
P95 Latency: 6.196926ms
P99 Latency: 9.937346ms
Bottom 10% Avg Latency: 6.948373ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.002664568s
Total Events: 325492
Events/sec: 5424.63
Duration: 1m0.003382114s
Total Events: 322255
Events/sec: 5370.61
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
Memory Used: 110 MB
Avg Latency: 1.423539ms
P90 Latency: 2.827222ms
P95 Latency: 3.538928ms
P99 Latency: 5.905702ms
Bottom 10% Avg Latency: 4.165578ms
----------------------------------------
Report saved to: /tmp/benchmark_relayer-basic_8/benchmark_report.txt
@@ -187,7 +187,7 @@ 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
TEST_TIMESTAMP: 2025-11-20T20:25:35+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24

View File

@@ -0,0 +1,195 @@
Starting Nostr Relay Benchmark (Badger Backend)
Data Directory: /tmp/benchmark_rely-sqlite_8
Events: 50000, Workers: 24, Duration: 1m0s
1763668922245115 migrating to version 1... /build/pkg/database/migrations.go:66
1763668922245170 migrating to version 2... /build/pkg/database/migrations.go:73
1763668922245193 migrating to version 3... /build/pkg/database/migrations.go:80
1763668922245198 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763668922245208 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763668922245221 migrating to version 4... /build/pkg/database/migrations.go:87
1763668922245225 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763668922245237 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763668922245243 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 20:02:02 INFO: Extracted embedded libsecp256k1 to /tmp/orly-libsecp256k1/libsecp256k1.so
2025/11/20 20:02:02 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 20:02:02 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 2.855983841s
Events/sec: 17507.10
Avg latency: 1.223582ms
P90 latency: 1.623281ms
P95 latency: 1.87223ms
P99 latency: 2.707616ms
Bottom 10% Avg latency: 698.877µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 288.827022ms
Burst completed: 5000 events in 321.067294ms
Burst completed: 5000 events in 312.273754ms
Burst completed: 5000 events in 293.093481ms
Burst completed: 5000 events in 286.553497ms
Burst completed: 5000 events in 357.201577ms
Burst completed: 5000 events in 306.752475ms
Burst completed: 5000 events in 262.736838ms
Burst completed: 5000 events in 292.763913ms
Burst completed: 5000 events in 280.351571ms
Burst test completed: 50000 events in 8.008812743s, errors: 0
Events/sec: 6243.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.537090509s
Combined ops/sec: 2037.73
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: 405957 queries in 1m0.005924644s
Queries/sec: 6765.28
Avg query latency: 1.641153ms
P95 query latency: 6.470517ms
P99 query latency: 10.153469ms
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: 318529 operations (268529 queries, 50000 writes) in 1m0.003008545s
Operations/sec: 5308.55
Avg latency: 1.451707ms
Avg query latency: 1.426735ms
Avg write latency: 1.585823ms
P95 latency: 3.701027ms
P99 latency: 5.870958ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 2.855983841s
Total Events: 50000
Events/sec: 17507.10
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 162 MB
Avg Latency: 1.223582ms
P90 Latency: 1.623281ms
P95 Latency: 1.87223ms
P99 Latency: 2.707616ms
Bottom 10% Avg Latency: 698.877µs
----------------------------------------
Test: Burst Pattern
Duration: 8.008812743s
Total Events: 50000
Events/sec: 6243.12
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 155 MB
Avg Latency: 1.178662ms
P90 Latency: 1.750812ms
P95 Latency: 2.046981ms
P99 Latency: 2.905169ms
Bottom 10% Avg Latency: 438.058µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.537090509s
Total Events: 50000
Events/sec: 2037.73
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 143 MB
Avg Latency: 380.772µs
P90 Latency: 793.938µs
P95 Latency: 883.507µs
P99 Latency: 1.103633ms
Bottom 10% Avg Latency: 1.040974ms
----------------------------------------
Test: Query Performance
Duration: 1m0.005924644s
Total Events: 405957
Events/sec: 6765.28
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 105 MB
Avg Latency: 1.641153ms
P90 Latency: 4.911473ms
P95 Latency: 6.470517ms
P99 Latency: 10.153469ms
Bottom 10% Avg Latency: 7.198928ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003008545s
Total Events: 318529
Events/sec: 5308.55
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 109 MB
Avg Latency: 1.451707ms
P90 Latency: 2.895473ms
P95 Latency: 3.701027ms
P99 Latency: 5.870958ms
Bottom 10% Avg Latency: 4.211348ms
----------------------------------------
Report saved to: /tmp/benchmark_rely-sqlite_8/benchmark_report.txt
AsciiDoc report saved to: /tmp/benchmark_rely-sqlite_8/benchmark_report.adoc
RELAY_NAME: rely-sqlite
RELAY_URL: ws://rely-sqlite:3334
TEST_TIMESTAMP: 2025-11-20T20:05:19+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
1763670340478661 migrating to version 1... /build/pkg/database/migrations.go:66
1763670340478739 migrating to version 2... /build/pkg/database/migrations.go:73
1763670340478771 migrating to version 3... /build/pkg/database/migrations.go:80
1763670340478778 cleaning up ephemeral events (kinds 20000-29999)... /build/pkg/database/migrations.go:287
1763670340478786 cleaned up 0 ephemeral events from database /build/pkg/database/migrations.go:332
1763670340478806 migrating to version 4... /build/pkg/database/migrations.go:87
1763670340478813 converting events to optimized inline storage (Reiser4 optimization)... /build/pkg/database/migrations.go:340
1763670340478835 found 0 events to convert (0 regular, 0 replaceable, 0 addressable) /build/pkg/database/migrations.go:429
1763670340478843 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 20:25:40 WARN: Failed to load embedded library from /tmp/orly-libsecp256k1/libsecp256k1.so: Error relocating /tmp/orly-libsecp256k1/libsecp256k1.so: __fprintf_chk: symbol not found, falling back to system paths
2025/11/20 20:25:40 INFO: Successfully loaded libsecp256k1 v5.0.0 from system path: libsecp256k1.so.2
Events saved: 50000/50000 (100.0%), errors: 0
Duration: 3.175451317s
Events/sec: 15745.79
Avg latency: 1.415908ms
P90 latency: 2.004386ms
P95 latency: 2.340716ms
P99 latency: 3.348014ms
Bottom 10% Avg latency: 739.523µs
Wiping database between tests...
RunBurstPatternTest (Badger)..
=== Burst Pattern Test ===
Burst completed: 5000 events in 301.102872ms
Burst completed: 5000 events in 294.117464ms
Burst completed: 5000 events in 273.073371ms
Burst completed: 5000 events in 301.704249ms
Burst completed: 5000 events in 299.9922ms
Burst completed: 5000 events in 339.238559ms
Burst completed: 5000 events in 312.837356ms
Burst completed: 5000 events in 280.591707ms
Burst completed: 5000 events in 277.848886ms
Burst completed: 5000 events in 295.019415ms
Burst test completed: 50000 events in 7.9814445s, errors: 0
Events/sec: 6264.53
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.456792977s
Combined ops/sec: 2044.42
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: 419503 queries in 1m0.005474925s
Queries/sec: 6991.08
Avg query latency: 1.585509ms
P95 query latency: 6.132577ms
P99 query latency: 9.715848ms
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: 327824 operations (277824 queries, 50000 writes) in 1m0.003814409s
Operations/sec: 5463.39
Avg latency: 1.370145ms
Avg query latency: 1.364611ms
Avg write latency: 1.400897ms
P95 latency: 3.384594ms
P99 latency: 5.290584ms
=== Badger benchmark completed ===
================================================================================
BENCHMARK REPORT
================================================================================
Test: Peak Throughput
Duration: 3.175451317s
Total Events: 50000
Events/sec: 15745.79
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.415908ms
P90 Latency: 2.004386ms
P95 Latency: 2.340716ms
P99 Latency: 3.348014ms
Bottom 10% Avg Latency: 739.523µs
----------------------------------------
Test: Burst Pattern
Duration: 7.9814445s
Total Events: 50000
Events/sec: 6264.53
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 205 MB
Avg Latency: 1.153768ms
P90 Latency: 1.713633ms
P95 Latency: 2.007502ms
P99 Latency: 2.81005ms
Bottom 10% Avg Latency: 410.391µs
----------------------------------------
Test: Mixed Read/Write
Duration: 24.456792977s
Total Events: 50000
Events/sec: 2044.42
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 144 MB
Avg Latency: 365.739µs
P90 Latency: 766.479µs
P95 Latency: 855.87µs
P99 Latency: 1.053084ms
Bottom 10% Avg Latency: 1.00241ms
----------------------------------------
Test: Query Performance
Duration: 1m0.005474925s
Total Events: 419503
Events/sec: 6991.08
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 101 MB
Avg Latency: 1.585509ms
P90 Latency: 4.683097ms
P95 Latency: 6.132577ms
P99 Latency: 9.715848ms
Bottom 10% Avg Latency: 6.848119ms
----------------------------------------
Test: Concurrent Query/Store
Duration: 1m0.003814409s
Total Events: 327824
Events/sec: 5463.39
Success Rate: 100.0%
Concurrent Workers: 24
Memory Used: 143 MB
Avg Latency: 1.370145ms
P90 Latency: 2.759625ms
P95 Latency: 3.384594ms
P99 Latency: 5.290584ms
Bottom 10% Avg Latency: 3.84975ms
----------------------------------------
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-20T20:28:58+00:00
BENCHMARK_CONFIG:
Events: 50000
Workers: 24
Duration: 60s

View File

@@ -42,12 +42,12 @@ if [ -d "data/neo4j" ]; then
rm -rf data/neo4j/*
fi
mkdir -p data/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,postgres}
chmod 777 data/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,postgres}
mkdir -p data/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
chmod 777 data/{next-orly-badger,next-orly-dgraph,next-orly-neo4j,dgraph-zero,dgraph-alpha,neo4j,neo4j-logs,khatru-sqlite,khatru-badger,relayer-basic,strfry,nostr-rs-relay,rely-sqlite,postgres}
echo "Building fresh Docker images..."
# Force rebuild to pick up latest code changes
$DOCKER_COMPOSE build --no-cache benchmark-runner next-orly-badger next-orly-dgraph next-orly-neo4j
$DOCKER_COMPOSE build --no-cache benchmark-runner next-orly-badger next-orly-dgraph next-orly-neo4j rely-sqlite
echo ""
echo "Starting benchmark suite..."

24
go.mod
View File

@@ -31,7 +31,16 @@ require (
require (
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/ImVexed/fasturl v0.0.0-20230304231329-4e41488060f3 // indirect
github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 // indirect
github.com/bytedance/sonic v1.13.1 // indirect
github.com/bytedance/sonic/loader v0.2.4 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cloudwego/base64x v0.1.5 // indirect
github.com/coder/websocket v1.8.12 // indirect
github.com/decred/dcrd/crypto/blake256 v1.1.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
github.com/dgraph-io/ristretto/v2 v2.3.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/felixge/fgprof v0.9.5 // indirect
@@ -41,14 +50,27 @@ require (
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/flatbuffers v25.9.23+incompatible // indirect
github.com/google/pprof v0.0.0-20251007162407-5df77e3f7d1d // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
github.com/pkg/errors v0.8.1 // indirect
github.com/mailru/easyjson v0.9.0 // indirect
github.com/mattn/go-sqlite3 v1.14.32 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/nbd-wtf/go-nostr v0.52.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/templexxx/cpu v0.1.1 // indirect
github.com/tidwall/gjson v1.18.0 // indirect
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
github.com/vertex-lab/nostr-sqlite v0.3.2 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/otel v1.38.0 // indirect
go.opentelemetry.io/otel/metric v1.38.0 // indirect
go.opentelemetry.io/otel/trace v1.38.0 // indirect
golang.org/x/arch v0.15.0 // indirect
golang.org/x/exp/typeparams v0.0.0-20251023183803-a4bb9ffd2546 // indirect
golang.org/x/mod v0.29.0 // indirect
golang.org/x/sync v0.17.0 // indirect

60
go.sum
View File

@@ -2,8 +2,20 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/ImVexed/fasturl v0.0.0-20230304231329-4e41488060f3 h1:ClzzXMDDuUbWfNNZqGeYq4PnYOlwlOVIvSyNaIy0ykg=
github.com/ImVexed/fasturl v0.0.0-20230304231329-4e41488060f3/go.mod h1:we0YA5CsBbH5+/NUzC/AlMmxaDtWlXeNsqrwXjTzmzA=
github.com/adrg/xdg v0.5.3 h1:xRnxJXne7+oWDatRhR1JLnvuccuIeCoBu2rtuLqQB78=
github.com/adrg/xdg v0.5.3/go.mod h1:nlTsY+NNiCBGCK2tpm09vRqfVzrc2fLmXGpBLF0zlTQ=
github.com/btcsuite/btcd v0.24.2 h1:aLmxPguqxza+4ag8R1I2nnJjSu2iFn/kqtHTIImswcY=
github.com/btcsuite/btcd/btcec/v2 v2.3.4 h1:3EJjcN70HCu/mwqlUsGK8GcNVyLVxFDlWurTXGPFfiQ=
github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04=
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ=
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
github.com/bytedance/sonic v1.13.1 h1:Jyd5CIvdFnkOWuKXr+wm4Nyk2h0yAFsr8ucJgEasO3g=
github.com/bytedance/sonic v1.13.1/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4=
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY=
github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
@@ -17,9 +29,18 @@ github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObk
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4=
github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
github.com/coder/websocket v1.8.12 h1:5bUXkEPPIbewrnkU8LTCLVaxi4N4J8ahufH2vlo4NAo=
github.com/coder/websocket v1.8.12/go.mod h1:LNVeNrXQZfe5qhS9ALED3uA+l5pPqvwXg3CKoDBB2gs=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/decred/dcrd/crypto/blake256 v1.1.0 h1:zPMNGQCm0g4QTY27fOCorQW7EryeQ/U0x++OzVrdms8=
github.com/decred/dcrd/crypto/blake256 v1.1.0/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40=
github.com/dgraph-io/badger/v4 v4.8.0 h1:JYph1ChBijCw8SLeybvPINizbDKWZ5n/GYbz2yhN/bs=
github.com/dgraph-io/badger/v4 v4.8.0/go.mod h1:U6on6e8k/RTbUWxqKR0MvugJuVmkxSNc79ap4917h4w=
github.com/dgraph-io/dgo/v230 v230.0.1 h1:kR7gI7/ZZv0jtG6dnedNgNOCxe1cbSG8ekF+pNfReks=
@@ -30,6 +51,7 @@ github.com/dgryski/go-farm v0.0.0-20240924180020-3414d57e47da h1:aIftn67I1fkbMa5
github.com/dgryski/go-farm v0.0.0-20240924180020-3414d57e47da/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
github.com/ebitengine/purego v0.9.1 h1:a/k2f2HQU3Pi399RPW1MOaZyhKJL9w/xFpKAg4q1s0A=
github.com/ebitengine/purego v0.9.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
@@ -67,6 +89,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
github.com/google/pprof v0.0.0-20251007162407-5df77e3f7d1d h1:KJIErDwbSHjnp/SGzE5ed8Aol7JsKiI5X7yWKAtzhM0=
@@ -77,28 +100,46 @@ github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aN
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w=
github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA=
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co=
github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs=
github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/nbd-wtf/go-nostr v0.52.0 h1:9gtz0VOUPOb0PC2kugr2WJAxThlCSSM62t5VC3tvk1g=
github.com/nbd-wtf/go-nostr v0.52.0/go.mod h1:4avYoc9mDGZ9wHsvCOhHH9vPzKucCfuYBtJUSpHTfNk=
github.com/neo4j/neo4j-go-driver/v5 v5.28.4 h1:7toxehVcYkZbyxV4W3Ib9VcnyRBQPucF+VwNNmtSXi4=
github.com/neo4j/neo4j-go-driver/v5 v5.28.4/go.mod h1:Vff8OwT7QpLm7L2yYr85XNWe9Rbqlbeb9asNXJTHO4k=
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA=
github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -110,8 +151,13 @@ github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0t
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/templexxx/cpu v0.0.1/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk=
@@ -119,6 +165,17 @@ github.com/templexxx/cpu v0.1.1 h1:isxHaxBXpYFWnk2DReuKkigaZyrjs2+9ypIdGP4h+HI=
github.com/templexxx/cpu v0.1.1/go.mod h1:w7Tb+7qgcAlIyX4NhLuDKt78AHA5SzPmq0Wj6HiEnnk=
github.com/templexxx/xhex v0.0.0-20200614015412-aed53437177b h1:XeDLE6c9mzHpdv3Wb1+pWBaWv/BlHK0ZYIu/KaL6eHg=
github.com/templexxx/xhex v0.0.0-20200614015412-aed53437177b/go.mod h1:7rwmCH0wC2fQvNEvPZ3sKXukhyCTyiaZ5VTZMQYpZKQ=
github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
github.com/vertex-lab/nostr-sqlite v0.3.2 h1:8nZYYIwiKnWLA446qA/wL/Gy+bU0kuaxdLfUyfeTt/E=
github.com/vertex-lab/nostr-sqlite v0.3.2/go.mod h1:5bw1wMgJhSdrumsZAWxqy+P0u1g+q02PnlGQn15dnSM=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go-simpler.org/env v0.12.0 h1:kt/lBts0J1kjWJAnB740goNdvwNxt5emhYngL0Fzufs=
@@ -137,6 +194,8 @@ go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJr
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
golang.org/x/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw=
golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -241,3 +300,4 @@ lol.mleku.dev v1.0.5 h1:irwfwz+Scv74G/2OXmv05YFKOzUNOVZ735EAkYgjgM8=
lol.mleku.dev v1.0.5/go.mod h1:JlsqP0CZDLKRyd85XGcy79+ydSRqmFkrPzYFMYxQ+zs=
lukechampine.com/frand v1.5.1 h1:fg0eRtdmGFIxhP5zQJzM1lFDbD6CUfu/f+7WgAZd5/w=
lukechampine.com/frand v1.5.1/go.mod h1:4VstaWc2plN4Mjr10chUD46RAVGWhpkZ5Nja8+Azp0Q=
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=