Yep. That’s an image from my dashboards that’s back by my aggregator and relay.
The key issue is Nostr has around 15MM non-spam events. Indexes are getting big. Tables should likely start to be partitioned on kind/time. Partial indexes for recent data and perhaps limited indexing for historic. My DB is near 90GB already.
However, I’ve started to build support for effectively roll up statistics which can collect is near-real-time and basically give hourly/daily visibility per pubkey.
Basically, it’s too slow unless you either pre-warm cache or create roll up metrics, which is what I’ve got working now. I’ve seen a 400X query improvement in places - early data as tables are not filled with lots of different pubkey’s data yet.. but it’s significant anyway.
