Naming and Sizing your Servers!

Server Naming

Pick a domain name to use for your servers. For instance I use lmthosting.com and name my servers as srv01.lmthosting.com or srv01.yvr or srv01.qc or srv01.staging or srv01.woo

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.

Server Sizing

  • 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.