So, here is some benchmarking.
I have used free plan of nice online tool https://loader.io/
I tested one page, it is static and almost empty. Obviously, results may vary on different pages and projects.
All tests last 1 minute.
Also, I didn’t make memos on the way (silly, I know), so maybe I mistaken in details.
From 0 to 1000 clients.
(1) 6 cpu 6 ram. Plesk. Without any scaling.
As you see it is ok up to 600 clients, but then absolutely fails.
Number of CPUs doesn’t effect much.
Further - only Docker setup.
(2) 1 cpu 2 ram. No replica.
No errors, but loading speed not good: 1800 ms at finish.
(3) 1 cpu 2 ram. 4 replicas.
Seems like without additional CPU it only make worse.
(4) 2 cpu 2 ram. 4 replicas.
Loading speed increased twice. Now it 1000 ms at finish.
(5) 4 cpu 2 ram. 4 replicas.
Twice faster, 550 ms at 1000 clients
From 0 to 2000 clients.
(6) The same setup, just for 2000 clients.
1000 ms, no errors.
(7) 8 cpu 2 ram. 6 replicas.
600 ms at finish.
(8) But what if we set 0 replicas?
It shows no errors, but obviously works slower. 2000 ms
(9) And what if we set 16 replicas?
Turns out, it not differs from 6 replicas, as our cpu is still at 8.
(10) 8 cpu 4 ram. 6 replicas.
Almost the same as 2 ram.
(11) 8 cpu 6 ram. 6 replicas.
Look the same.
(12) But how about 0 - 10000 clients?!
It became very slow, but holding.
So, my personal summary about this synthetic testing.
- If you don’t intend to tweak your Plesk, better don’t use it for production. Though with cheap VPS Docker setup will be slower, but at least it lasts longer before total break.
- It doesn’t make sense to increase replicas if you don’t have enough CPUs.
- If you increase CPU and number of replicas, loading speed would increase almost at the same proportion. (at least if we talking about from 1 to 8 cpu)
- Increasing CPUs without additional replicas gives just a little boost.
- In this particular synthetic case increasing RAM doesn’t make an impact.
I understand that it is obvious conclusion for most developers, but it turns out useful for me and it may help someone too.