4 ms·
Out of curiosity, how much of a difference would Puma make in terms of memory usage once available (specifically at the low end, i.e. for teams of less than 5 m
by lewisl9029 9y ago
Out of curiosity, how much of a difference would Puma make in terms of memory usage once available (specifically at the low end, i.e. for teams of less than 5 members)? And would you happen to have a rough idea of which features are the biggest contributors to the high memory usage of GitLab?
Being able to comfortably host a limited version of GitLab for a small team on the lowest tier of Digital Ocean or EC2 instances (<512MB) would be a game changer in terms of the accessibility of GitLab as a product. It would give you access to the long tail of potential privacy-conscious users who would like to avoid hosting their code on a SaaS service (and thus wouldn't be already captured by the market leader, GitHub), but might be put off by the high operational costs involved with self-hosting a GitLab instance compared to some of the lighter weight alternatives.
- sytse 9y agoThere are people at GitLab that know more, but my take is that it would make it more practical to run with 1GB. As listed in https://docs.gitlab.com/ce/install/requirements.html https://docs.gitlab.com/ce/install/requirements.html the minimum is 1GB "1GB RAM + 3GB of swap is the absolute minimum but we strongly advise against this amount of memory. See the unicorn worker section below for more advice." Most of the memory for the configuration of 4GB we recommend is to run extra unicorn workers https://docs.gitlab.com/ce/install/requirements.html#unicorn-workers https://docs.gitlab.com/ce/install/requirements.html#unicorn... You would save this memory because you can multithread one worker.
- YorickPeterse 9y agoThis depends on the amount of memory a Puma setup would use vs an equivalent Unicorn setup. Say you have determined you need e.g 10 Unicorn workers, each taking 300 MB. If you could handle the same traffic using 1 Puma process with 10 threads that means you just saved yourself ~2.7 GB of RAM. It's entirely possible that a single Puma process may end up using more memory than a single Unicorn process, so the only way to know for certain is to measure the difference.