I have a recent project hosted on Digital Ocean’s 40$ Plan, giving me 8 GB Memory distributed on 4 cores. I’m currently juggling ~3-400 concurrent users, and my server CPU is running at 6-70%, but there’s been a few spikes where sockets started to work a bit slow.
My plan can obviously be upgraded, but let’s say I had the same specs in Galaxy, for the sake of my question (disregarding price):
Would hosting on galaxy improve scaling beyond the raw specs? My knowledge of deployment is quite basic, and I’d hope someone from MDG could give me some insight into how good of an option Galaxy would be for my project
And how you are running it on DO? 4 separate instances each on 1 core - how you are distributing it 1 per core ?
You host your own database or some other provider ?
Have you tried more 512MB droplets on DO ?
A singular droplet, so I’m assuming it’s running on one instance, with full processing power.
The database is hosted on Compose.io, and is running smoothly. No issues here, I’ve only had issues with the server.
I have no idea how to run my application across multiple instances, as my application is quite simple, and possibly doesn’t support that. I assume it would require some internal work on my application?
I assume you don’t have any input on whether Galaxy would perform better with equal specs to Digital Ocean?
Well, you know - nodejs app can run only on 1 core, so if u run just 1 instance on that 4 core server…
I’m sorry that I don’t know the answers already, but can you maybe point me in the right direction in terms of scaling across instances?
I believe that in your current setup, there is 1 core doing all the work and 3 just sitting there idle, as nodejs app can’t use them. You would need to run 4 instances (copies) of your app there if u want to use all 4 cores (and also some way how to distribute them between these cores).
Maybe that is slowing down your app, not the digital ocean itself.
I can be wrong, but others can read it and confirm/deny.
If I am right, I suggest to look onto Kadira’s cluster package or spread it to more DO droplets as most of the Meteor developers are doing.
Or discuss it with app developer.
I know about the limitations of Node, but didn’t really consider this aspect during deployment I’ve already read quite a bit about it.
I’m aware it’s not “digital oceans fault”, I’m simply attempting (and failing…) to start a conversation about what Digital Ocean offers in terms of scaling, compared to Galaxy. I believe clustering is abstracted away in Galaxy. I’m aware Digital Ocean is not slowing down my app haha
Already stumbled upon it whilst waiting for your answer Will dig into it
thanks for the suggestions!
1 more suggestion - mizzao:user-status does not work on multiple instances, good luck
edit: found konecty:user-presence, which actually does support multiple instances
After some hours of looking over options, I’ve learned that this is not true - Node actually support multi-processing through
Cluster, which is pretty much what Arunoda has done with his cluster-package very nice - will have to read more about it!