{"id":78854,"date":"2026-10-04T03:35:22","date_gmt":"2026-10-04T03:35:22","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=78854"},"modified":"2026-10-04T03:35:24","modified_gmt":"2026-10-04T03:35:24","slug":"what-matters-more-for-vps-speed-the-processor-ram-or-the-disk","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-matters-more-for-vps-speed-the-processor-ram-or-the-disk\/","title":{"rendered":"What Matters More for VPS Speed, the Processor, RAM or the Disk?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">When a site on a server starts crawling, most people add CPU cores first, yet the real culprit is often somewhere else. Today\u2019s plans let you change each resource separately, so a correct diagnosis saves both money and time. This guide explains what each part does and how to find out which one is holding your server back.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How do the three resources fit together?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every request your server handles relies on three resources working together. The processor does the actual computation, RAM holds the data being worked on at that moment, and the disk stores everything else, from site files to the database. Since a request has to wait for the slowest of the three, upgrading a resource that was never the problem barely changes the result, which is why the first task is to find out where requests actually lose time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What does a processor mean on a virtual server?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A virtual core is a slice of a real processor, and on shared VPS hosting dozens of customers divide one physical machine between them. Usually you won\u2019t notice, but when the neighbours get busy at once, your programs wait their turn. Linux calls this lost time \u201csteal time\u201d, and the top command shows it as st. A short spike is harmless, while a figure that stays high for hours points to an overcrowded host, so it is worth asking the provider about another plan or server before you buy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why does a server need RAM?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Memory holds whatever the system is handling right now, plus a cache of recent files, which saves repeated trips to the disk. Linux therefore fills spare memory with cache, so a small free value is normal and the number to watch is available. When memory truly runs out, data moves to swap on the disk, which is far slower, and the whole server begins to drag. If swap fills up too, the OOM killer stops the biggest consumer, usually the database. In our view, a modest swap file is a sensible safety net, though a server that leans on it daily simply needs more memory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why does the disk affect speed?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A single web page can trigger dozens of small file reads and database lookups, and the disk handles them all. Hard drives must move mechanical parts to reach each piece, SATA SSDs are much quicker, and NVMe drives go further still, with lower latency and far more operations per second. Under heavy traffic, an NVMe VPS tends to suit sites with databases, online stores and mail servers. To see how these specs look in real plans, open the pricing page of almost any provider, for example <a href=\"https:\/\/bluevps.com\/\">https:\/\/bluevps.com\/<\/a>, and compare disk type, core count and memory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How can you tell which one is slowing the server?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Take an illustrative case, a WordPress store with low CPU load that still opens pages slowly because the processor mostly waits for the disk. To check your own server, four steps are enough:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Open top while the site feels slow and compare wa, the time spent waiting for the disk, with st, the time taken by other virtual servers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Run free -h, because low available memory together with busy swap points to a shortage of RAM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Start iostat -x 1, from the sysstat package, and watch how long disk requests wait in the queue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Change one thing at a time and repeat the measurements to see what made the difference.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What should you upgrade first on a tight budget?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Perhaps the best place to start is memory, since a shortage there slows everything at once and often looks like a processor problem, so many people pay for cores they never needed. Next comes the disk, because a faster one can do more for a busy site than doubling the core count, and the processor goes last, when your own measurements point at it. As we see it, caching at the website level is the other cheap win, since it takes pressure off all three resources at no extra cost.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When a site on a server starts crawling, most people add CPU cores first, yet the real culprit is often somewhere else. Today\u2019s plans let you change&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[11138],"tags":[],"class_list":["post-78854","post","type-post","status-publish","format-standard","hentry","category-best-tools"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/78854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=78854"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/78854\/revisions"}],"predecessor-version":[{"id":78855,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/78854\/revisions\/78855"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=78854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=78854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=78854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}