As many of our users experienced recently this week, GitGud.io slowed down to a crawl. GitGud has seen a rapid increase in users and usage over the past year and it is quickly outpacing our existing infrastructure (servers, storage, resources, etc). GitGud isn't our only service and we want to (re)launch more services, like Mixtape and Tavrn, and in turn, we are at odds with our current resources to handle existing services, much less expanding our services into greater fields.
Tl;Dr: Sapphire needs a new server for GitGud, Mixtape, and Tavrn and we're starting a GoFundMe campaign to raise the funds to increase our server capacity for 2021 and onward. If you're like to donate in an alternative manner, email us [Mike@Bluegem.net] or talk to us on Discord: https://discord.gg/aqpHyp2 or check out the alternative options at the bottom of this post.
Current GitGud Hosting
We currently run GitGud.io on a Ryzen server
-4 CPU cores
-16GB of memory
-1TB SSD (in RAID 1)
We often hit 80-90% CPU utilization while using 11-15GB of memory and using over 700GB of the 1TB SSD
GitLab Hosting Needs
GitGud runs on GitLab, and to be frank, GitLab is a fairly inefficient piece of software for what it is. GitLab runs on Ruby on Rails and other technologies and it requires a lot of CPU cycles and memory to run well.
GitLab Minimum Requirements
-4 CPU Cores
-4GB of memory
GitLab Recommended Requirements for 1000 active users + a shared runner
-10 CPU Cores
-12GB of memory
-200% of storage of total repository size
GitGud's Hosting Needs Currently
These numbers are based on GitLab's recommended system resources for the amount of users GitGud has (19,800 registered users as of this blog post, around 1000 active users during day peak and shared runners).
-12 CPU cores
-32GB of memory
-2TB of SSD storage (in raid)
As of now, GitGud is running behind on it's resource needs. The is working well still, but when the site is most busy, GitGud can slow down quite a bit.
Moving on to the Future
We recently finished upgrading our private datacenter network infrastructure in December (which resulted in some intermittent extended downtimes as a result, which some users experienced). With our current datacenter, we have a strict power budget to stay to. Having a bunch of low performance (but still power hungry) servers is costly and does not work well for our needs. Density is important in our use case for expansion. A newer, denser, and frankly more power efficient server, would allow us to expand and retire our older less efficient servers.
We want to purchase a new server that is dense, powerful, expandable, but is still affordable, to house GitGud and future services on. We are looking to acquire an AMD EPYC server that can fit our current needs now, and allows us to expand it in the future as needed. We want to purchase a 2nd-hand HP DL385 G10 3U server
Desired Base New Server Specifications
-8 CPU Cores / 16 CPU Threads @ 2.1GHz - 2.9GHz - AMD EPYC 7251 (We want to upgrade this processor, as 8-cores, as stated above, is not enough for our needs. This is a base system to get us into a new setup, something we not actually do as well on a Ryzen platform)
-Dual Socket SP3 motherboard (Allows us to upgrade this server later, up to 2x 64-Core EPYC processors, for a total of 128-Cores, and 256 threads)
-64GB DDR4 ECC Memory (upgradable up to terabytes of memory)
-2x 2TB NVMe SSDs (in RAID, upgradable up to 8x 8TB NVMe SSDs)
-4x 480GB SATA SSDs (in RAID, upgradable up to 8x 8TB SATA SSDs)
Costs for this server upgrade
We did a cost analysis on 8 different options for various specifications and deciding between a pre-built server or building our own server. The most ideal cost/performance setup ended buying a refurbished pre-built HP EPYC server and upgrading some of the parts in the server at a later date (or immediately if we get enough funds).
Funding Base Goal
-Base server - $2400
-2x 2TB NVMe drives + PCI-E NVMe M.2 Adapters - ~$700
Funding Base Goal Total: $3100
Funding Stretch Goal 1
-Upgrade processor to 2x 32-core @ 2.35-3.35ghz - EPYC Rome 7452 processors - ~$5000
Funding Stretch Goal Total: $8100
Funding Stretch Goal 2
-Upgrade Processor to 2x 64c/128t @ 2.0-3.35ghz - Epyc Rome 7702 processors - ~$15,000
Funding Stretch Goal Total: $18,100
Funding this server infrastructure upgrade
Sapphire is small company with no real revenue source currently, other than our BlueGem.net computer building subsidiary, of which only makes enough to slightly sustain itself.
We currently do not sell any services or products yet, as those types of projects are underdevelopment still. Since we're entirely bootstrapped and user funded, and actively avoid external investor funding and loans, we're starting a GoFundMe campaign to raise the funds needed to take this new step forward. If you're like to donate in an alternative manner, email us [Mike@Bluegem.net] or talk to us on Discord: https://discord.gg/aqpHyp2 or view the available alternative options below.
GoFundMe Campaign Link: https://www.gofundme.com/f/new-server-for-gitgudio-and-sapphiremoe-2021
All Donation Methods
We will adjust the GoFundMe goal amount based on the amount from alternative donations and list those amounts as well
GoFundMe Campaign: https://www.gofundme.com/f/new-server-for-gitgudio-and-sapphiremoe-2021
Coinbase BTC Wallet: 3ArwjExqNNBSWdF8ycaZkyavWiPrpX97c6