{"id":4894,"date":"2026-09-07T09:52:09","date_gmt":"2026-09-07T07:52:09","guid":{"rendered":"https:\/\/www.domains.co.za\/blog\/?p=4894"},"modified":"2026-09-07T09:52:13","modified_gmt":"2026-09-07T07:52:13","slug":"how-to-choose-a-vps-plan","status":"publish","type":"post","link":"https:\/\/www.domains.co.za\/blog\/how-to-choose-a-vps-plan\/","title":{"rendered":"How To Choose A VPS Plan: Sizing RAM, vCPU, And NVMe For Your Workload"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div>\n<p class=\"wp-block-paragraph\">This blog will explain how much RAM do I need for a VPS. When choosing a Virtual Private Server (VPS) plan, the wrong sizing can lead directly to poor performance and wasted money. Too little RAM and storage can bring down your site, and extra vCPU cores will not fix slow plugins or bad code. The safest way is to measure VPS specs first instead of guessing. The golden rule is memory first, storage second, and CPU last. In this guide, we&#8217;ll show you how to size RAM, vCPU, and NVMe storage for your specific workload. We\u2019ll also cover bandwidth, <a alt=\"Link to Domains.co.za - VPS Hosting - Linux\" title=\"Domains.co.za - VPS Hosting - Linux\" href=\"https:\/\/www.domains.co.za\/vps-hosting\" target=\"_blank\" rel=\"noopener\">VPS Hosting<\/a> types, and when to upgrade.<\/p>\n\n\n\n<h4 id=\"key-takeaways\" class=\"wp-block-heading\">KEY TAKEAWAYS<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose a VPS plan by sizing RAM first, storage second, and vCPU last, because memory shortages cause the fastest and most serious failures.<\/li>\n\n\n\n<li>Measuring actual memory, CPU, and disk usage gives you a more accurate VPS size than choosing a plan based on assumptions.<\/li>\n\n\n\n<li>The right VPS plan depends on the workload, from cached WordPress sites and WooCommerce stores to agency hosting, SaaS apps, and trading automation.<\/li>\n\n\n\n<li>Monitor RAM, CPU, and disk usage monthly so you can upgrade before performance issues become outages.<\/li>\n\n\n\n<li>Over-buying wastes money on unused resources, while under-buying creates performance problems when your site can least afford them.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h4>TABLE OF CONTENTS<\/h4><nav><ul><li class=\"\"><a href=\"#key-takeaways\">KEY TAKEAWAYS<\/a><\/li><li class=\"\"><a href=\"#how-to-choose-a-vps-plan-in-south-africa-quick-answer\">How to Choose a VPS Plan in South Africa (Quick Answer)<\/a><\/li><li class=\"\"><a href=\"#measuring-vps-specs-not-guessing\">Measuring VPS Specs, Not Guessing<\/a><ul><li class=\"\"><a href=\"#ram\">RAM<\/a><\/li><li class=\"\"><a href=\"#virtual-cpu-v-cpu\">Virtual CPU (vCPU)<\/a><\/li><li class=\"\"><a href=\"#nv-me-storage\">NVMe Storage<\/a><\/li><li class=\"\"><a href=\"#bandwidth-and-what-unlimited-means\">Bandwidth, and What &#8220;Unlimited&#8221; Means<\/a><\/li><\/ul><\/li><li class=\"\"><a href=\"#what-vps-hosting-type-to-choose-five-examples\">What VPS Hosting Type To Choose: Five Examples<\/a><\/li><li class=\"\"><a href=\"#headroom-monitoring-and-when-to-upgrade\">Headroom, Monitoring and When to Upgrade<\/a><\/li><li class=\"\"><a href=\"#two-traps-to-avoid\">Two Traps to Avoid<\/a><\/li><li class=\"\"><a href=\"#how-to-choose-the-perfect-domain-name\">How to Choose the Right Web Hosting Plan for Your Website<\/a><\/li><li class=\"\"><a href=\"#fa-qs\">FAQS<\/a><\/li><li class=\"\"><a href=\"#ot\">Other Blogs of Interest<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h3 id=\"how-to-choose-a-vps-plan-in-south-africa-quick-answer\" class=\"wp-block-heading\">How to Choose a VPS Plan in South Africa (Quick Answer)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When choosing VPS specs, size memory first, storage second, and vCPU last, because running out of RAM can cause instant site crashes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A standard WordPress site with a database needs about 2 GB. Busy online stores hosting multiple sites need 4-8 GB.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Control panels also eat up resources. For example, cPanel\u2019s minimum is 2 GB of RAM and 20 GB of storage, with 4 GB of RAM and 40 GB being recommended. Additionally, databases like MySQL use more memory as server size grows, often taking up 50% to 75% of your total RAM above 4 GB.<\/p>\n\n\n<div class=\"wp-block-image wp-block-image size-full\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.domains.co.za\/blog\/wp-content\/uploads\/2026\/09\/what-is-vps-hosting-02-1.webp\" alt=\"Always measure VPS specs and resource usage before buying - how much ram do i need for a vps\" title=\"Always measure VPS specs and resource usage before buying\"\/><\/figure>\n<\/div>\n\n\n<h3 id=\"measuring-vps-specs-not-guessing\" class=\"wp-block-heading\">Measuring VPS Specs, Not Guessing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Almost every VPS server plan is sized wrong the first time. People buy 16 GB of RAM for a basic portfolio site, which is a waste, and others try to run a busy 5,000-product WooCommerce store on 2 GB, which will cause constant crashes. You can avoid over- or under-provisioning by measuring usage instead of guessing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have a server, running three commands can help you get it right.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Command<\/strong><\/td><td><strong>What It Tells You<\/strong><\/td><\/tr><tr><td><em>free -m<\/em><\/td><td>Total memory, how much RAM is in use, and if you are running low.<\/td><\/tr><tr><td><em>top<\/em><\/td><td>CPU performance and steal time to see if your host server is overloaded.<\/td><\/tr><tr><td><em>df -h<\/em> and <em>du -sh \/***<\/em><\/td><td>Total disk space and the files or folders taking up storage.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>free -m<\/em><\/strong> shows memory in megabytes. Ignore the <em>used<\/em> number. Linux uses spare RAM for cache\/buffers to improve performance, so it can look high even on healthy servers. Check the <em>available<\/em> column to see the actual free capacity. &nbsp;Also check the swap (virtual memory on disk) line. If swap is used at all under normal load, you need more RAM to keep your site from slowing down or eventually crashing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>top<\/em><\/strong> shows two things. Load average tracks CPU demand over 1, 5, and 15 minutes. A load average consistently higher than your total vCPU number means your processor is overloaded. The steal time (%st) number on the CPU line is &#8220;time stolen from this VM by the hypervisor&#8221;. Steal time above a few percent means the host has overloaded the physical server, and upgrading your plan won\u2019t fix the problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>df -h<\/em><\/strong> shows your total disk storage. Then, run these three target commands to see exactly where it is being used:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>du -sh \/var\/lib\/mysql<\/em> (databases)<\/li>\n\n\n\n<li><em>du -sh \/var\/www<\/em> (website files)<\/li>\n\n\n\n<li><em>du -sh \/var\/log<\/em> (system logs)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If you don&#8217;t have a server yet, size it using the software&#8217;s recommended specs for your full stack as a baseline, and add a 50-100% safety margin. Also choose a provider that lets you add RAM, vCPU cores, and storage as needed.<\/p>\n\n\n\n<h4 id=\"ram\" class=\"wp-block-heading\">RAM<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Running out of RAM is a catastrophic failure. If a CPU gets overloaded, your site slows down; if memory runs out, the server starts using slow disk space as temporary RAM (swapping). Once it exhausts swap, the Linux kernel\u2019s \u201cOut-of-Memory Killer\u201d tool is triggered to terminate processes, usually your main database, usually at the worst possible time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To prevent crashes and answer the question, &#8220;How much RAM do I need for a VPS?&#8221;, calculate your memory requirement by adding up each component. Use the table below as a guideline.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each figure is either an official vendor minimum or a default setting.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Component<\/strong><\/td><td><strong>Realistic Memory Needed<\/strong><\/td><td><strong>Figure Source<\/strong><\/td><\/tr><tr><td>Linux Base Install (OS)<\/td><td>0.5-1 GB idle<\/td><td>Official Ubuntu specs require 1.5 GB min for ISO installs and suggest 3 GB.<\/td><\/tr><tr><td>Web server (nginx\/Apache)<\/td><td>100-300 MB<\/td><td>Increases with visitor count<\/td><\/tr><tr><td>PHP-FPM<\/td><td>50-150 MB per task (worker)<\/td><td>PHP&#8217;s default <em>memory_limit<\/em> is 128M per task<\/td><\/tr><tr><td>MySQL \/ MariaDB<\/td><td>50% total RAM (1-4 GB)<br>&nbsp;75% total RAM (above 4 GB)<\/td><td>MySQL&#8217;s &#8211;innodb-dedicated-server sizing table<\/td><\/tr><tr><td>Redis or Memcached<\/td><td>128 MB-1 GB<\/td><td>Depends on the <em>maxmemory<\/em> configured<\/td><\/tr><tr><td>cPanel &amp; WHM<\/td><td>2 GB minimum, 4 GB recommended<\/td><td>Official cPanel system requirements<\/td><\/tr><tr><td>ClamAV (Antivirus)<\/td><td>3 GB minimum<\/td><td>cPanel strongly recommends 3 GB if enabled<\/td><\/tr><tr><td>Node.js Application<\/td><td>200 MB-1 GB per process<\/td><td>Depends on the app and code<\/td><\/tr><tr><td>Docker Engine + Containers<\/td><td>100 MB + each container&#8217;s memory<\/td><td>Containers do not remove memory cost<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The PHP-FPM line is where most server sizing goes wrong. PHP&#8217;s default <em>memory_limit<\/em> is 128 MB per active website request. If you have 20 concurrent requests at 128 MB each, PHP alone can use 2.5 GB of RAM during heavy traffic, even though it uses almost nothing when idle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Standard WordPress sites use page caching to store static content to save memory. Interactive sites, WooCommerce checkouts, membership site login portals, or LMS platforms using video process every request dynamically. This completely bypasses caching and hits RAM hard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s an example of a WooCommerce store with the wrong sizing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cPanel &amp; WHM: 2.0 GB<\/li>\n\n\n\n<li>MySQL on a 4 GB box (50% of 4 GB): 2.0 GB<\/li>\n\n\n\n<li>Apache + PHP-FPM, 8 workers \u00d7 128 MB: 1.0 GB<\/li>\n\n\n\n<li>Linux Base System: 0.7 GB<\/li>\n\n\n\n<li>Total RAM Needed: 5.7 GB<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Simple math shows the store won\u2019t run on 4 GB RAM; it needs 8 GB. Not doing the calculation before ordering is the main reason plans get returned or upgraded in the first month.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Always leave 20-30% headroom as a buffer. Traffic fluctuates, backups need temporary memory, updates need space to process. A server running at 95% memory capacity will crash as soon as something unexpected happens.<\/p>\n\n\n\n<h4 id=\"virtual-cpu-v-cpu\" class=\"wp-block-heading\">Virtual CPU (vCPU)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">A vCPU is a shared slice of a host\u2019s physical processor core, not one dedicated to you. Adding vCPUs increases how many tasks your server can handle simultaneously but doesn\u2019t speed up individual tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the most misunderstood <a href=\"https:\/\/www.domains.co.za\/blog\/amd-epyc-processors\/\" alt=\"Link to Domains.co.za Blog - Introducing our Epyc VPS Hosting Featuring the AMD EPYC Processors\" title=\"Domains.co.za - Introducing our Epyc VPS Hosting Featuring the AMD EPYC Processors\" target=\"_blank\" rel=\"noopener\">spec on VPS hosting pages<\/a> and causes a common, expensive mistake: a site is slow, so people buy more vCPU cores, and the site stays exactly as slow. This is because extra cores won&#8217;t fix underlying problems like unoptimized database queries, a slow plugin blocking an external API, or lack of RAM causing server strain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>More vCPUs help when:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Multiple requests hit dynamic pages like an uncached checkout page or a busy API at once.<\/li>\n\n\n\n<li>Running background parallel processing like video transcoding, image processing, compressing backups, and compiling code while serving active traffic<\/li>\n\n\n\n<li>Hosting several individual sites for different clients on one server.<\/li>\n\n\n\n<li>You have always-on background processes that need a core, like trading expert advisors, queue workers, and WebSocket servers.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image wp-block-image size-full\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.domains.co.za\/blog\/wp-content\/uploads\/2026\/09\/what-is-vps-hosting-03-1.webp\" alt=\"Choosing a VPS depends on the site or application you run\" title=\"Choosing a VPS depends on the site or application you run\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>More vCPUs don\u2019t help when:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The database is the problem. Fix query indexing or add more RAM instead.<\/li>\n\n\n\n<li>Site storage is the bottleneck. Your disk doesn\u2019t read\/write data fast enough.<\/li>\n\n\n\n<li>Traffic is low, and requests are slow. That is a code or plugin issue.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can check by running the <em>top<\/em> command in your terminal and comparing your load average to your total vCPU count:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Load average is consistently higher:<\/strong> Your CPU is overwhelmed, and buying more cores will help.<\/li>\n\n\n\n<li><strong>Load average is lower, but pages are slow:<\/strong> The problem is somewhere else, and buying more cores is money down the drain.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The rule of thumb for standard workloads is a 1 vCPU-per-2 GB of RAM ratio, which most VPS hosting plans follow. Only deviate from it if you have a good reason, like compute-heavy tasks that need more cores per gigabyte. Database-heavy sites and caching need more RAM per vCPU core.<\/p>\n\n\n\n<h4 id=\"nv-me-storage\" class=\"wp-block-heading\">NVMe Storage<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Storage is where the biggest performance differences hide, mainly because most providers\u2019 spec sheets use &#8220;SSD&#8221; to describe two very different things.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SATA SSDs use an older protocol, AHCI, designed for mechanical drives. It can only process 1 queue of up to 32 commands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NVMe SSDs use <a href=\"https:\/\/nvmexpress.org\/\" alt=\"Link to NVM Express - NVM Express\" title=\"NVM Express - NVM Express\" target=\"_blank\" rel=\"noopener\">NVM Express over PCIe<\/a>, a protocol designed for fast flash memory. It supports up to 65,535 queues of up to 65,536 commands each and processes requests with far less overhead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The gap barely shows in a single large file copy (the benchmark everyone quotes), but shows a massive difference in actual website workloads. Web servers and databases generate thousands of small, concurrent, random data reads and writes (fetching database rows, loading PHP files, and writing user sessions). NVMe handles simultaneous requests effortlessly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is why a database that feels slow on SATA&nbsp; becomes faster on NVMe without upgrading RAM or CPU. For VPS performance, storage speed (IOPS) matters more than size. Ask if the storage is NVMe, and if the page says &#8220;SSD&#8221;, ask again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To size how much disk space you need, add these up:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>OS &amp; packages:<\/strong> 10\u201320 GB<\/li>\n\n\n\n<li><strong>Control panel (cPanel):<\/strong> 20 GB minimum, 40 GB recommended<\/li>\n\n\n\n<li><strong>Website files &amp; uploads:<\/strong> Measure with <em>du -sh \/var\/www<\/em><\/li>\n\n\n\n<li><strong>Database:<\/strong> Measure, then double for growth and maintenance<\/li>\n\n\n\n<li><strong>Local backups:<\/strong> 1\u00d7 to 3\u00d7 your site and database size (if stored on server)<\/li>\n\n\n\n<li><strong>Logs:<\/strong> 5-10 GB (more if detailed)<\/li>\n\n\n\n<li><strong>Free Headroom:<\/strong> 20% minimum<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The two lines people forget are logs and free space. A filesystem at 100% will stop MySQL databases from writing and mysteriously crash your site until you run <em>df -h<\/em> and see your drive is full.<\/p>\n\n\n\n<h4 id=\"bandwidth-and-what-unlimited-means\" class=\"wp-block-heading\">Bandwidth, and What &#8220;Unlimited&#8221; Means<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.domains.co.za\/windows-vps-hosting\" alt=\"Link to Domains.co.za - VPS Hosting - Windows\" title=\"Domains.co.za - VPS Hosting - Windows\" target=\"_blank\" rel=\"noopener\">Our VPS plans<\/a> offer unlimited traffic, backed by a simple fair-use policy: throttling only kicks in if your account exceeds 20 TB (20,000 GB) of data transfer in a single month.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For context, an average business website getting 100,000 monthly page views at 2 MB per page uses roughly 200 GB (1%) of that threshold. If you run a standard site, bandwidth won\u2019t be an issue. If you stream video or host huge files, work out your transfer needs first.<\/p>\n\n\n\n<h3 id=\"what-vps-hosting-type-to-choose-five-examples\" class=\"wp-block-heading\">What VPS Hosting Type To Choose: Five Examples<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Here are 5 <a href=\"https:\/\/www.domains.co.za\/vps-hosting\" alt=\"Link to Domains.co.za - VPS Hosting - Linux\" title=\"Domains.co.za - VPS Hosting - Linux\" target=\"_blank\" rel=\"noopener\">VPS Hosting<\/a> types and what they work best for.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Small business site or blog<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress with page cache, no ecommerce, and under about 50,000 monthly page views.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If this describes you and everything is working, <a href=\"https:\/\/www.domains.co.za\/web-hosting-south-africa\" alt=\"Link to Domains.co.za - Web Hosting\" title=\"Domains.co.za - Web Hosting\" target=\"_blank\" rel=\"noopener\">Shared Hosting<\/a> is probably the better option. Choose VPS only if you need root access or need software a shared stack can\u2019t run.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recommended:<\/strong> 2 GB RAM \u00b7 1 vCPU \u00b7 50 GB NVMe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. WooCommerce store<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Moderate-high order volume, logged-in customers, and checkout bypassing the page cache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stores are memory-hungry because carts and sessions can\u2019t be cached. Add a control panel, and 8 GB stops being too much and becomes the correct amount.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recommended:<\/strong> 8 GB RAM \u00b7 4 vCPU \u00b7 200 GB NVMe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Agency or freelancer hosting client sites<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ten to twenty small-to-medium websites with cPanel on one server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/webmail.cpanel.net\/\" alt=\"Link to cPanel - Webmail Login\" title=\"cPanel - Webmail Login\" target=\"_blank\" rel=\"noopener\">cPanel takes 2\u20134 GB<\/a> before hosting a single site, and each site has its own PHP-FPM pool and database. The fail point here isn\u2019t average traffic; it\u2019s multiple clients running backups at the same time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recommended:<\/strong> 16 GB RAM \u00b7 6 vCPU \u00b7 400 GB NVMe<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. A SaaS Application or Web API<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stacks running Node.js or Python with Docker, Redis, a queue worker, and a MySQL database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Size the database first, add the application processes, then add 30% for deployment overhead to prevent freezing because deploying updates briefly runs two copies of everything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recommended Specs:<\/strong> 16-24 GB RAM \u00b7 6-8 vCPU \u00b7 400-600 GB NVMe<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Trading Automation<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MetaTrader Expert Advisor (EA) bots, running continuously.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Specs are secondary here. Uptime, network stability, and low latency to your broker&#8217;s server matter more. Check where your broker&#8217;s execution server is before optimizing anything else, because a Johannesburg-based VPS only helps if your broker is reachable from Johannesburg quickly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Recommended Specs:<\/strong> 4 GB RAM \u00b7 2 vCPU \u00b7 400 GB NVMe<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Workload<\/strong><\/td><td><strong>RAM<\/strong><\/td><td><strong>vCPU<\/strong><\/td><td><strong>NVMe<\/strong><\/td><td><strong>Linux Plan<\/strong><\/td><\/tr><tr><td>One cached site, low traffic<\/td><td>2 GB<\/td><td>1<\/td><td>50 GB<\/td><td>Epyc VPS 1<\/td><\/tr><tr><td>Two or three small sites, or one busy blog<\/td><td>4 GB<\/td><td>2<\/td><td>100 GB<\/td><td>Epyc VPS 2<\/td><\/tr><tr><td>Store with real orders, or a small control-panel server<\/td><td>8 GB<\/td><td>4<\/td><td>200 GB<\/td><td>Epyc VPS 3<\/td><\/tr><tr><td>Agency hosting 10-20 client sites<\/td><td>16 GB<\/td><td>6<\/td><td>400 GB<\/td><td>Epyc VPS 4<\/td><\/tr><tr><td>SaaS or API with a database and queue<\/td><td>24 GB<\/td><td>8<\/td><td>600 GB<\/td><td>Epyc VPS 5<\/td><\/tr><tr><td>Multiple heavy applications, or a database serving other machines<\/td><td>32 GB+<\/td><td>12+<\/td><td>1 TB+<\/td><td>Epyc VPS 6 and above<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If your calculations land between two plans, choose the larger one, then check your usage in month two.<\/p>\n\n\n\n<h3 id=\"headroom-monitoring-and-when-to-upgrade\" class=\"wp-block-heading\">Headroom, Monitoring and When to Upgrade<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Size your server for the next six months, not the next three years. Buying more resources than you need wastes money. Idle CPU cores and unused RAM won&#8217;t speed up your site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set three thresholds and check them monthly:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>RAM:<\/strong> Upgrade when available memory is regularly below 20%, or when your server starts using swap under normal traffic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CPU:<\/strong> Upgrade when the 15-minute load average is higher than your vCPU count during normal business hours, not during short backup spikes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Disk:<\/strong> Upgrade at 80% capacity. Never wait for 95%; a full disk crashes a site without warning.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For monitoring, run the <em>vmstat 1<\/em> command for an instant system check. Look at the <em>si<\/em> (swap-in) and <em>so<\/em> (swap-out) columns. If they are higher than zero, your server is running out of RAM, and it&#8217;s time to upgrade.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before buying with any hosting provider, ask if upgrading is a live resize (instant resource boost) or a rebuild-and-migrate (moving to a new server). Knowing this in advance helps you size your plan correctly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.domains.co.za\/vps-hosting\" alt=\"Link to Domains.co.za - VPS Hosting - Linux\" title=\"Domains.co.za - VPS Hosting - Linux\" target=\"_blank\" rel=\"noopener\">Domains.co.za VPS plans<\/a> allow easy upgrades, and our downgrade terms are listed in the FAQ on our VPS Hosting page.<\/p>\n\n\n\n<h3 id=\"two-traps-to-avoid\" class=\"wp-block-heading\">Two Traps to Avoid<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Over-Buying<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Paying for capacity to feel safe. A 16 GB VPS running a 2 GB workload isn\u2019t more reliable or faster than an 8 GB one; it just costs twice as much. You&#8217;d be better off spending that money on more frequent backups or hiring an expert to optimize your database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Under-Buying<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Buying the cheapest plan and planning to upgrade &#8220;when it becomes a problem&#8221;. It\u2019ll become a problem during your busiest times, which is exactly when you don\u2019t want to be resizing a server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are still deciding whether a VPS is the right kind of hosting at all, start with the companion guide: <a href=\" https:\/\/www.domains.co.za\/blog\/how-to-make-money-from-a-website\/ \" alt=\"Link to Domains.co.za Blog - How To Make Money From A Website\" title=\"Domains.co.za - How To Make Money From A Website\" target=\"_blank\" rel=\"noopener\">What is VPS hosting? A South African guide<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.domains.co.za\/n8n-vps-hosting\" alt=\"Link to Domains.co.za - n8n VPS Hosting\" title=\"Domains.co.za - n8n VPS Hosting\" target=\"_blank\" rel=\"noopener\">\n<img decoding=\"async\" src=\"https:\/\/www.domains.co.za\/blog\/wp-content\/uploads\/2026\/09\/what-is-vps-hosting-04-1.webp\" alt=\"Strip Banner Text - Get the Right VPS Hosting Plan for your Workload [Learn More]\" title=\"Get the Right VPS Hosting Plan for your Workload [Learn More]\"><\/a><\/figure>\n\n\n\n<h4 id=\"how-to-choose-the-perfect-domain-name\" class=\"wp-block-heading\">How to Choose the Right Web Hosting Plan for Your Website<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>VIDEO:<\/strong> <a href=\"https:\/\/www.youtube.com\/watch?v=3IzK1yuOFRc\" alt=\"Link to Domains.co.za - How to Choose the Right Web Hosting Plan for Your Website\" title=\"Domains.co.za - How to Choose the Right Web Hosting Plan for Your Website\" target=\"_blank\" rel=\"noopener\">How to Choose the Right Web Hosting Plan for Your Website<\/a><\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/3IzK1yuOFRc\" alt=\"Domains.co.za YouTube - How to Choose the Right Web Hosting Plan for Your Website\" title=\"Domains.co.za YouTube - How to Choose the Right Web Hosting Plan for Your Website\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<h4 id=\"fa-qs\" class=\"wp-block-heading\">FAQS<\/h4>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1788765912757\" class=\"rank-math-list-item\">\n<h6 class=\"rank-math-question \">How much RAM does a VPS need?<\/h6>\n<div class=\"rank-math-answer \">\n\n<p>Between 2 GB and 8 GB covers most websites. A single cached WordPress site runs on 2 GB. A store with real order volume needs 8 GB. Adding cPanel adds a minimum of 2 GB and 4 GB recommended before your own software gets any. Above that, you are sizing an application, not a website, and the arithmetic should come from measurement.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1788765922746\" class=\"rank-math-list-item\">\n<h6 class=\"rank-math-question \">Is 2 GB of RAM enough for a VPS?<\/h6>\n<div class=\"rank-math-answer \">\n\n<p>Yes, for one WordPress site with a page cache and moderate traffic, running without a control panel. No, for a WooCommerce store, a cPanel server, anything running Docker with several containers, or a site where most visitors are logged in. If your plan involves cPanel, 2 GB is the documented minimum for the panel alone.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1788765932454\" class=\"rank-math-list-item\">\n<h6 class=\"rank-math-question \">How many vCPUs do I need?<\/h6>\n<div class=\"rank-math-answer \">\n\n<p>Start with 1 vCPU per 2 GB of RAM, then adjust based on measurements. Run top if the 15-minute load average sits above your vCPU count during normal hours; add cores. If load is below the core count and pages are still slow, the problem is the database, the code, or the storage, and more cores won&#8217;t fix it.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1788765940796\" class=\"rank-math-list-item\">\n<h6 class=\"rank-math-question \">NVMe or SSD &#8211; does it actually matter?<\/h6>\n<div class=\"rank-math-answer \">\n\n<p>Yes, for a database-backed site. NVMe supports up to 65,535 queues of up to 65,536 commands each; SATA&#8217;s AHCI protocol supports one queue of 32. That gap barely shows in a large file copy but shows dramatically under the thousands of small concurrent reads a busy database generates.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1788765949992\" class=\"rank-math-list-item\">\n<h6 class=\"rank-math-question \">How much disk space do I need?<\/h6>\n<div class=\"rank-math-answer \">\n\n<p>Measure your current site with du -sh, double the database figure for growth and maintenance, add 20 GB for the operating system, add 20\u201340 GB if you use cPanel, add space for logs and local backups, then leave 20% free.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<h4 id=\"ot\" class=\"wp-block-heading\">Other Blogs of Interest<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a alt=\"Link to Domains.co.za Blog - n8n VPS Hosting - Run Unlimited Automations On Your Private Server\" title=\"Domains.co.za - n8n VPS Hosting - Run Unlimited Automations On Your Private Server\" href=\"https:\/\/www.domains.co.za\/blog\/n8n-vps-hosting\/\" target=\"_blank\" rel=\"noopener\">n8n VPS Hosting &#8211; Run Unlimited Automations On Your Private Server<\/a><\/li>\n\n\n\n<li><a alt=\"Link to Domains.co.za Blog - How To Make Money From A Website\" title=\"Domains.co.za - How To Make Money From A Website\" href=\" https:\/\/www.domains.co.za\/blog\/how-to-make-money-from-a-website\/ \" target=\"_blank\" rel=\"noopener\">How To Make Money From A Website<\/a><\/li>\n\n\n\n<li><a alt=\"Link to Domains.co.za Blog - 7 Web Hosting Trends South African SMEs Should Watch\" title=\"Domains.co.za - 7 Web Hosting Trends South African SMEs Should Watch\" href=\"https:\/\/www.domains.co.za\/blog\/web-hosting-trends\/\" target=\"_blank\" rel=\"noopener\">7 Web Hosting Trends South African SMEs Should Watch<\/a><\/li>\n\n\n\n<li><a alt=\"Link to Domains.co.za Blog - Best Web Hosting Providers In South Africa 2026: Compared And Ranked\" title=\"Domains.co.za - Best Web Hosting Providers In South Africa 2026: Compared And Ranked\" href=\"https:\/\/www.domains.co.za\/blog\/best-web-hosting-providers\/\" target=\"_blank\" rel=\"noopener\">Best Web Hosting Providers In South Africa 2026: Compared And Ranked<\/a><\/li>\n\n\n\n<li><a alt=\"Link to Domains.co.za Blog - Domains.co.za Launches Their Cutting-Edge Managed cPanel Hosting Solution\" title=\"Domains.co.za - Domains.co.za Launches Their Cutting-Edge Managed cPanel Hosting Solution\" href=\"https:\/\/www.domains.co.za\/blog\/launching-managed-cpanel-hosting\/\" target=\"_blank\" rel=\"noopener\">Domains.co.za Launches Their Cutting-Edge Managed cPanel Hosting Solution<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This blog will explain how much RAM do I need for a VPS. When choosing a Virtual Private Server (VPS) plan, the wrong sizing can lead directly to poor performance and wasted money. Too little RAM and storage can bring down your site, and extra vCPU cores will not fix slow plugins or bad code. The safest way is to measure VPS specs first instead of guessing. The golden rule is memory first, storage second, and CPU last. In this guide, we&#8217;ll show you how to size RAM, vCPU, and NVMe storage for your specific workload. We\u2019ll also cover bandwidth, VPS Hosting types, and when to upgrade. KEY TAKEAWAYS Choose a VPS plan by sizing RAM first, storage second, and vCPU last, because memory shortages cause the fastest and most serious <a alt='How To Choose A VPS Plan: Sizing RAM, vCPU, And NVMe For Your Workload' title='How To Choose A VPS Plan: Sizing RAM, vCPU, And NVMe For Your Workload' href='https:\/\/www.domains.co.za\/blog\/how-to-choose-a-vps-plan\/' class='moreElipsis'>[&#8230;]<\/a><\/p>\n","protected":false},"author":6,"featured_media":4901,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1878],"tags":[1891],"class_list":["post-4894","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps-hosting","tag-vps-hosting-how-to-choose-a-vps-plan"],"_links":{"self":[{"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/posts\/4894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/comments?post=4894"}],"version-history":[{"count":3,"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/posts\/4894\/revisions"}],"predecessor-version":[{"id":4906,"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/posts\/4894\/revisions\/4906"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/media\/4901"}],"wp:attachment":[{"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/media?parent=4894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/categories?post=4894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.domains.co.za\/blog\/wp-json\/wp\/v2\/tags?post=4894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}