Scalability and Responsiveness
-
Hi,
as NodeBB user number escalates, how is its responsiveness kept? I mean, in a big forum usage with let's say, about 200 concurrent users using it heavily (imagine, uploading pics, writing posts, searching content, etc), how does the performance suffers?
Node.js apps may have that problem once they cannot use several threads.
Do you recommend using a proxy like nginx or use Node.js as proxy for a "one forum-one site-one machine" setup?
-
https://docs.nodebb.org/en/latest/scaling/index.html
Multiple "threads" are possible...
If you have a large community I recommend nginx as proxy for e.g. serving static images.
-
I don't think that anyone has 200 concurrent users with which to test! http://mangolassi.it/ is one of the busier sites and has been around for a while. We have single threads, that started on NodeBB (not migrated from another site with any pre-existing content) and over a third of a million views on a single thread (more than ten times the traffic of this forum's busiest thread) and we don't ever see anything close to 200 users at once.
But at our volume, which hits around 3,000 views per hour, running on a dual core system keeps us completely responsive. And we run about six different forums on that same platform and database. We are getting close to wanting to add another 2GB of RAM, but that is about it.
-
I should mention that we DO front all of the forums on that system with Nginx, of course. But we are only using MongoDB and not Redis to speed the site up (the mixed Redis / MongoDB option did not exist when we implemented.)
-
@scottalanmiller Yes, 3k/hr is a decent metric for sure! We host a client that sees roughly 15k per hour, and we load balance requests three separate 2-core NodeBB servers for that.
Scaling out horizontally also ends up being a lot cheaper, too.
-
@scottalanmiller Thanks for the info! Could you share your server specs? Has anything changed for you in these 2 years? I'm planning to use the same setup as yours. Mongodb , no redis, couple of forums running on the same server.
Also do users of mangolassi like the chat feature or do they just stick to normal forums?
-
for http://retropie.org.uk/forum/ we have around 3-5k page views per hour. Running with mongodb, redis, and nginx as a front end proxy with currently 4 nodebb processes (I recently reduced it from 6 and it seems to manage well). nginx serves up the static content.
Server is a VM with 4gb ram and 2 cpu cores.