Server needs for an elgg site

Hello,

we are building a social network with elgg 2.1. Our aim is to create a community with less of 10 000 profiles and at least 500-1000 users online at the same time.

We are using ellgchat plugin also. I read that it coulb make problem in shared servers...

I wanted to know which would be the right server configuration to be sure it will turn.

Shared server or dedicatedt? How much RAM, CPU...?

Thank you for help

  • Despite major improvements in Elgg's boot up, I fear the elggchat plugin is unwise for that amount of traffic. It's naive server-polling approach means the overhead of a full page every N seconds per logged in user. Ideally you want a websocket solution that can move that load to a node.js process, ideally off your host completely. However elggchat may be fine for the early days until you can find an alternative. This problem isn't unique to Elgg; PHP's model doesn't suit realtime chat well.

  • Behold! A combination of plugins that implement real-time chat without killing the server:

    Add these two to the mix, and you'll not only get real-time chat but also real-time notifications:

    Although I have to admit, you need to tinker around quite a lot on the server side in order to make it work. Also shared servers do not necessarily allow you to install all the required server side software. Then again, for that amount of users, I'd recommend getting a dedicated server anyway.

  • As already mentioned, I don't expect Elggchat to be useable with 500 - 1000 concurrent logged-in users - not only on a shared server but it will most likely be even too much for a dedicated server. And 500 - 1000 users online at the same time will be much too much for a shared server even without using any chat plugin. But even if you plan to have 10000 members on your site at some time in the future the 500 - 1000 users online at the same time seem quite a high number.

    @Juho do you have any performance stats for your chat plugins?

  • @Juho do you have any performance stats for your chat plugins?

    No, but the underlying technology is extremely scalable. I would even go as far as to say that regular page loads produce more overhead than the chat.

  • Thanks for your answers.

    10 000 users is the very optimistic limit. Realistic number if user will be around 2000 users.

    I don't expect 500-1000 users online at the same time every day but this case can, in theory, happen.

    For the elggchat plugin is there a way to limit the numbers of discussions at the same time? How many discussions can be effective at the same time?

    I think I will try in the early days with elggchat plugin and see what happens.

    If we choose a dedicated server, how much memory  should we have to avoid problems?

     

  • There's currently no option to limit the number of chat sessions. Though it might not be too difficult to implement (I would have to look into it before I can say for sure).

    Unfortunately, I can't give any estimation regarding how many sessions will work and how many are too much. By own experience I never had many sessions running in parallel on my site (<10 maybe, on VPS server) so there was no overload yet. I also tried to get sessions closed as soon as they are no longer used to reduce the load as soon as possible again by adding some cleanup functionality to Elggchat. This might help to allow for some more sessions to run without getting issues but even then there are some limits for sure (only slightly later).

    Between a shared server and a dedicated server there's also the class of VPS servers. The VPS servers already offer a better performance than a shared server without the severe restrictions of shared servers regarding load peaks. A VPS server will surely be much less expensive than a full dedicated server. Though there are still differences in price between managed (more support from the webhoster) and unmanaged servers (you need to manage it on your own).

    I would say 1 GB memory is the absolute minimum. Depending on how many concurrent users you have on your site it might be better to have 2GB (and later 3GB or more). You should look for a webhoster that allows to adjust the server specs of your hosting package according to your needs when you need it (e.g. start with 1 or 2 GB RAM and request more if necessary at a later time). You might also think about how much disc space you need as the VPS servers and dedicated servers will offer only a specific amount of disc space. If you expect your users to upload a lot of images (or even videos) you might need much more disc space compared to an Elgg site that is not so focused on media content. 20GB might be more than enough for some while other sites might need much more than that. For disc space the same as for RAM: it should be possible to increase the disc space in your hosting plan when you need it.

  • If it works with 10 chat sessions, i think it will be enough. Chat is only one secondary feature of our site.

    Thanks for all these informations. I think we will choose a VPS Server, the offer is 6GB RAM and 100GB of space disk.  Thanks a lot

Performance and Scalability

Performance and Scalability

If you've got a need for speed, this group is for you.