Content
You are here:
MySQL Database Size
Added by Abdullah Nasim almost 7 years ago
Hi,
I am setting up OpenProject and want to know how big of a MySQL database instance I require? I am imagining around 1000-2000 work packages in total. How much space does 1 work package take?
If someone could provide me with a rough estimate I would greatly appreciate it. I am thinking of provisioning a database of storage size 10 GB. Would that suffice?
Replies (4)
there’s no explicit measure how much one work package takes, since it very much depends on the number of additional fields (custom fields, types, etc.) you configure.
One of our larger on-premise installation runs with just above 8k users and over 250k work packages and their current entire database dump is around 3.5 GB. (Not counting attachments on disk)
So, space requirement in the database is negligent, you should rather ensure that your application server has enough RAM (400mb per application worker at least, so around 2-4G per application server) and the database has enough RAM to perform queries inplace.
Best,
Oliver
Thank you for your quick response Oliver! That helps answer my question.
I wanted to discuss with you my current thoughts on the hardware I will be using:
I am working on a Proof of Concept right now.
1) web and app on the same server of 2 CPUs, 4GB RAM
2) database server of 1 CPU, 2 GB RAM. MySQL database instance with 20 GB storage.
If the POC goes well with the stakeholders then I can ask for more resources and have web and app on separate servers.
Could you please give a rough estimate of the number of CPUs and RAM which would be sufficient for web and database server? You have already mentioned 2-4GB for application server.
We are imagining 5-10 concurrent users and perhaps 100-200 users in total with 1000-2000 work packages.
Thank you and I would really appreciate any advice!
For your use case, this setup will work fine and is completely sufficient.
If your concurrent users are increasing, you may want to look closely at your free RAM and add web workers by increasing the
WEB_CONCURRENCY
configuration variable of OpenProject. (2 by default). Since Ruby is interpreted, it will take quite an amount of shared memory from the master and each process sits at around 250-370 MB RAM. Update the setting withopenproject config:set WEB_CONCURRENCY value
and restart the application server withservice openproject restart
(or similar, depending on your distribution).Even if your one application server would be running at limit (won’t happen for the numbers you wrote), one can seemlessly add further application servers as additional workers later on and move the terminating endpoint to a load balancer should the need arise.
Best,
Oliver
Thanks a lot Oliver! I’ll go ahead with the POC and will circle back to you if I have any more questions.