What size server do you all use?

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

1 Like

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 :confused: 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 :wink:

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! :slight_smile:

2 ghost blogs on aws ec2 t2.micro + rds t2.micro + 20 small wp sites. No performance issues (also almost no traffic :slight_smile: but you can generate some @ www.secareanu.ro), ghost is blazingly fast (gtmetrix 90%).

Hello @em_div,

It depends on your daily load. I run Ghost on Raspberry Pi 3+ and it’s enough for a little blog without a big audience.
It’s cheap if you want to test in dev environnement or with little audience.

I use V2 from https://www.websupport.sk/en/virtual-server for personal blog with 4k posts and works very well :wink:
2x vCPU, 1GB RAM, 25 GB SSD

For Ghost integrated with a NodeBB forum, a 2GB RAM VPS at Linode is working well.

UPDATE—- I left my VPS at NFP and moved to Vultr. Super fast. I guess it was just their service.

Even the $5/month Vultr plan is way fast enough. Thanks everyone for your feedback and support to get an idea of what I need.

What’s the reason behind this and what would stop it from working properly?

Ghost has a number of in-memory caches to avoid constantly making DB roundtrips. If you make a change on one instance then only that instance that will have fired and responded to events to refresh the necessary caches, so you’ve now got different state across the cluster.

There are rough ideas to allow replacing the in-memory caches with a different data stores such as redis that could be used in a clustered scenario to keep all instances in sync. I can’t speak to any timing relating to that work however, it’s just an idea that’s been mentioned so far rather than anything that’s been properly planned.

If it’s something you need maybe open a topic for cluster support in the Ideas/wishlist category?

Thanks for the quick response. Definitely good info to know. I’ll toss something up in the Ideas category.

how about f1-micro on google compute engine (0.60GB of RAM) ?

600MB should be more than enough to run most Ghost blogs, the main problem you will have is yarn using way more than that to install dependencies. If you can add swap or you’re using pre-built images with deps already there then the install side of things should be ok.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.