Server resources needed for a large elgg implementation


I am totally new to elgg and i have been tasked to implement a server for a potential amount of 10k users so i am wondering any special concerns i have to look on what server i need to get i was thinking on something like:

- Intel Nehalem Quad-Core Dual Xeon 2.13GHz E5506
- 16 GB RAM ddr3
- 1 TB storage (or maybe 2)
- 20 TB monthly bw

Wonder if this - with proper tunning - can withstand 10 or even 15k of users... any thougths on this are welcome.

Thank you. 

  • An octocore with that amount of RAM is serving which counts 40+K users and more than 1.5 million entities.

    Your setup should be enough. I recommend you virtualize your services for security and a better control of your resources.

    Lorea is using OpenVZ, Nginx in front, Varnish in the middle, Apache2 in the back, and another VM for MySQL, that occupies about half the resources. Clearly the bottleneck, besides IO, is Apache2: I've been working on a setup with Nginx in front and PHP5-FPM in the backend. I think the Gist is up-to-date, but I didn't have much time lately to test it thoroughly.

    A couple of notes about this config:

    1. the /.ping is used to monitor the health of the service in PHP-FPM. The commented code could use:

    location = /.ping { echo "pong"; default_type text/plain; echo_flush; }

     2. expires max actually sets the Expires header to access time + 10 years, but HTTP 1.1 RFC specifies that proxies should ignore dates > 1 year in the future.

    Hope that helps.




  • @hellekin - N-1 is a very nice site, very impressive.

  • @hellekin Thank you so much for this input i really appreciate it.

    @Michele I totally agree i can share my findings on some sort of table, but i really appreciate more input from more experienced users.

    Best regards.

  • Michelle, based on your suggestion we created an article with results for number of users that can be supported by different Elgg versions. You can find results in this article:

  • interesting figures.. i am wondering why are so many still using apache if nginx is so much more 'efficient'?

    (i have never used nginx)

  • URA, Nginx is more efficient than Apache, although not that much. You will experience better performance, however our test environment on nginx had some of our custom optimizations, those described here and a few additional ones tuned for specific website.

    Nginx install mostly illustrates how you can optimize Elgg if you do some simple optimizations to server and to code. I would bet those results are close to an upper limit of what you can get without introducing framework-level caching.

    Nginx is a tradeoff of a performance for simplicity. Apache is more common and because of this easier to set up and configure.

  • Also please note, each site is different. Assumptions we took for tests are different for each website - eg. if users spent an average of 30 minutes/day on a website, number of supported users would be twice lower. If eg. only 1 on 6 users were active, you could support twice that many registered users. This is why performance is usually measured in requests per second, not in supported number of users.

  • @Mike - nice data, it's interesting to see some of the comparisons - even the difference between 1.8.1 and 1.8.8 on the same machine ~33% increase in capacity.  When 1.8.9 is released with the additional metadata caching would you be able to run those same machines?  I'm curious to see an actual non-subjective result for the difference.

  • @joseph thank you!

    @vazco Awesome, thank you for the information. Can you share your benchmarking scripts? I'd be curious to see how performs on that scale.

    @madpato you're welcome! Good questions spark good discussions ;o)

  • 18,399 1.7 M
            80,849 2.0 M
    1,959,460      236.0 M
    6 2.2 K
    37 3.4 K
    5,426,774 1.0 G
    1,754,419 160.7 M
    32 3.7 K
    0 0 .
    12,864 7.0 M
    0 0 .
    86,343 11.4 M
    17,659,609 2.1 G
    7,367,456 2.2 G
    5,199,701 739.3 M
    8,184,827 592.7 M
    6,159 924.1 K
    1 7.2 K
    0 1.0 K
    0 0 .
    215,898 84.5 M
    9,371 9.0 M
    22 tables 47,982,205 7.0 G
Performance and Scalability

Performance and Scalability

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