this post was submitted on 12 Jun 2023
3 points (100.0% liked)

lemmy.ml meta

1406 readers
1 users here now

Anything about the lemmy.ml instance and its moderation.

For discussion about the Lemmy software project, go to [email protected].

founded 3 years ago
MODERATORS
 

I see plenty of posts talking about a huge influx of new users to lemmy.ml lately. Can we get some numbers about that? How many new users per day are we talking? How does that translate to number of requests per second (or minute) on the frontend?

What kind of hardware is lemmy.ml running on? Is it just a single server? Can lemmy instances be run on a loadbalanced cluster?

I'm really interested to see how efficient and resilient the lemmy software really is, at the moment I am getting the impression that it is buckling under the load of, honestly, not even that many users...

top 2 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 1 points 1 year ago

Somebody made a Mastodon bot that that updates user numbers every hour https://botsin.space/@threadcount

98,776 Lemmy/kbin accounts +2,326 in the last hour 15,274 monthly active users

[โ€“] [email protected] 1 points 1 year ago* (last edited 1 year ago)

I don't have access to the data on lemmy.ml. I have a small instance that appears on the joinlemmy site but not in the recommended section, so I can give you some data specific to a small instance.

Not sure if there is a direct way to pull this data, so I just made a little python script that queries the database and plots the number of users registered each day:

Code is under this spoiler tag in case someone wants to check this for their instance too:

spoiler

from subprocess import PIPE, Popen
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter


command = 'docker exec POSTGRES_CONTAINER psql -U USER -c "select validator_time from local_user;"'
with Popen(command, stdout=PIPE, stderr=None, shell=True) as process:
    output = process.communicate()[0].decode("utf-8")


time_signup = np.array(output.split('\n')[2:-3],dtype='datetime64[D]')

first_user = min(time_signup)
last_user = max(time_signup)
dates = np.arange(first_user,last_user+1)
count = [np.sum(time_signup == date) for date in dates]


fig, ax = plt.subplots()
plt.title('Amount of users registered per day to INSTANCE.TLD')
ax.plot(dates,count,c='k',lw=1)
myFmt = DateFormatter("%Y-%m-%d")
ax.xaxis.set_major_formatter(myFmt)
fig.autofmt_xdate()
plt.savefig('plot.png',dpi=300)

As to the number of requests per minutes... Hmm, I suppose that I can measure by counting the POST and GET requests in the nginx logs, I will try that and get back to you in a bit.