Thus far the installation experience is about the same on Linode and Hetzner. Digital Ocean’s “One Click” Discourse installer isn’t very helpful in my opinion.
I haven’t needed any support from any of the three hosts (because I get such good help and support here in the forum.)
I’m mainly interested in comparing performance.
Thus far Hetzner is really snappy compared to the Linode and Digital Ocean.
I expected that since (as you can see) I’m getting 4 times the vCPUs and RAM on Hetzner (for essentially the same price.)
I’d be interested in others’ recent experiences for Discourse with these hosts.
I use contabo.com for my instances. Their dashboard is not as polished as some others and billing is monthly. Not ideal to spin up stuff on the fly, but great for long-running servers. Support is actually great, never got a meaningless support reply, always someone knowledgeable.
That sounds a bit similar action than one years tryout at AWS. When one has builded a system moving somewhere else is more demandind and expensive operation.
I installed Discourse and a backup of a medium-sized forum on an ARM and x86 servers from Hetzner this weekend.
ARM: 4 vCPU, 8GB RAM
x86: 3 vCPU, 4 GB RAM.
The rebuild time is longer on the ARM, and the mini profiler returns a longer time when loading pages. Not really convinced.
I could do another test on a higher plan (with a larger forum backup, but I’m not sure it will makes a difference), with these specs:
ARM: 8 vCPU, 16 GB RAM, 15$
x86: 4 vCPU, 8 GB RAM, 17$
I won’t do that today, as it takes some time and I have stuff to do, like working
Thanks for doing the experiment. At the low-cost end, the Hetzner offer is a lot more hardware for a similar amount of money. So, were the differences you saw significant? Also, it would be worth doing some kind of load test: twice the RAM and 33% more cores is likely to help. For some forums, being able to support many more users without significant slowdown would be compelling.
I didn’t go in-depth because it would have taken too much time, but I’d be interested if someone wants to make these experiments.
As for loading the main page as a logged-in user, the difference wasn’t negligible I’d say, but it was not a proper, reliable test. Just reload the page many times and take notes of the mini-profiler timer… To me, it was often between 200 and 300ms on x86 and way more often between 300 and 400ms on ARM.
Honestly, I wouldn’t advise relying on my tests, we need more robust measurements.
Although one could benchmark the responsiveness with casual use, I think the important differences will show up under load: there must be some multi-threaded crawling tool which can load-test a web server (in this case, a forum.) You’d need some realistically worst-case numbers of simultaneous sessions.
So I stayed with the Hetzner server and dropped Contabo for the higher RAM value and larger disk. I did notice a little more speed with EPYC (on the Contabo config) vs RYZEN (on the Hetzner config).
My question to the server geeks in here is what should be optimal settings in my app.yml (or other places) while I’m running 10 Discourse instances on the Hetzner server, all of which get no traffic? (I only use all of them only for development and testing at this point.)
Unicorn Workers?
Shared Buffers?
Anything else?
And if I want to install 10 more dev sites on the same server, would that change your settings recommendations (and if so, how?)
I’ve been with Hetzner for just over 9 years using dedicated servers and the price stays constant. There have been some increases where they unbundled the cost of IPv4 addresses but I understand the reasoning there and the change in price wasn’t huge.
I’ve stayed with them for 9 years because they do what they say on the tin and I’ve rarely had any problems.
@packman thanks for that info – that is reassuring. I think I got in just prior to a price increase earlier this year because my bill each month is lower than what is now listed for my plan.
There are often different products released which differ in price from what you pay. I once had two servers with identical model numbers that I was paying the same price for, but one had 64GB and the other 128GB RAM. They’d improved the spec at the same price. I guess I could have dropped the first server with less RAM but I was happy with the spec at the price when I ordered it so couldn’t really complain that I got a better deal for the second server.
Also, most (all?) servers are on 30 day contracts so if you want to drop one to get a better deal on a newer/different spec then it’s easy to do, although the server migration work will often mean you might not want to do that!