I recently moved my own Discourse from Digital Ocean to a colocated mini-PC I purchased from Ali Express. This is a good apples to apples of increasing CPU performance with the exact same Discourse instance.
Digital Ocean Droplet specs
- E5-2630L v2 (Ivy Bridge 2.4 - 2.8, 2 core)
- 2 GB RAM
- 40 GB disk (unknown SSD)
cost $20/month
AliExpress box specs
- i7-7500u (Kaby Lake 2.7 - 3.5, 2 core / 4 thread) — $400 on Ali Express
- 16 GB RAM — Crucial 16GB DDR3, $100
- 500 GB disk — Samsung 850 Evo SSD, $170
cost $700 plus colocation hosting fees ($29/month)
CPU benchmarks
sysbench --test=cpu --cpu-max-prime=20000 run
sysbench --test=cpu --cpu-max-prime=40000 --num-threads=8 run
35.6s vs 21.3s
41.9s vs 15.7s
(1.7x faster single core, 2.7x faster multiple core)
Disk benchmarks
ioping -RD -w 10 .
12.8k iops, 50.0 MiB/sec vs 13.6k iops, 53.2 MiB/sec
(roughly the same disk performance)
Discourse benchmarks
Before and after I did the move, I compared performance in three places:
- Topic back button (same topic)
- Topic refresh (same topic)
- Homepage refresh (latest)
I did this 10+ times in the same browser. Here are my results. Digital Ocean droplet on the left, Ali Express mini-pc on the right.
1.6x faster, 1.8x faster, 2x faster
As to the question in the topic title, Discourse scales more or less linearly with the CPU speed you throw at it. If you want a faster Discourse, have enough memory, sure, but you want the fastest possible single threaded performance.