---
title: "Single thread vs multi thread CPU: what matters on a server | StreetHosting"
description: "Why game servers depend on per-core performance while databases and parallel APIs use many cores, how to find the bottleneck on Linux, and which CPU to pick."
url: "https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu"
type: "page"
language: "en-US"
---

Infrastructure · 11 min · Intermediate

Published on Sep 28, 2026 · Updated on Sep 28, 2026

# Per-core performance or more cores: how each server uses the CPU

A game server can lag with the CPU at 25% while a database puts every core it can find to work. Learn where that difference comes from, how to tell which side your application is on, and what kind of vCPU to buy.

By [Equipe StreetHosting](https://streethosting.com.br/en/autores#equipe-streethosting) · StreetHosting infrastructure and support team

[Hardware and datacenter](https://streethosting.com.br/en/guides/topics/hardware)

Summarize with:

[](https://chat.openai.com/?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "ChatGPT") [](https://claude.ai/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Claude") [](https://www.google.com/search?udm=50&aep=11&q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Google AI Mode") [](https://x.com/i/grok?text=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Grok") [](https://www.perplexity.ai/search/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Perplexity")

Share:

[](https://x.com/intent/tweet?text=Single%20thread%20vs%20multi%20thread%20CPU%3A%20what%20matters%20on%20a%20server&url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu "Share on X") [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu "Share on Facebook") [](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu "Share on LinkedIn") [](https://wa.me/?text=Single%20thread%20vs%20multi%20thread%20CPU%3A%20what%20matters%20on%20a%20server%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fsingle-thread-vs-multi-thread-cpu "Share on WhatsApp")

For agents: Copy as Markdown [.md](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu.md)

In this guide 7 sections

* [Single thread and multi thread](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#conceitos)
* [Why games depend on a single core](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#jogos)
* [Where multiple cores make a difference](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#cargas-paralelas)
* [Workload type and what it needs](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#tabela-de-cargas)
* [How to find your bottleneck](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#como-medir)
* [What this changes when choosing a VPS](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#escolha-da-vps)
* [Which CPU to choose](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#onde-rodar)

Quick answer

When choosing between a **single thread vs multi thread CPU**, what decides it is how your software splits up its work. Game servers like Minecraft, CS2 and FiveM run the simulation in one main loop and depend on a fast core. Databases with many connections, web servers with several workers, queues and compilation spread the work out and take advantage of several cores. More vCPUs only help when the program can actually use them all.

## What single thread and multi thread performance mean[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#conceitos)

A thread is a sequence of instructions the processor executes in order. Single thread performance is how much work a single core gets done per second on one of those sequences. It comes from two things multiplied together: the frequency, in cycles per second, and the IPC, how many instructions the core completes each cycle. Multi thread performance is the sum of what every core does at the same time, as long as there is independent work for each one.

The two numbers do not move together. An older server processor can have many slow cores and add up to a lot in multi thread, while a recent desktop processor has fewer cores, each one much faster. Which of the two wins depends entirely on the program that is going to run.

* **Core:** the physical unit that executes instructions.
* **Hardware thread:**with SMT, each core presents itself to the system as two threads that share that core's resources. Two threads on the same core get more done than one, but they are not worth two cores.
* **vCPU:**on a VPS, the virtual CPU the hypervisor schedules on top of the physical processor's threads. It is the number the `nproc` command shows inside the virtual machine.
* **Clock and IPC:** because the two multiply, a recent-generation core at 5.7 GHz can do well over twice the work of a 2016 core with a 3.3 GHz turbo.

## Why game servers depend on a single core[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#jogos)

A game server works in cycles. On every cycle, called a tick, it reads player actions, moves entities, applies physics and rules, and sends the new state to everyone. Each step depends on the result of the previous one: you cannot move the player before knowing whether they collided, nor send the state before computing it. That chain of dependencies is why the simulation stays stuck on one main thread.

Minecraft is the clearest example. The server targets 20 ticks per second, which leaves 50 ms to close each cycle. If a tick takes 70 ms because the core could not keep up with farms, redstone and entities, TPS drops and everyone feels the delay, no matter how many cores are sitting idle next to it. Paper and similar forks move chunk loading and other tasks off the main path, but the simulation stays on one thread. The well-known exception is Folia, which splits the world into regions processed in parallel, at the cost of being incompatible with a large share of plugins. The guide on [Minecraft TPS](https://streethosting.com.br/en/guides/minecraft/what-is-tps-minecraft) covers how to measure this in the game.

The same pattern shows up in other games. In CS2, each instance concentrates the simulation on one thread, so two simultaneous matches call for two cores with headroom. In FiveM, server scripts run on the main flow and one heavy script delays the others, which is exactly what the `server thread hitch warning` message in the console is telling you. Servers built on game engines generally follow the same logic of one thread setting the pace.

That is where the situation that confuses game server admins the most comes from: the server lags with the CPU apparently at 25%. On a 4 vCPU VPS, one saturated thread takes up exactly a quarter of the total capacity. The control panel shows headroom, but the core that matters is maxed out.

Amdahl's law sums up the problem: if half of a program's work cannot be split, not even infinite cores will make it more than twice as fast. On a game server, the part that cannot be split is almost everything, which is why the speed of one core rules.

## Where multiple cores make a difference[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#cargas-paralelas)

On the other side are workloads made of many independent tasks. When a hundred users make a hundred different requests, nothing stops each one from running on its own core. Here the sum weighs more than individual speed.

* **Web servers and proxies:** Nginx creates one worker per core and spreads connections across them. PHP FPM serves each request in a separate process.
* **Relational databases:** PostgreSQL opens one process per connection and MySQL one thread per connection, so many simultaneous queries spread across the cores. Each query, however, almost always runs on a single core, and there the clock counts again. PostgreSQL can split some large queries among parallel workers, but that is the exception.
* **Queues and workers:** image processing, bulk email sending, scheduled tasks and queue consumers scale by putting more processes side by side.
* **Compilation, CI and video:** make with several jobs, Docker image builds and ffmpeg use every core they can find.
* **Several applications on the same machine:** five small containers, each with its own process, add up to a multi thread load even if each one on its own is single thread.

### The case of Node.js, Python and Redis[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#node-python-redis)

Some widely used platforms are single thread per process. Node.js runs each process's JavaScript on a single thread with an event loop. A Node.js API with one process uses, in practice, one core for your code. To take advantage of more vCPUs, you run several copies, using the cluster mode explained in [setting up PM2 with systemd on a VPS](https://streethosting.com.br/en/guides/vps/pm2-vs-systemd-nodejs).

Traditional Python has a global lock, the GIL, which stops two threads from executing Python code at the same time in the same process. Recent versions have a variant without that lock, but the standard way to scale in production is still several workers with Gunicorn or Uvicorn. Redis, for its part, executes commands on one main thread, so the speed of one core defines how many operations per second it can handle.

## Workload type and what it needs from the CPU[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#tabela-de-cargas)

The table sums up the most common cases. The middle column says what limits the workload; the right one, which kind of CPU usually delivers the most for the money.

| Workload                                         | What limits it                  | CPU that usually delivers more                   |
| ------------------------------------------------ | ------------------------------- | ------------------------------------------------ |
| Minecraft server (Paper, Spigot, modpacks)       | One fast core                   | Ryzen with a high clock                          |
| CS2, FiveM, Rust and simulation games            | One fast core per instance      | Ryzen, with one free core per instance           |
| Several game instances on the same machine       | Fast cores, and plenty of them  | Ryzen with more vCPUs                            |
| Node.js API with one process                     | One fast core                   | Ryzen; more vCPUs only with cluster              |
| API with several workers (PM2 cluster, Gunicorn) | Several cores                   | Ryzen if latency matters, Xeon if volume matters |
| PostgreSQL or MySQL with many light connections  | Several cores                   | Xeon or Ryzen                                    |
| Database with a few heavy queries                | One fast core per query         | Ryzen                                            |
| Redis                                            | One fast core                   | Ryzen                                            |
| Nginx serving static files and reverse proxy     | Little CPU, scales with workers | Either line                                      |
| Queues, workers and batch jobs                   | Several cores and memory        | Xeon for the amount of vCPU and RAM per real     |
| Compilation, CI and video encoding               | Several fast cores              | Ryzen if time matters, Xeon if cost matters      |

## How to find your server's bottleneck[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#como-medir)

No need to guess. With the application under real load, a few commands show whether the problem is one saturated core or the whole machine.

1. Check how many vCPUs the VPS has with `nproc`.
2. Open `top` and press 1 to see each core separately. One core near 100% while the others rest is a single thread bottleneck. All of them high at the same time is a shortage of cores.
3. In the same top, look at the process's %CPU column: 100% equals one whole core. A Minecraft Java process parked at around 100% on a 4 vCPU VPS is limited by the main thread, not by the number of vCPUs.

For a more precise picture, install the sysstat package. mpstat shows the usage of each vCPU every second, and pidstat lists the threads of a process with each one's consumption. Replace `PID_DO_PROCESSO` with the number that appears in top.

`sudo apt update && sudo apt install -y sysstat mpstat -P ALL 1 5 pidstat -t -p PID_DO_PROCESSO 1 5`

If one pidstat thread stays near 100% and the rest near zero, you have found the main thread, and only a faster core will fix it. If all threads share the load and mpstat shows every vCPU high, more cores will fix it.

### Comparing single and multi thread with sysbench[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#sysbench)

`sudo apt install -y sysbench sysbench cpu --threads=1 --time=20 run sysbench cpu --threads=$(nproc) --time=20 run`

Compare the events per second value across the two runs. The first number measures one core; the second, the whole machine. If you are choosing between two plans, run both tests on both: for games, the first one rules; for a processing queue, the second. Repeat at different times of day, because on a VPS the result varies with the host's load.

On a VPS, a core that looks slow can also be contention on the host. If top shows a high value in the st field, the problem is not in your code or in the architecture, it is [CPU steal on the VPS](https://streethosting.com.br/en/guides/vps/what-is-cpu-steal-vps), which is diagnosed a different way.

## What this changes when choosing a VPS[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#escolha-da-vps)

The practical rule is to first find out which side your workload is on and only then pick the type of vCPU. Comparing plans by vCPU count alone leads to the classic mistake of buying many slow cores for a game server. The actual prices of the two VPS lines show the dilemma: for similar money, the Xeon line delivers twice the vCPUs and more memory than the Ryzen line.

| Price range   | Ryzen 9 9950X VPS              | Xeon E5-2680 v4 VPS            |
| ------------- | ------------------------------ | ------------------------------ |
| Around R$ 115 | R$ 118.00: 4 vCPU, 8 GB DDR5   | R$ 111.00: 8 vCPU, 12 GB DDR4  |
| Around R$ 215 | R$ 222.00: 6 vCPU, 16 GB DDR5  | R$ 213.00: 12 vCPU, 24 GB DDR4 |
| Around R$ 420 | R$ 430.00: 10 vCPU, 32 GB DDR5 | R$ 417.00: 20 vCPU, 48 GB DDR4 |

For a Minecraft server, the Ryzen's 4 vCPUs outperform the Xeon's 8, because the game depends on one core and each 9950X core, with boost up to 5.7 GHz and a 2024 architecture, does far more work than a Xeon core with turbo up to 3.3 GHz and a 2016 architecture.

For parallel load, the math gets more balanced. The Xeon brings more vCPUs and more memory for similar money, which helps when there are many simultaneous processes waiting on network or disk and when memory is the limit. In pure CPU processing, the Ryzen's faster cores make up for a good part of the difference in count, so it is worth running sysbench on both before deciding. The full comparison of the two families is in [Ryzen VPS vs Xeon VPS](https://streethosting.com.br/en/guides/vps/ryzen-vs-xeon-vps).

## Which CPU to choose at StreetHosting[](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#onde-rodar)

* **Main thread workloads:** games, Redis and single-process APIs go to the [Ryzen 9 9950X VPS](https://streethosting.com.br/en/vps/ryzen), with DDR5 and boost up to 5.7 GHz, from R$ 40.00 (1 vCPU and 2 GB) to R$ 846.00 (14 vCPUs and 64 GB). For a game server, 4 vCPUs and 8 GB for R$ 118.00 is the most common starting point. The differences between the Ryzen generations are in [Ryzen 9 9950X vs 5900XT](https://streethosting.com.br/en/guides/vps/ryzen-9-9950x-vs-5900xt).
* **Parallel load, many processes and more memory per real:** [Xeon VPS](https://streethosting.com.br/en/vps/xeon), from R$ 26.00 (2 vCPUs and 2 GB) to R$ 553.00 (24 vCPUs and 64 GB), with an average latency of 20 ms in Brazil.
* **A whole machine for both:** the Extreme SM dedicated server delivers the full 9950X, with 16 cores, 32 threads and 128 GB DDR5, for R$ 2,229.00. The Intel Mid Large pairs two Xeon E5-2680 v4, with 28 cores and 56 threads in total, and 384 GB DDR4 ECC for R$ 3,799.00. Both are listed on the [dedicated servers](https://streethosting.com.br/en/dedicated) page.

Every VPS is in São Paulo, with KVM virtualization, NVMe, Anti-DDoS and root access. vCPU and memory upgrades are done from the control panel and charge only the difference, prorated to the billing cycle, with one VM restart to apply. That way you can start small, measure with the commands above and grow in the direction your workload asks for.

In this guide

* [Single thread and multi thread](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#conceitos)
* [Why games depend on a single core](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#jogos)
* [Where multiple cores make a difference](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#cargas-paralelas)
* [Workload type and what it needs](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#tabela-de-cargas)
* [How to find your bottleneck](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#como-medir)
* [What this changes when choosing a VPS](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#escolha-da-vps)
* [Which CPU to choose](https://streethosting.com.br/en/guides/infrastructure/single-thread-vs-multi-thread-cpu#onde-rodar)

## Frequently asked questions

Which is better for a server: more cores or a higher clock speed?

It depends on how the software splits its work. Game servers, Redis and single-process applications depend on one fast core, so a high clock and a recent architecture win. Databases with many connections, queues, web servers with several workers and compilation spread the work out and take advantage of more cores.

Why does my game server lag with the CPU at 25%?

Because the simulation runs on one main thread. On a 4 vCPU VPS, one maxed-out thread shows up as 25% of the total while the other cores sit idle. Open top and press 1 to see each core separately: if one is near 100%, the bottleneck is per-core performance.

Do more vCPUs fix lag on a Minecraft server?

Only up to a point. The server needs a few cores for the system, chunk loading and Java's garbage collector, but the tick stays on one thread. Going from 4 to 8 slow vCPUs barely changes TPS, while switching to faster cores does.

How do I know if my application uses multiple cores?

Put the application under load and watch it with top, pressing 1, or with mpstat. If only one core climbs, it is limited to one thread. pidstat with the threads option shows how much each thread of the process consumes and reveals which one is the main thread.

Does Node.js use multiple cores?

Each Node.js process runs its JavaScript on a single thread. To use more vCPUs, run several instances with PM2's cluster mode or with Node's own cluster module. Disk and crypto operations use an internal thread pool, but the application code stays on one.

Next step

See Ryzen VPS

Ryzen 9 9950X VPS in São Paulo with root access, NVMe and gamer Anti-DDoS.

[See Ryzen VPS](https://streethosting.com.br/en/vps/ryzen)

[See Xeon VPS Xeon VPS for steady workloads, automation and long-running projects.](https://streethosting.com.br/en/vps/xeon) [See dedicated servers Exclusive hardware in São Paulo with NVMe and Anti-DDoS.](https://streethosting.com.br/en/dedicated)

## Related guides

[VPS Beginner Ryzen VPS vs Xeon VPS: which CPU to choose for your server Choosing between a Ryzen VPS and a Xeon VPS comes down to the workload, not the brand on its own. This guide compares the actual processors behind the two lines on clock speed, per-core performance, stability and ECC memory, with practical scenarios and the price of every plan. 10 min Read guide](https://streethosting.com.br/en/guides/vps/ryzen-vs-xeon-vps) [VPS Intermediate Ryzen 9 9950X vs 5900XT for VPS: the real differences Both processors have 16 cores and 32 threads, but two architecture generations, almost 1 GHz of boost clock and a memory generation separate them. See where that gap shows up in practice and which of the two VPS lines you can actually order today. 11 min Read guide](https://streethosting.com.br/en/guides/vps/ryzen-9-9950x-vs-5900xt) [VPS Intermediate CPU steal on a VPS: what it is, how to measure it, what to do Steal time is the most direct sign that your virtual machine is competing for CPU with others on the same host. Learn to measure it, tell noise from a real problem and build a ticket that support can actually investigate. 9 min Read guide](https://streethosting.com.br/en/guides/vps/what-is-cpu-steal-vps)

[← Back to the Guide Center](https://streethosting.com.br/en/guides)
