When Do I scale?


(OLAWALE ALABI) #1

Top top job!
This is no mean feat considering this is my fifth attempt at creating a community for my followers.
Dabbling with Social Engine (Twice) Vbulletin and Burning Boards!
Finally, I can call this home.
So, I spin this server config:

Memory: 1224 MB
Storage: 25 GB
Transfer/Bandwith: 1000 Gb

I currently unveil and within 2 days 16 users.
Now, with your experience, when do you think I should scale and add to the config above?
When I reach 200 users? 1,000 users? Any figure that seems reasonable to you with experince.
Note, I do not have any plugin installed for now, this is just straight out of the box/docker :smiley:

Thanks!


(RĂ©gis Hanol) #2

You should scale when you feel like your Discourse has become slower. You could have 20 ultra active users or 1000 almost inactive users and your load would be completely different.


(ljpp) #3

When you are starting to run out of one or more of your server resources:

  • CPU (load)
  • RAM (swapping)
  • Storage space

And it really depends on your traffic. Even the smallest supported server configuration can serve loads of traffic that is not logged in. I think I had something like 200+ concurrent guests on my site running on a 10$ Digital Ocean box.


(James Mc Mahon) #4

Long time SocialEngine user here too. What drove you away from it?

Performance wise, if you can, start with 2GB of memory and focus on building your community. As ljipp said, it can vary wildly not only with the number of users on your site, but what exactly they are doing. New posts, reading, searching all take different kinds of resources.

The standard docker installer has some nginx magic that shows you response times when you are signed in as an admin.

You could install a web based performance monitoring/logging tool on your server, but that is another application that you need to monitor, check for updates etc.

If you want to offload the payload a little, you can setup an S3 container for attachments and setup cloudflare to cache static assets. Basically the same as what you would do with socialengine to perk it up a little, reduce the requests going back to your own box for objects and deliver them to your users from resources closer to them. For an extra speed boost, turn on SSL + HTTP2 in cloudflare, it appears to work without issue with Discourse.

In the absence of a web driven tool, there are some things you can do with the command line:
http://www.tecmint.com/command-line-tools-to-monitor-linux-performance/


(OLAWALE ALABI) #5

Thanks so much!
Will surely give it a look!


(OLAWALE ALABI) #6

James, it was maintenance and basically HireExperts…lol

The cost of all those features and plugins were driving me crazy…however looking back, maybe I should have gone bare metal :grin:

I will definetely look into this!
Thanks!!!

Thanks @ljpp…noted.


(James Mc Mahon) #7

Yeah the cost wouldn’t be so bad if they weren’t so damn buggy. All of the “big” 3rd party developers in that ecosystem ship crappy code, and people keep making excuses for it. They ship more and more plugins that don’t really add value beyond (features) that are broken half the time anyway. Most of my work as been with SEAO. I’ve bugs that go back months with them.