Been a while since I posted relay stats so here comes some fun stats for the wss://nostr.oxtr.dev relay.

Total events: 7 347 386

Total events last 30 days: 6 081 239

Total unique pubkeys: 213 403

Total events per kind:

Metadata (kind 0): 273 155

Text Note (kind 1): 5 015 515

Contact list (kind 3): 204 157

DMs (kind 4): 219 043

Event deletion: 13 238

Repost (kind 6, deleted from the spec): 100 236

Reaction (kind 7): 1 063 900

Public channels created (kind 40): 3644

Public channel metadata update (kind 41): 798

Public channel message (kind 42): 369 871

Reports (kind 1984): 19 207

Zap requests (kind 9734): 35

Zapper (kind 9735): 7678

Relay list metadata (kind 10002): 505

Total new events by month:

Before Dec 2022: 187 695

Dec 2022: 621 899

Jan 2023: 756 508

Feb 2023 (as of Feb 21st): 5 790 271

Reply to this note

Please Login to reply.

Discussion

Do you have any stats on reads?

Like reads to the disk? No.. I suck at monitoring tbh, I just got a Grafana/Redis setup up this week that monitors the VM. Still trying to figure out how to best monitor everything.

Mostly curious the frequency, types, and shape of all the 'REQ' queries relays get.

Nostr band dev was telling me the read ratios were like 10k read requests for every write.

Would be cool to have data on this, did he mention how he got it? Is there a relay implementation that has support for tracking this?

He has a closed source C++ relay impl he developed. I'm not sure how he's collecting them.

I'd be surprised if no one has a relay with this kind of metric tracking yet. Hmmm

Just keep in mind subscription event result reads can be easily faked/spammed too.

You mean receiving a bunch of pointless/extra/wasteful reads? Seems like something worthy of tracking

I’m sure you can get some insights out of it for operations. Can even help with database optimisations around partitioning, indexes, etc.

However, if your looking to charge per event impression for example, it’s unreliable as a ‘event has been requested/viewed X times’ metric.

I'm only really interested in the former. Hadn't considered charging *per* read or impression. Seems hard to measure given what you've said.

I mention it mostly because the ‘impression’ metric is largely related to todays advertising business models.

At some point someone is going to want to try tracking impressions or a derivative and charging - ideally it’s unworkable and fails. Advertising is a burden on society.

And certainly Nostr will always be read biased. More likely 100-10000x as it grows.

I've been running nostr-rs-relay since the very start but it doesn't have support for data collection/analysis AFAIKø

What kind of stuff are you looking to analyse?

You can use rust with Prometheus crate to collect data for Grafana which is cool.

I’m slowly adding more operational metrics, mostly to understand scaling, growth and performance. And monitor/detect malicious actors.

> Mostly curious the frequency, types, and shape of all the 'REQ' queries relays get.

>

> Nostr band dev was telling me the read ratios were like 10k read requests for every write.

I'm not too sure actually on specific metrics but anything that would give me insights into what is going on so that I can react and improve.

Thanks! I wonder what the best way to approach query stats are. Naive thing would just be to record all queries then analyze periodically.

Total disk storage?

27.5 GB

Wooo!! 🙂 Big numbers!  Unfortunately a lot of spam in the last few weeks

Those February events!

I know🤯 Probably some spam in there though.

Wait a minute…

“ Event deletion: 13 238” is this a thing?