A Guide to Server CPU Performance: Cores, Threads, and Benchmarking with Linux
Overview
Your CPU runs all tasks on a server, from web pages to background processes. Modern CPUs have cores and threads which allow them to run multiple commands at once, improving performance. Most modern CPUs support virtualization for running virtual machines or containers.
The following guide explains CPU basics, how to check CPU specs on Linux, what cores, threads, and virtualization mean, and when to consider upgrading your CPU.
Parameters and Features of a Modern CPU
Cores
Your server’s CPU contains multiple cores, which you can think of as individual workers. Each core handles a single task (or ‘thread’) at a time. The more cores your server has, the more tasks it can run at once, which is essential for handling many applications or website visitors. Think of a CPU as a highway, where each core is a lane. A more powerful CPU is like a wider highway with more lanes; it can handle a higher volume of traffic (tasks) smoothly. Even during rush hour (high CPU load), the extra lanes help prevent the congestion that would slow down a smaller highway.
Many of our CPUs also feature Hyperthreading, a technology that allows each core to manage two threads instead of one. This effectively doubles your server’s task-handling capacity, ensuring it can run complex applications and provide a fast, smooth experience for a large number of simultaneous users. To extend the highway analogy, Hyperthreading is like stationing a highly efficient traffic cop that can manage two lanes of cars. The instant a car in one line hesitates or slows down (e.g., a task waiting for other data), the cop immediately waves a car from the second line forward. This process ensures no space is wasted and traffic flows constantly, maximizing the capacity of each lane.
Clock Speed
A CPU’s clock speed is measured in Gigahertz (GHz). Think of the clock speed as the metronome of the CPU, dictating the pace at which the processor executes individual tasks. Higher clock speeds mean tasks, like running an application or processing a web request, are completed faster. Think of a CPU’s clock speed like a car engine. The Base Speed is its reliable cruising speed, designed to run efficiently for hours without overheating. When you need extra power for a demanding task, the CPU can temporarily shift into Turbo Speed, providing a significant performance boost. This extra power is only used when conditions are safe, requiring sufficient power and low temperatures.
Thermal Throttling
Turbo Speed is great for short bursts, like loading a large page or running a backup, but it won’t last forever. If the CPU gets too hot, it will slow back down to its Base Speed, or lower automatically. This is called thermal throttling and it is designed to protect your processor from long- term damage caused by overheating. We employ significant cooling techniques at our datacenters to help prevent or reduce thermal throttling.
Benchmarking
Benchmarking is a way to see how fast and capable a CPU is. By running common workloads, such as running applications or processing large amounts of standardized data, benchmarks help you compare different processors, or understand how well your server handles specific tasks. An example method of benchmarking is available below.
Benchmark results can vary based on other factors such as CPU starting temperature or underlying Operating System workloads. Use them as a way to generally compare CPUs, not as exact measures of speed.
Threads
A thread is where tasks queue up and wait for execution on the CPU. When new requests, or tasks (instructions) come in, they filter into these queues (threads). Some CPUs can run more than one thread per core using Hyper-Threading (Intel) or SMT (AMD).
How it works:
- Every task (instruction) is given a score based on how long the CPU estimates it will take to process.
- If a CPU core determines a task will take too long and cause a delay in processing, it can pause that task and temporarily shift focus to its other queue (thread).
- The CPU will manage tasks across its Cores and Threads, allowing it to work on multiple things at the same time.
Cache
CPU cache is a small amount of very fast memory located inside the processor. The close physical proximity of the L1, L2, and L3 caches allows the CPU to store and access small amounts of frequently used data faster than it could with RAM. The larger and faster the cache, the better the CPU will perform.
Virtualization
If you want to run virtual machines or containers, your CPU needs virtualization support. On Intel CPUs, look for VT-x; on AMD, look for AMD-V.
Helpful virtualization articles:
- https://www.liquidweb.com/help-docs/server-administration/linux/how-to-install-kvm-on-ubuntu-step-by-step-guide/
- https://www.liquidweb.com/blog/how-to-set-up-virtualization-host-using-kvm-ubuntu/
Example CPU Offerings
| CPU | Cores | Base Speed | Turbo Speed | Hyper Threading Enabled | Cache |
| Intel E-2134 | 4 Cores | 3.50 GHz | 4.5 GHz | No | 8 MB |
| Intel E-2456 | 6 Cores | 3.30 GHz | 5.10 GHz | Yes | 18 MB |
| Intel 6526Y | 16 Cores | 2.8 GHz | 3.9 GHz | Yes | 37.5 MB |
| Dual Intel 6526Y | 32 Cores | 2.8 GHz | 3.9 GHz | Yes | 75 MB1 |
1Assumed combined cache = 2 × 37.5 MB = 75 MB (some dual-CPU systems list total cache as aggregate, others per chip).
Common Use Cases
/proc/cpuinfo
Shows your CPU model, cores, threads, cache, and features.
cat /proc/cpuinfo
If your server has many cores, the output can be long. Use:
cat /proc/cpuinfo | less
lscpu
Gives a quick summary of architecture, cores, threads, and virtualization.
lscpu
hwinfo
Shows more detailed info, including cache sizes and flags.
sudo hwinfo --cpu
hwinfo may not be installed by default. To install, use the following:
RHEL/CentOS
sudo yum install hwinfo
Ubuntu/Debian
sudo apt install hwinfo
Benchmarking Your CPU
Sysbench is a simple tool that tests CPU performance on Linux servers.
To install Sysbench, run on Ubuntu or Debian.
sudo apt-get install sysbench
On RHEL/CentOS, run:
sudo yum install sysbench
To test the CPU using one core:
sysbench cpu run
To test all CPU cores at once:
sysbench --threads="$(nproc)" cpu run
$(nproc) automatically detects the number of cores and runs the test across all of them.
The output includes:
- Events per second – how many operations the CPU completed.
- Average latency – the time taken per task.
- Total time – how long the test ran.
This is a quick way to check CPU performance and compare different Linux servers or setups.
When to Upgrade Your CPU
You might need a new CPU if:
- Your server is slow under heavy load.
- You have Virtual machines or containers that run poorly.
- You need more cores, hyperthreading, or faster speeds.
- Your software requires CPU features you don’t have.
Tips for Upgrading
- Benchmark your CPU to set a performance baseline.
- Match cores and threads to your expected workload.
- Monitor CPU usage with htop or top when running heavy workloads.
- Compare benchmarks and overall CPU usage after upgrading to your new CPU.