When embarking on the journey of managing your own servers, one of the critical decisions revolves around choosing the appropriate server size and determining how many websites can be effectively hosted on a single server.

The objective of this comprehensive article is to provide you with a nuanced understanding of these pivotal aspects, enabling you to make informed decisions vital for your business’s success in the realm of server management.

It’s essential to acknowledge that there isn’t a one-size-fits-all answer to these inquiries.

The optimal server size and the number of websites it can accommodate depend on several factors, including the intricacies of your website’s codebase, the efficiency of caching mechanisms, the volume of concurrent visitors, their engagement patterns with your websites, and, of course, the specifications of the server in question.

Understanding these variables serves as the foundation for determining when scaling up becomes necessary. We’ll delve into these aspects in detail as we progress.

Note: Decisions regarding server size and website allocation hinge upon various factors like website codebase, caching mechanisms, concurrent visitor numbers, their interaction with websites, and server specifications.

Part 1: Factors that Influence Server Choices and Sizing

CPU, RAM, and Storage

  • When selecting servers, three crucial variables drive decisions: RAM, CPU, and storage.
  • RAM and disk space considerations are straightforward, necessitating sufficient resources to cover website databases, uploads, and system resources.

RAM Guidelines

  • RAM consideration is pivotal for server setup.
  • RAM needs are primarily determined by website database sizes. Hosting a 5GB database on a 2GB RAM server affects performance adversely.

Variables

  • RAM requirements hinge on MySQL size, the number of sites, PHP workers per site, and collective cache sizes.
  • For growing websites, ensuring ample server room is vital.

Guidelines

  • Servers with less than 2GB RAM are not recommended. Aim for 4GB RAM servers, distributing brochure sites across servers of this capacity.
  • A ballpark of 7-10 sites per GB of RAM suits most use cases. However, this varies based on site traffic and coding quality.
  • MySQL should occupy no more than 50% of available RAM on servers with 8GB RAM or less.

CPU Guidelines

  • CPU considerations revolve around website load and backup tasks.
  • Cache-utilized serving minimizes CPU load, while cache-bypassing requests, like e-commerce checkouts or LMS interactions, intensify CPU usage.

Backups and Other Features

  • Backup processes, site cloning, and task management tools impact CPU usage.
  • Servers may need scaling if high CPU usage persists due to concurrent tasks.

One Big Server vs. Multiple Smaller Servers

  • Distributing websites across several servers mitigates risk in case of server failures.
  • Spreading sites across 2 CPU 4GB RAM servers is usually optimal, considering the 8-10 sites per GB of RAM rule for static brochure sites.

Minimum Server Specification Recommendations

  • A minimum of 2GB RAM servers is advised, with 2 CPUs and 4GB RAM being more favorable.

Part 2: General Advice for Different Use Cases

Static “Brochure” Websites

  • General guidelines suggest 8-10 websites per 1GB RAM, but a conservative approach often involves 20-30 websites on a 2 CPU 4GB RAM server.
  • Fully cached sites needn’t surpass the £30-£35/month plan.

WooCommerce

  • Many small WooCommerce stores work well on standard servers.
  • Large stores or those with substantial databases may require dedicated resources.

Large Databases

  • Servers hosting large databases should ideally have double the RAM of the database size on servers with 8GB RAM or less.

High Traffic WooCommerce

  • WooCommerce sites with heavy cache-bypassing traffic demand more CPU power. Monitoring usage and scaling accordingly is recommended.

LMS, BuddyBoss, and Membership Sites

  • Similar to WooCommerce, these sites need careful resource planning. Heavy MySQL usage requires dedicated server resources.

WaaS Networks

  • Start with a 2 CPU 4GB RAM server and scale up based on needs.

Part 3: When to Scale Up

Scaling Factors

  • High CPU/RAM warnings or consistent resource usage above 50% indicate scaling needs.
  • Monitor tasks causing CPU spikes and manage them to optimize server usage.

Load Testing Considerations

  • Load testing should simulate expected workloads, especially for database-intensive interactions.
  • Emulating actual site usage scenarios is crucial for effective load testing.