Measured performance.
Published runs.
For each provider, 5 identical Geekbench 6 runs were published, which included the median and p95 values for the CPU. For each of the 5 Geekbench runs, the disk, network, PostgreSQL, and HTTP load were measured using identical test methodology. A link to the Geekbench run for each test case is provided below.
- Geekbench multi
- 6,414 median, D-tier 2 vCPU
- 4K read IOPS
- 122,959 fio mixed 50/50
- Net throughput
- 17.1 Gbit iperf3 recv, AMS
Geekbench 6, median and p95
5 Geekbench 6 runs per provider on 2 vCPUs / 4 GB instances like for the comparison. From these runs median and p95 are derived. All runs where the best run for a provider happened are excluded from this analysis as we do not allow cherry-picking for this comparison.
| Provider | Single (median) | Single (p95) | Multi (median) | Multi (p95) |
|---|---|---|---|---|
| OVH | 1521.0 | 1543.4 | 4676.0 | 4798.6 |
| Vultr | 1094.0 | 1100.6 | 3332.0 | 3472.8 |
| DigitalOcean | 1155.0 | 1171.4 | 3666.0 | 3674.0 |
| BuyVPS | 2000.0 | 2008.4 | 6414.0 | 6439.2 |
BuyVPS records the highest median single-core and multi-core scores in this dataset. The pinned-core Dedicated CPU tier on EPYC Genoa is the variant tested here.
Geekbench 6, raw runs
Every individual run links to its public profile on browser.geekbench.com so you can verify single-core and multi-core scores, kernel, CPU info, memory layout and run timestamps independently.
4K random IOPS, fio mixed 50/50
4K random read and write IOPS for under-abundant, small (YABS) workload. Measured with fio. A YABS workload is typical for database workloads, for file systems and for workloads that generate a lot of small I/O. IOPS are an indicator for the tail latency of a storage system for constant workloads. The higher the IOPS, the lower the tail latency for the same amount of workload.
4K random read, median
| Provider | IOPS |
|---|---|
| OVH | 7,512 |
| Vultr | 82,924 |
| DigitalOcean | 89,834 |
| BuyVPS | 122,959 |
4K random write, median
| Provider | IOPS |
|---|---|
| OVH | 7,510 |
| Vultr | 70,725 |
| DigitalOcean | 55,346 |
| BuyVPS | 87,730 |
BuyVPS records the highest 4K random read and write IOPS in this dataset. NVMe RAID10 with direct PCIe paths underpins the result, see the NVMe VPS plans.
fio mixed throughput (YABS)
YABS fio mixed-workload results, showing total throughput per block size from small random I/O (4K) through mid-size I/O (64K) to large, sequential I/O (1M) to better understand storage scaling for various access patterns.
| Provider | 4K total | 64K total | 1M total |
|---|---|---|---|
| OVH | 60.16 MB/s | 305.72 MB/s | 602.45 MB/s |
| Vultr | 429.30 MB/s | 2.44 GB/s | 2.89 GB/s |
| DigitalOcean | 309.54 MB/s | 1.56 GB/s | 1.97 GB/s |
| BuyVPS | 693.84 MB/s | 7.33 GB/s | 17.62 GB/s |
iperf3 throughput & latency, IPv4
Some more measurements for send and receive throughput and for ICMP latency between the test VPS and an Amsterdam reference host on the 100G fabric. When there is plenty of bandwidth available performance of database replication, of video and of file transfers all improves as throughput increases, at extremely low latency.
| Provider | Send | Recv | Ping |
|---|---|---|---|
| OVH | 423 Mbit | 273 Mbit | 0.709 ms |
| Vultr | 2.04 Gbit | 1.14 Gbit | 1.30 ms |
| DigitalOcean | 2.00 Gbit | 16.5 Gbit | 1.42 ms |
| BuyVPS | 9.40 Gbit | 17.1 Gbit | 0.946 ms |
BuyVPS records the highest send throughput in the Amsterdam test and competitive latency. Regional context for both Amsterdam and New York deployments is documented separately.
PostgreSQL, pgbench transactions/sec
This graph measures pgbench TPS from a fully tuned PostgreSQL instance, running at the same scale factor, number of clients and warm up on all providers. The intersection of 3 variables (CPU-intensive parsing, memory-intensive joining, fsync-bound disk latency, inserting into a heavily buffered log or large write ahead log) is what creates high transaction throughput. If one of these variables suddenly becomes the 'bottleneck' (or weakest link), the TPS will then drop off sharply.
| Provider | Median TPS | p95 TPS |
|---|---|---|
| OVH | 1573.86 | 1605.08 |
| Vultr | 3782.29 | 3859.20 |
| DigitalOcean | 4359.84 | 4521.62 |
| BuyVPS | 7364.20 | 7492.12 |
wrk requests per second
This loadtest simply sends an HTTP load from a wrk (or other HTTP load testing tool) to a fixed reference handler (e.g. in another VM) at a constant number of connections for a constant duration for all providers. The number of connections in this test represents the total amount of work your application server is able to do, i.e. it can be CPU-bound, context-switching-bound or network egress-bound.
| Provider | Median req/sec | p95 req/sec |
|---|---|---|
| OVH | 62,444.80 | 65,786.63 |
| Vultr | 42,675.98 | 43,993.56 |
| DigitalOcean | 50,406.04 | 52,749.07 |
| BuyVPS | 83,956.50 | 84,427.41 |
Full median comparison
The 5 workloads per provider have been calculated and reduced down to medians for easier comparison and scanning for trade-offs. The highest median for each column has been highlighted.
| Provider | Single | Multi | 4K Read | 4K Write | pgbench TPS | wrk req/sec |
|---|---|---|---|---|---|---|
| OVH | 1521 | 4676 | 7,512 | 7,510 | 1573 | 62,444 |
| Vultr | 1094 | 3332 | 82,924 | 70,725 | 3782 | 42,675 |
| DigitalOcean | 1155 | 3666 | 89,834 | 55,346 | 4359 | 50,406 |
| BuyVPS | 2000 | 6414 | 122,959 | 87,730 | 7364 | 83,956 |
Five runs. Median and p95. No best-run bias.
One Instance shape per provider, same kernel, same workload. Each measurement run was done 5 times, and the median and 95th percentile of these 5 runs is published, not the best run. All charts and the CPU numbers can be verified by following the public Geekbench URLs.
- 5 Geekbench 6 runs per provider
- Median and p95 calculated, best-run excluded
- YABS fio mixed 50/50 for disk
- iperf3 multi-endpoint for network
- PostgreSQL pgbench, fixed scale & client count
- wrk HTTP load, fixed connections & duration
- Same instance shape & kernel per provider
- Run logs and public URLs retained
Note that the results shown here are very general and can vary greatly based on a number of factors including workload, region, and how nodes are allocated. These results can serve as a basis for comparison, but by no means guarantee any specific results.
Highest median across every category tested.
Under the documented test configuration BuyVPS gets the highest median value for the single-core as well as for the multi-core CPU test. In addition BuyVPS also reaches the highest values for 4K random read and write IOPS. Furthermore BuyVPS achieves the highest values for the tested application scenarios (PostgreSQL TPS and HTTP requests per second) in comparison to the other solutions. All the CPU runs can be verified by the public Geekbench profiles links.
What this configuration costs. The tested 2 vCPU / 4 GB Dedicated CPU instance is the D-4 plan. D-tier 4 GB starts at $29.60/mo on a 2-year term. If your workload fits the shared Standard tier instead, S-4 starts at $18.40/mo.
Questions readers ask about these benchmarks
Quick answers about scope, plan choice, reproducibility and cost. If something is missing, contact us.
Which BuyVPS plan was used in this benchmark?
The Dedicated CPU D-4 plan: 2 vCPU pinned cores on EPYC Genoa, 4 GB DDR5 ECC memory, 60 GB NVMe RAID10 storage on ext4, kernel 6.1, KVM virtualization, Amsterdam. That plan starts at $29.60/mo on a 2-year term. Larger D-tier sizes (8/16/32/64 GB) follow the same per-core architecture.
How can I reproduce these results myself?
Provision matching 2 vCPU / 4 GB instances at each provider, then run the same five test harnesses: Geekbench 6 CLI (five iterations), YABS fio mixed 50/50 (4K/64K/1M block sizes), iperf3 against an Amsterdam reference, pgbench against a tuned PostgreSQL instance with identical scale and client count, and wrk against a fixed HTTP handler. Median and p95 of the run set is what we publish, never the single best run.
Are the OVH, Vultr and DigitalOcean numbers from your own test runs?
Yes. All competitor results were produced on the same test rig, in the same Amsterdam region where each provider offers it, against the same harnesses. The 20 Geekbench 6 runs (five per provider) each link to their public profile on browser.geekbench.com so you can verify the underlying single-core, multi-core, kernel, CPU and memory data independently of this page.
Why does BuyVPS perform higher in these tests?
Three architecture choices show up in the numbers. First, the Dedicated CPU tier uses pinned EPYC Genoa cores instead of shared vCPU, so there is no noisy-neighbour contention during the run. Second, DDR5 ECC memory feeds those cores at higher bandwidth than the DDR4 generations the other providers used at this size. Third, local NVMe RAID10 with direct PCIe paths removes the SAN / network-storage round-trip that limits 4K IOPS elsewhere. The full architecture is documented on the features page.
Do these numbers apply to my workload?
Use them as comparable baselines, not as guarantees. CPU-bound APIs and databases see most of the Geekbench multi-core and pgbench gap. Small-file and database workloads benefit most from the 4K IOPS gap. Bandwidth-bound jobs (replication, video, large file transfer) follow the iperf3 numbers. If your workload mixes these, the use case guide maps requirements to a plan.
What does "median and p95" mean and why no best-run number?
The "Median" figure is the middle number from the 5 individual runs. The "p95" figure is the better tail of performance. So instead of reporting the best single run after re-running until desired performance is achieved by any service provider, we report the median + p95 of the 5 runs. This provides a better sense of the sustained performance as opposed to a single great run.
Why is OVH's 4K IOPS so much lower than the others?
The OVH instance in this comparison ran on a storage class with significantly lower 4K performance than the NVMe-backed instances used at Vultr, DigitalOcean and BuyVPS. The number reflects what the provisioned plan actually delivered, not OVH's top-tier offering. We report what we measure on the plans we provisioned.
Where can I deploy a BuyVPS at this performance?
The same Dedicated CPU tier deploys in Amsterdam and New York. The CPU, memory and storage architecture is identical between regions; network throughput and latency vary based on local routing. The headline numbers on this page were measured in Amsterdam; the locations overview documents what is available where.