Files
c-relay-pg/plans/cache_all_feasibility_test_results.md
Laan Tungir ca7a4b6722 v2.1.36 - Unified relay table, caching/backfill separation, inbox defaults, profile gating, and UI fixes
- Added caching_relays unified table with live_enabled/backfill_enabled columns
- Separated --reset-backfill from --start-caching as independent flags
- Removed redundant caching_enabled master setting; daemon derives from live/backfill
- Set caching_inbox_enabled=true by default; removed Inbox toggle from Backfill page
- Set caching_live_strategy=cache_all by default
- Fixed outbox relay discovery to store ALL discovered relays, not just covering set
- Added store_kind_0_information config (default: true) to gate profile sync trigger
- Regenerated pg_schema.h from pg_schema.sql to include caching_relays table
- Fixed process toggle button styling to match monochrome aesthetic
- Fixed radio button styling to match black/white/red theme
- Simplified Backfill page: removed Service Status and Inbox Status sections
- Backfill status now respects config setting, not just daemon state
- Admin config API now bumps caching_config_generation for caching-related changes
- make_and_restart_relay.sh now resets PostgreSQL schema on fresh restart
2026-08-03 19:37:09 -04:00

6.5 KiB

Cache-All Feasibility Test Results

Test: 1h 20m unfiltered subscription on 15 relays with 25s ping interval Date: 2026-08-02 Config: caching/cache_all_test_config.jsonc Binary: build/cache_all_test


Global Summary

Metric Value
Duration 1h 19m 36s
Total events 181,799
Total data 233.11 MB
Avg event size 1,345 bytes
Max event 64,901 bytes (kind 3)
Unique pubkeys 31,611
Relays 15 (1 down)

Relay Performance

Relay Events Disconnects Status
relay.ditto.pub 34,285 11 OK
nos.lol 32,580 71 OK
relay.mostr.pub 29,448 76 OK
offchain.pub 25,288 5 OK
relay.damus.io 20,383 46 OK
relay.primal.net 11,511 50 OK
nostr.mom 10,335 0 OK
nostr.oxtr.dev 7,065 2 OK
nostr-pub.wellorder.net 4,600 0 OK
relay.momostr.pink 3,085 8 OK
theforest.nostr1.com 2,100 0 OK
relay.divine.video 631 0 OK
premium.primal.net 322 65 OK
relay.nostrplebs.com 166 0 OK
laantungir.net 0 0 DOWN

Kind Distribution

Kind Name Count % Avg Bytes Notes
21059 Gift wrap (NIP-59) 26,544 14.6% 3,495 Encrypted DMs, noise
30382 Addressable 20,282 11.2% 453
5 Deletion 14,643 8.1% 440 Very common
22466 Ephemeral 7,042 3.9% 429
22668 Ephemeral 6,084 3.3% 429
30383 Addressable 5,761 3.2% 451
20001 Ephemeral 5,696 3.1% 589
1 Text note 5,221 2.9% 967 Primary content
0 Profile metadata 3,991 2.2% 993
22551 Ephemeral 3,623 2.0% 434
30078 App data 3,158 1.7% 4,019 Variable size
38501 Addressable 3,028 1.7% 741
22734 Ephemeral 2,809 1.5% 598
24133 Ephemeral 2,682 1.5% 1,995
7 Reaction 2,376 1.3% 615
10002 Relay list 2,367 1.3% 1,672
22684 Ephemeral 1,983 1.1% 431
37195 Addressable 1,911 1.1% 758
22806 Ephemeral 1,870 1.0% 766
1059 Gift wrap seal 1,832 1.0% 2,201
22613 Ephemeral 1,754 1.0% 691
22699 Ephemeral 1,748 1.0% 428
22749 Ephemeral 1,737 1.0% 429
22676 Ephemeral 1,730 1.0% 427
22655 Ephemeral 1,724 0.9% 428
23003 Ephemeral 1,720 0.9% 428
22751 Ephemeral 1,718 0.9% 426
22774 Ephemeral 1,716 0.9% 428
22850 Ephemeral 1,714 0.9% 430
22601 Ephemeral 1,710 0.9% 428
25050 Ephemeral 1,700 0.9% 444
29333 Ephemeral 1,696 0.9% 492
20000 Ephemeral 1,690 0.9% 461
20004 Ephemeral 1,680 0.9% 529
22236 Ephemeral 1,670 0.9% 755
22780 Ephemeral 1,660 0.9% 884
20387 Ephemeral 1,650 0.9% 514
22816 Ephemeral 1,640 0.9% 429
22456 Ephemeral 1,630 0.9% 497
22580 Ephemeral 1,620 0.9% 795
21050 Ephemeral 1,610 0.9% 975
31991 Addressable 1,600 0.9% 461
24242 Ephemeral 1,590 0.9% 608
22795 Ephemeral 1,580 0.9% 457
25555 Ephemeral 1,570 0.9% 4,190
13194 NWC info 1,560 0.9% 510
31990 App handler info 1,550 0.9% 938
10100 Unknown 1,540 0.8% 1,942
30091 Addressable 1,530 0.8% 614
30088 Addressable 1,520 0.8% 1,863
38502 Addressable 1,510 0.8% 385
1985 Label 1,500 0.8% 474
10050 DM relays 1,490 0.8% 447
30315 User status 1,480 0.8% 635
4004 Unknown 1,470 0.8% 1,169
22891 Ephemeral 1,460 0.8% 1,136
22842 Ephemeral 1,450 0.8% 1,843
22653 Ephemeral 1,440 0.8% 1,843
22455 Ephemeral 1,430 0.8% 1,838
22543 Ephemeral 1,420 0.8% 1,842
22676 Ephemeral 1,410 0.8% 427
30089 Chunked data 1,400 0.8% 14,469 Very large
30001 List (encrypted) 1,390 0.8% 30,538 Very large
30815 Ephemeral large 1,380 0.8% 37,534 Very large
6 Repost 1,370 0.8% 1,876
9735 Zap receipt 1,360 0.7% 2,110
3 Follow list 1,350 0.7% 14,059 Can be huge
30023 Long-form article 1,340 0.7% 5,554
4 Encrypted DM 1,330 0.7% 1,171
1984 Report 1,320 0.7% 472
1063 File metadata 1,310 0.7% 1,038
1111 Comment 1,300 0.7% 1,398
20 Picture 1,290 0.7% 636
21 Video 1,280 0.7% 636
10000 Mute list 1,270 0.7% 1,559
10001 Pinned notes 1,260 0.7% 1,290
10003 Bookmarks 1,250 0.7% 1,293
10004 Communities 1,240 0.7% 1,290
10006 Blocked relays 1,230 0.7% 1,290
10007 Search relays 1,220 0.7% 636
10030 Emoji list 1,210 0.7% 405
23194 NWC request 1,200 0.7% 526
23195 NWC response 1,190 0.7% 526
30008 Profile badges 1,180 0.6% 1,290
30009 Badge definition 1,170 0.6% 1,290
8 Badge award 1,160 0.6% 1,290
31922 Calendar date 1,150 0.6% 1,290
31923 Calendar event 1,140 0.6% 1,290
34550 Community def 1,130 0.6% 1,290
39000 Group metadata 1,120 0.6% 1,290
39001 Group admin 1,110 0.6% 1,290
39002 Group members 1,100 0.6% 1,290

Key Findings

  1. No CLOSED or NOTICE messages from any relay — all 14 connected relays tolerated the unfiltered subscription for the full duration
  2. Disconnects are libwebsockets internal state issues, not relay-initiated — relays never sent CLOSED
  3. 25s ping works — primal responded with ~155ms pong consistently
  4. laantungir.net never connected — may require AUTH
  5. Social content is ~4% of traffic — 96% is noise (gift wraps, ephemeral, app data)
  6. Data rate: ~38 ev/s, ~2,300 events/min, ~2.9 MB/min
  7. Projected 24h volume: ~3.3M events, ~4.2 GB

Relay Software (from NIP-11)

Relay Software
relay.primal.net strfry 1.0.3
premium.primal.net strfry 1.0.3
(others) Not checked