Name all your services so you know where your sites reside.
Development vs Production vs WooCommerce Servers
I typically separate my servers based on usage. For instance I have a development server that has only my development sites so I don't take production resources. I have production servers, these are active sites for clients. Lastly WooCommerce I typically go with High Frequency servers, since they cost more I charge clients more.
- Stick to 2 CPU cores minimum.
- Your CPU's should be based on how many requests you want to handle per second.
- For instance, you could handle two requests on one CPU. But that CPU would be very busy and cause a potential load.
- You also need room for system resources to complete.
- If any process has to wait or is delayed in processing because the server is too busy. This will cause issues everywhere.
- Stick to 4GB of memory minimum.
- PHP really only needs 256M per process, not requests.
- Some requests hit cache and don't invoke PHP.
- A site can generate 4 processes for 8 requests.
- Having enough memory for MySQL is important, it will be using the most memory out of any processes on the system.
- Ensure there is breathing room for the operating system.
- Always know that your OS and the stack services such as Nginx, MySQL, redis, monitoring and even gpbackups and clones need resources.
- A clone job could make a server crawl if there isn't enough resources.
- Always give 1 CPU core and 2GB of memory for system and stack services/jobs.