EDX Server Capacity Planning

644 views
Skip to first unread message

Neville D'Souza

unread,
Sep 25, 2017, 12:10:27 PM9/25/17
to General Open edX discussion
Hi All,

I was trying get an answer to my query about server capacity planning for production. I would like to know hardware required for 500 concurrent users. I would like to have 2 server setup. One for LMS/CMS/DB and other for Insights. Does anyone know of a guide to help anyone to understand hardware requirements? What are the parameters that decide the CPU/Disk and Memory? I read in this forum someone saying 1 GB RAM for 70 concurrent users. Any help would be great.

Regards,
Neville

Neville D'Souza

unread,
Sep 27, 2017, 8:50:11 AM9/27/17
to General Open edX discussion
Anybody any ideas?

S Ye

unread,
Sep 29, 2017, 8:22:39 PM9/29/17
to General Open edX discussion
need more specs for your application layer...do you run jre in the middle for serving server pages, and what sort of database server are you using? Oracle or MySQL... at the backend?  etc etc ... I've used  web server plus app server plus db server on one single Dell machine with 4G memory ...and 4 CPU for about 600 concurrent users.... ( but we don't actually have THAT much concurrent users to use our app at one time...) 

Neville D'Souza

unread,
Oct 2, 2017, 2:28:29 AM10/2/17
to General Open edX discussion
Well I used https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/146440579/Native+Open+edX+Ubuntu+16.04+64+bit+Installation to install. We are using mysql db. Presently I have 8 GB Ram/2 vCPU/ 500 GB for LMS/CMS/DB and similar for analytics server.

Nate Aune

unread,
Oct 5, 2017, 4:06:57 PM10/5/17
to General Open edX discussion
In a previous post, Ned suggested that for every 75 simultaneous active users (concurrent), you should allocate 1GB of RAM to a LMS worker.  So for 500 concurrent users, you'd need to allocate around 7GB of RAM to the LMS workers (7 workers each handling 75 concurrent users). You can read his "crude sizing guidelines" post here: https://groups.google.com/d/msg/openedx-ops/_El2M0ifXmc/R5vCdGaBBgAJ

I'd also recommend putting the DB (and other persisted stores) on a separate server, as recommended by Feanil in this talk from a previous Open edX conf talk. https://open.edx.org/videos/edx-hosting-architecture
Or if you're using AWS, use their RDS service, or if you're using Google Cloud, use their Cloud SQL product. Azure now has a MySQL service as well (in "Preview"): https://azure.microsoft.com/en-us/services/mysql/

Nate
Reply all
Reply to author
Forward
0 new messages