Forum performance
-
Depends. I run a community of about 600 users, on certain occasions (2 times a month) we have about 250 concurrent users online. After preparing NodeBB in the background on a second level tier DigitalOcean VPS (1CPU, 512GB RAM) which ran excellent after initial development, we decided to go online at one of those high peak events.
It was a disaster, honestly I had no experience with NodeJS before, so I didn't know what performance issues to expect. The site slowed down really fast when the first 60 visitors were online, at the time there were 100 of them, it got unuseable, so we made an emergency conference call and decided to go down, upgrade the VPS and power on again. That took 5 minutes, the rest of the event went smoothly afterwards (The community was not upset at all but rather proud of bringing a whole server to it's knees ;)).So for reference:
We went for the 2CPU/1GB RAM option for 25$/month. That one managed 40.000 pageviews in an hour from 298 concurrent visitors (guests and members), no noticeable delay, with 79% CPU and about 80% RAM usage. I currently have three NodeBB workers enabled with Redis as a DB and nginx as reverse proxy, all over SSL (coming to think of it, that should have a performance impact aswell). SSH monitoring with top was running, too.This might give you an impression
-
Thanks. That verifies what I've been hearing about reddis. I don't think reddis is for me at this time. Memory technology has not progressed that far. I have thousands of concurrent connections, especially during peak periods (major links and when we send the email newsletter) and it would probably work if I had thousands of dollars per month to spend on it.
-
It is not necessarily a redis issue but more due to the way Node.js works - after all, my guess is, for large forums, you may be better off using a PHP solution, unless you want to invest in a setup like, one load balancer, two to four db servers, four to eight app servers serving nodebb, one mailserver, one for firewall and security, a development box, ... you see where this is going
-
Exactly. I really like the idea, but php/.net is sufficient, fast, and CHEAP. When memory technology catches up (if ever), then I think reddis will become an option.
What you described with the endless stacking is the most recent article I read about someone who used reddis. They simply realized they were spending resources to make reddis work when they could spend much less using traditional technology for the same impact. They didn't abandon reddis, but they used it in a far limited and targeted capacity.
-
@Astralis-Lux take a look at Flarum, that's what I had on my list first... That may work better
-
Very nice. Thank you!
-
Node.js is very efficient due to it's non-blocking asynchronous nature. It beats PHP every day.
-
@hek said:
Node.js is very efficient due to it's non-blocking asynchronous nature. It beats PHP every day.
Not arguing on that. Comparing NodeBB to the previous MyBB PHP-based board though, I can see that the community simply consumes much more resources than before and becomes slower the more requests are coming in. I never experienced a slowdown of multiple seconds when using MyBB.
I mean I love NodeBB, it is a question of sufficient hardware though. -
Yes agree that it is hard to compare. These days much rendering work is handed over to the client browser. And websockets complicates the comparison even more (even if the actual bytes transferred is lower).