I saw the “minimum specs” to run a self-install of Ghost, but I’m curious what hosting service/server capacity do you use?
Any good nginx configurations to improve speed?
My NFP host is 1 CPU, 3 GB RAM, 30 GB SSD and I’m not really satisfied with the speed.
The top hosts I’ve seen are
- Digital Ocean (Ghost recommended)
- Linode (my personal choice)
- AWS EC2
The only difference the hosts have is the hosting admin panel (for managing your VPSes) - outside of it, you’re routinely running the same few commands (notably
sudo npm i -g ghost-cli@latest, and
ghost update) on basically the same OS (there might be a few minor tweaks each provider has to make your experience as painfree as possible) using the same exact command protocol (
What Linode package do you use and do you cache via a CDN to improve speed?
I don’t run a typical ghost setup, but I use the $10 plan (2GB RAM, 1 core, 30 GB SSD). In terms of CDN, yes I do - I have cloudflare in front of everything, followed by nginx (not caching or anything) proxying ghost-specific requests to varnish, which in turn proxies requests to the proper ghost instance.
I do know of a friend who uses the $5/mo plan (1GB, 1 core, 20 GB SSD) and doesn’t even use half the ram total (and space is ~5gb / 20 gb limit). In terms of CDN, he doesn’t use anything - just the vanilla ghost install.
I have a more complicated setup mostly so I can get a better understanding of each of the components (including maintaining their security), with the [relatively] minor performance improvements being an added bonus - I haven’t surpassed 10% CPU ever (okay, not ever… there was this one time I wrote a leaky node script ), and based on recent load testing I’ve performed, I’m nowhere near its limits!
What this boils down to is you should probably be okay using the $5 / month plan (feel free to DM me for a linode referral code if you want), and if you want to use cloudflare, it won’t hurt (just make sure you heed warnings in the docs!)
I’m using the cheapest tier on DigitalOcean (1 GB / 1 VCPU) and my blog just flies. I suspect I won’t need to upgrade without a significant amount more traffic.
Mine chokes on one hit to one post. UGH. Maybe I just need to change VPS providers.
Sorry to hear that… I definitely recommend you give DigitalOcean a go; the Ghost team uses it iirc and their hosts are dirt cheap… No complaints from me
You are correct, they migrated in mid 2015
If you want to look at other suppliers outside the US, I recently added www.ovh.com to my list of reasonable VPS hosting providers after a survey of hosting with LINX and Australian presence.
I’m just getting back into Ghost after a couple of years in the wild… on my 4G/1CPU/20G Ovh VPS with 4 teeny blog sites, load is < 0.00, mem use is about 750G, so far super fast delivery of witterings seems the order of the day.
PS They have a 50% off for 1 year in advance in Sydney if you want an out-of-hemisphere off-site.
I am using the server with 6GB RAM, 4vCPU, 30GB SSD, 10GBps Uplink
Mine chokes on one hit to one post.
This doesn’t sound right - at all.
Ghost by default is really quite lightweight at the moment. We’re building more complex features all the time and that will, by necessity, increase the amount of resources required, but at this point in time 1GB of RAM is recommended and that’s mainly to cope with installing dependencies during install/upgrade, not general traffic handling.
A couple of things to check:
Are you using the default theme?
The theme is the place where you as a user have the most ability to cause performance bottlenecks by accident, as it were.
Are you up-to-date?
We regularly test and make improvements to performance, so it should pay off to keep up-to-date. If your performance decreases significantly after an update, we’d want to know about it.
Yes, newest version— installed last week. Default theme. And the images have been compressed down significantly to see if any issues were related to that.
I also have it through CloudFlare to see if Name.com name servers were an issue (none of the hosting is through them, just the domain name is through them). I can’t figure out what’s wrong.
I’m running DigitalOcean droplets for most of my ghost blogs. My primary server is a 2 GB / $10 a month droplet with three separate sites installed. No complaints about performance!
I use digital ocean’s $10/mo plan with 2gb ram and 1vcpu with a 50gb disk. Good enough for me.
I also host a couple nodejs servers on the same server that run a mailer and a slack bot
We have a 4GB RAM, 2vCPU, 60GB SSD server from Vultr with 9 Ghost instances installed. Works great.
Here is a screenshot from last week with CPU usage. The spikes are only when I install a new Ghost instance.
@em_div I see your TTFB is widely varying - sometimes 6 seconds I’d recommend you open a different topic with your nginx config and any other useful info you can think of, would love to help you figure it out.
I’m running mine on Raspberry Pis as docker containers in a K8s cluster running in my home lab. Each Ghost instance has two pods, and I use an external HAProxy running on pfSense to point to the K8s Ingress. There’s a single pod running MariaDB that all the Ghost instances share. While that works, the performance can be a little sluggish, which is to be expected. I use AWS CloudFront as a public endpoint which takes care of the performance issue.
Each Ghost instance has two pods, and I use an external HAProxy running on pfSense to point to the K8s Ingress.
Ghost will not function correctly in a clustered/multi-server/load-balanced setup, there should only be a single Ghost instance per blog. We have a warning on https://docs.ghost.org/docs/install for a reason ;-)
Hmmm, I managed to miss that part. Easy enough to fix by changing the replicas to 1 in the deployment file. Thanks for the heads up!
2 ghost blogs on aws ec2 t2.micro + rds t2.micro + 20 small wp sites. No performance issues (also almost no traffic but you can generate some @ www.secareanu.ro), ghost is blazingly fast (gtmetrix 90%).