Use a page caching plugin that writes HTML files to disk. I don’t do a lot with WordPress any more, but my preferred one was WP Super Cache. Then, you need to configure Nginx to serve pages directly from disk if they exist. By doing this, page loads don’t need to hit PHP and you effectively get the same performance as if it were a static site.
See how you go with just that, with no other changes. You shouldn’t need FastCGI caching. If you can get most page loads hitting static HTML files, you likely won’t need any other optimizations.
One issue you’ll hit is if there’s any highly dynamic content on the page. You’ll need to use JavaScript to load any dynamic bits.
goldensw@lemmy.dbzer0.com 15 hours ago
Sorry for the late reply. We are using an older Hetzner with i7 6700, 64 gb and 500 GB SATA SSD. It’s quite ancient by modern standards and it is starting to show its age in some usecases. I am well aware the new machine is way too powerful for our current context but unfortunately the site is very old so it amassed a huge library of media of over 300gb over many years. If we plan to store it locally, we could probably compress it aggresively to free a few dozen GB, but to be fair it would only delay the inevitable upgrade. Clearly, an alternative would be some sort of media offloading with premium WordPress plugins to ensure robustness and regular updates, but that introduces complexity, so it’s something I will need to discuss with our developer.
But let’s say we do choose this very powerful server, you mentioned loading from the disk, but wouldn’t loading from RAM (given the excessive amount of RAM for this usecase) be preferable whenever available?
dan@upvote.au 5 hours ago
Since you’re using Hetzner, one option is to get a Hetzner storage box to store the media. 1TB space is $4/month (not sure about EU pricing).
On-disk cache prevents a “thundering herd” problem when you reboot - an in-memory cache would be empty on rebootz whereas an on-disk cache survives a reboot. Linux handles caching files in RAM automatically.